Page({ data: { isLogin: false, // 登录状态 userInfo: {}, // 存储用户信息(头像、昵称、用户名、密码) selected: 3, // 底部导航栏选中的 tab isHidden: true, // 登录弹窗状态 }, // 页面加载时获取缓存的昵称、头像、用户名、密码 onLoad() { this.loadUserInfo(); // 调用加载用户信息的方法 }, // 页面显示时确保用户信息刷新 onShow() { this.loadUserInfo(); // 每次进入页面时刷新用户信息 if (typeof this.getTabBar === 'function' && this.getTabBar()) { this.getTabBar().setData({ selected: 3 // 设置当前tab为选中状态 }); } // 隐藏返回首页按钮 if (wx.canIUse('hideHomeButton')) { wx.hideHomeButton(); } }, // 加载用户信息并更新页面 loadUserInfo() { const storedUserInfo = wx.getStorageSync('userInfo'); // 获取缓存中的用户信息 if (storedUserInfo) { // 如果缓存中有用户信息,更新页面上的数据 this.setData({ userInfo: storedUserInfo, // 更新用户信息 isLogin: true, // 设置登录状态为 true }); } }, // 获取用户头像 getAvatar(e) { const avatarUrl = e.detail.avatarUrl; this.setData({ 'userInfo.avatarUrl': avatarUrl }); // 保存头像到缓存 let userInfo = wx.getStorageSync('userInfo') || {}; userInfo.avatarUrl = avatarUrl; wx.setStorageSync('userInfo', userInfo); }, // 获取用户昵称 getName(e) { const nickName = e.detail.value; this.setData({ 'userInfo.nickName': nickName }); // 保存昵称到缓存 let userInfo = wx.getStorageSync('userInfo') || {}; userInfo.nickName = nickName; wx.setStorageSync('userInfo', userInfo); }, // 显示登录弹窗 goLogin() { this.setData({ isHidden: false }); }, // 编辑个人资料 EditProfile() { wx.navigateTo({ url: '/shoping/EditProfile/EditProfile' }); }, // 取消登录弹窗 potNo() { this.setData({ isHidden: true }); }, // 确认登录弹窗 popYes() { const { avatarUrl, nickName, username, password } = this.data.userInfo; if (!avatarUrl || !nickName || !username || !password) { wx.showToast({ icon: 'error', title: '请填写头像、昵称、用户名和密码', }); return; } // 保存头像、昵称、用户名和密码到缓存 wx.setStorageSync('userInfo', this.data.userInfo); this.setData({ isLogin: true, // 设置登录状态为 true isHidden: true, // 隐藏弹窗 }); }, // 跳转到阈值页面 goToThreshold() { wx.navigateTo({ url: '/pages/threshold/threshold' }); }, // 点击退出登录 tuichu() { // 清除缓存 wx.clearStorageSync(); // 重置登录状态 this.setData({ isLogin: false, userInfo: {} }); // 跳转到登录页面 wx.reLaunch({ url: '/pages/admin/admin' // 登录页面的路径 }); } });