|
|
Page({ data: { // 用户信息
avatarUrl: '', userInfo: { nickName: '', userId: '', isVerified: false }, // 弹窗状态
showFeedbackModal: false, showNicknameModal: false, showToast: false, // 反馈相关
feedbackContent: '', canSubmit: false, isSubmitting: false, // 编辑相关
newNickname: '', // 提示信息
toastText: '' },
onLoad() { this.loadUserInfo(); },
onShow() { },
// 加载用户信息
loadUserInfo() { // 从缓存获取用户信息
const userInfo = wx.getStorageSync('userInfo'); const avatarUrl = wx.getStorageSync('avatarUrl'); if (userInfo) { this.setData({ userInfo, avatarUrl }); } else { // 首次使用,生成默认用户信息
const defaultUserInfo = { nickName: '微信用户', isVerified: false }; wx.setStorageSync('userInfo', defaultUserInfo); this.setData({ userInfo: defaultUserInfo }); } },
// 选择头像
onChooseAvatar(e) { const { avatarUrl } = e.detail; // 显示加载
wx.showLoading({ title: '更新中...', mask: true }); // 模拟上传过程
setTimeout(() => { this.setData({ avatarUrl }); // 保存到缓存
wx.setStorageSync('avatarUrl', avatarUrl); wx.hideLoading(); this.showToast('头像更新成功'); }, 800); },
// 编辑昵称
editNickname() { this.setData({ showNicknameModal: true, newNickname: this.data.userInfo.nickName }); },
hideNicknameModal() { this.setData({ showNicknameModal: false }); },
onNicknameInput(e) { this.setData({ newNickname: e.detail.value }); },
saveNickname() { const newNickname = this.data.newNickname.trim(); if (!newNickname) { this.showToast('昵称不能为空'); return; } if (newNickname.length > 20) { this.showToast('昵称不能超过20个字符'); return; } // 更新用户信息
const updatedUserInfo = { ...this.data.userInfo, nickName: newNickname }; this.setData({ userInfo: updatedUserInfo, showNicknameModal: false }); // 保存到缓存
wx.setStorageSync('userInfo', updatedUserInfo); this.showToast('昵称修改成功'); },
// 查看问诊消息
goToConsultation() { wx.navigateTo({ url: '' }); },
// 查看问答消息
goToQA() { wx.navigateTo({ url: '' }); },
// 实名认证
goToAuth() { if (this.data.userInfo.isVerified) { this.showToast('您已完成实名认证'); return; } wx.navigateTo({ url: '/pages/auth/realname' }); },
// 显示反馈弹窗
showFeedback() { this.setData({ showFeedbackModal: true, feedbackContent: '', canSubmit: false, isSubmitting: false }); },
hideFeedback() { this.setData({ showFeedbackModal: false }); },
// 反馈内容输入
onFeedbackInput(e) { const content = e.detail.value; const canSubmit = content.trim().length > 0; this.setData({ feedbackContent: content, canSubmit }); },
// 提交反馈
submitFeedback() { if (!this.data.canSubmit || this.data.isSubmitting) return; const content = this.data.feedbackContent.trim(); if (content.length < 5) { this.showToast('请填写详细的反馈内容'); return; } this.setData({ isSubmitting: true }); // 模拟提交到服务器
setTimeout(() => { console.log('提交反馈:', content); this.setData({ isSubmitting: false, showFeedbackModal: false }); this.showToast('感谢您的反馈!'); // 这里应该是实际的API调用
// wx.request({
// url: 'https://your-api.com/feedback',
// method: 'POST',
// data: { content },
// success: (res) => {
// this.showToast('提交成功');
// },
// complete: () => {
// this.setData({
// isSubmitting: false,
// showFeedbackModal: false
// });
// }
// });
}, 1500); },
// 关于我们
goToAbout() { wx.navigateTo({ url: '/pages/about/index' }); },
// 设置
goToSettings() { wx.navigateTo({ url: '/pages/settings/index' }); },
// 显示提示
showToast(text) { this.setData({ toastText: text, showToast: true }); setTimeout(() => { this.setData({ showToast: false }); }, 2000); },
// 下拉刷新
onPullDownRefresh() { this.loadUserInfo(); this.checkUnreadMessages(); setTimeout(() => { wx.stopPullDownRefresh(); this.showToast('刷新成功'); }, 1000); },
// 分享
onShareAppMessage() { return { title: '健康守护 - 您的个人健康中心', path: '/pages/personal-center/index' }; }});
|