// pages/settings/settings.js const userUtil = require('../../utils/user'); const userApi = require('../../api/user'); Page({ data: { userInfo: null, saving: false }, onLoad() { this.loadUserInfo(); }, // 加载用户信息 loadUserInfo() { const userInfo = userUtil.getUserInfo(); this.setData({ userInfo }); }, // 昵称输入 onNicknameInput(e) { this.setData({ 'userInfo.nickname': e.detail.value }); }, // 头像URL输入 onAvatarUrlInput(e) { this.setData({ 'userInfo.avatarUrl': e.detail.value }); }, // 保存用户信息 async saveUserInfo() { if (this.data.saving) return; const { userInfo } = this.data; if (!userInfo || !userInfo.userId) { wx.showToast({ title: '用户信息不存在', icon: 'none' }); return; } this.setData({ saving: true }); try { const updateData = { nickname: userInfo.nickname || '', avatarUrl: userInfo.avatarUrl || '' }; await userApi.updateCurrentUserInfo(updateData); // 更新本地存储的用户信息 const token = wx.getStorageSync('token'); const updatedUserInfo = { ...userInfo, ...updateData }; userUtil.saveUserInfo(updatedUserInfo, token); wx.showToast({ title: '保存成功', icon: 'success' }); // 延迟返回上一页 setTimeout(() => { wx.navigateBack(); }, 1500); } catch (error) { wx.showToast({ title: error || '保存失败', icon: 'none' }); } finally { this.setData({ saving: false }); } } });