From ac773fc1d31e0e37a58c8d2f672ef467b1b2ea8c Mon Sep 17 00:00:00 2001 From: Abin Date: Thu, 15 Jan 2026 19:33:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=85=A5=E8=B5=84=E6=96=99=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Api/api.js | 21 +++++ pages/ChangeUserInfo/ChangeUserInfo.js | 85 +++++++++++++------ .../IndexNewCourseDetails.wxml | 8 +- .../IndexNewCourseDetails.wxss | 45 ++++++++-- pages/wode/wode.js | 1 + pages/wode/wode.wxml | 2 +- 6 files changed, 122 insertions(+), 40 deletions(-) diff --git a/Api/api.js b/Api/api.js index ad6b0f2..0ee0ffe 100644 --- a/Api/api.js +++ b/Api/api.js @@ -189,6 +189,26 @@ function ApiLogin(openid,username) { } +function ApiChangeInfo(openid,username,headiconID) { + return new Promise((resolve, reject) => { + wx.request({ + url: baseurl+'/API/ApiChangeInfo.php', + method: 'GET', // 或 'POST' + data: { + openid: openid, + username: username, + headiconID: headiconID, + }, + success: res => { + resolve(res.data); // 将获取的结果通过Promise的resolve传递 + }, + fail: err => { + reject(err); // 如果请求失败,传递错误给Promise的reject + } + }); + }); + +} function ApiPasswordCodeValidate(openid, passwordcode) { return new Promise((resolve, reject) => { @@ -415,6 +435,7 @@ function ApiGetTips() { ApiGetUserCourseDataFromDB, ApiLogin, ApiLogout, + ApiChangeInfo, ApiGetCourseData, ApiGetFreeCourseData, ApiPasswordCodeValidate, diff --git a/pages/ChangeUserInfo/ChangeUserInfo.js b/pages/ChangeUserInfo/ChangeUserInfo.js index b03971b..007b89a 100644 --- a/pages/ChangeUserInfo/ChangeUserInfo.js +++ b/pages/ChangeUserInfo/ChangeUserInfo.js @@ -1,4 +1,6 @@ // pages/ChangeUserInfo/ChangeUserInfo.js +const MyApi = require('../../Api/api.js') + Page({ /** @@ -13,11 +15,19 @@ Page({ }, onChange(event) { + let inputVal = event.detail; + // 第一步:只保留中英文和数字(移除所有其他字符) + inputVal = inputVal.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, ''); + // 第二步:如果以数字开头,则去掉开头的数字(直到遇到非数字) + inputVal = inputVal.replace(/^[0-9]+/, ''); + // 第三步:截取前8个字符 + inputVal = inputVal.substring(0, 8); + this.setData({ - username: event.detail, + username: inputVal }); - console.log("用户名将被修改为:"+this.data.username); }, + selectHeadicon(event) { this.setData({ HeadiconID: event.currentTarget.dataset.index, @@ -41,10 +51,52 @@ Page({ confirmColor: '#ff0000', // 确认按钮的文字颜色,默认是"#3CC51F" success:(res)=> { if (res.confirm) { - // 用户点击了确认按钮 - // 调用函数datachange - //this.datachange() - + // 用户点击了确认按钮,发起修改接口 + MyApi.ApiChangeInfo(wx.getStorageSync('UserInfoCache').user_openid, this.data.username, this.data.HeadiconID) + .then(result1 => { + //打印服务器返回数据 + //console.log(result1); + if (result1.result==="success") { + //这里修改缓存 + var tempuesrinfo=wx.getStorageSync('UserInfoCache') + tempuesrinfo.UserName= this.data.username + tempuesrinfo.HeadiconID= this.data.HeadiconID + wx.setStorageSync('UserInfoCache', tempuesrinfo) + + + wx.showToast({ + title: '成功!', + icon: 'success', + mask:true, + duration: 2000 + }); + + setTimeout(function() { + wx.hideToast(); + wx.switchTab({ + url: '/pages/wode/wode', + }) + },2000); + + } else { + wx.showToast({ + title: '失败!', + icon: 'error', + mask:true, + duration: 2000 + }); + } + + + + + + + }) + .catch(err => { + }); + + } else if (res.cancel) { // 用户点击了取消按钮 } @@ -86,25 +138,4 @@ Page({ onUnload() { }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh() { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom() { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage() { - - } }) \ No newline at end of file diff --git a/pages/IndexNewCourseDetails/IndexNewCourseDetails.wxml b/pages/IndexNewCourseDetails/IndexNewCourseDetails.wxml index 4b7c574..d306a62 100644 --- a/pages/IndexNewCourseDetails/IndexNewCourseDetails.wxml +++ b/pages/IndexNewCourseDetails/IndexNewCourseDetails.wxml @@ -2,7 +2,9 @@ 加载中... - + + + diff --git a/pages/IndexNewCourseDetails/IndexNewCourseDetails.wxss b/pages/IndexNewCourseDetails/IndexNewCourseDetails.wxss index ed86e4f..f06a44e 100644 --- a/pages/IndexNewCourseDetails/IndexNewCourseDetails.wxss +++ b/pages/IndexNewCourseDetails/IndexNewCourseDetails.wxss @@ -1,19 +1,46 @@ /* pages/IndexNewCourseDetails/IndexNewCourseDetails.wxss */ +@keyframes breathe { + 0%, 100% { + transform: scale(1); + } + 50% { + transform: scale(0.95); + } +} + .fixed-btn-wrapper { position: fixed; - left: 20rpx; - right: 20rpx; - bottom: 40rpx; - border-radius: 50rpx; - overflow: hidden; + left: 0; + right: 0; + bottom: 60rpx; + padding: 0 20rpx; /* 调整为左右边距 */ + display: flex; + justify-content: center; /* 水平居中 */ z-index: 999; } -.DianJiXiangQing1 { + +.btn-group { + display: flex; width: 100%; + max-width: 700rpx; + justify-content: space-between; +} + +.DianJiXiangQing1 { + flex: 1; background-color: #4CAF50; color: white; border: none; - border-radius: 0; /* 内部 button 不需要圆角 */ - height: 100rpx; - line-height: 80rpx; + margin: 0 10rpx; + border-radius: 45rpx; + height: 90rpx; + display: flex; + justify-content: center; + align-items: center; + + animation: breathe 1s linear infinite; +} + +.DianJiXiangQing2 { + font-size: 30rpx; } \ No newline at end of file diff --git a/pages/wode/wode.js b/pages/wode/wode.js index 5a20d3b..77df368 100644 --- a/pages/wode/wode.js +++ b/pages/wode/wode.js @@ -26,6 +26,7 @@ Page({ text3: wx.getStorageSync('Config')[8].value, text4: wx.getStorageSync('Config')[9].value, text5: wx.getStorageSync('Config')[10].value, + text6: wx.getStorageSync('Config')[12].value, CodeURL:getApp().globalData.BaseURL + "/Images/WXCode/"+wx.getStorageSync('Config')[5].value+".png", }, showdialog() { diff --git a/pages/wode/wode.wxml b/pages/wode/wode.wxml index 1067f26..7bd610e 100644 --- a/pages/wode/wode.wxml +++ b/pages/wode/wode.wxml @@ -1,7 +1,7 @@ - 长按图片识别 + {{text6}}