Page({ data: { isLogin: false, // 登录状态 isHidden: true, // 弹窗状态 avatarUrl: '', // 用户头像 nickName: '', // 用户昵称 username: '', // 用户名(用户名密码登录) password: '', // 密码(用户名密码登录) errorMessage: '', // 错误信息 }, // 获取用户头像 getAvatar(e) { const avatarUrl = e.detail.avatarUrl; // 从事件中获取头像URL if (avatarUrl) { this.setData({ avatarUrl: avatarUrl }); // 创建userInfo对象,保存头像、昵称、用户名和密码到缓存 let userInfo = { avatarUrl: avatarUrl, nickName: this.data.nickName, username: this.data.username, // 保存用户名 password: this.data.password // 保存密码 }; wx.setStorageSync('userInfo', userInfo); // 保存到缓存 } else { wx.showToast({ title: '头像获取失败', icon: 'error', duration: 2000 }); } }, // 获取用户昵称 getName(e) { const nickName = e.detail.value; // 获取昵称 this.setData({ nickName: nickName }); // 更新缓存中的昵称 let userInfo = wx.getStorageSync('userInfo') || {}; userInfo.nickName = nickName; wx.setStorageSync('userInfo', userInfo); // 更新缓存 }, // 显示登录弹窗 gologin() { this.setData({ isHidden: false }); }, // 取消登录弹窗 potNo() { this.setData({ isHidden: true }); }, // 确认登录弹窗 popYes() { const { avatarUrl, nickName, username, password } = this.data; // 检查头像、昵称、用户名和密码是否存在 if ((!avatarUrl || !nickName) && (!username || !password)) { wx.showToast({ icon: 'error', title: '请获取头像、昵称、用户名和密码', }); return; } // 如果头像和昵称存在,保存到缓存 if (avatarUrl && nickName) { this.setData({ isLogin: true, isHidden: true, }); // 创建/更新 userInfo 对象并存储到缓存 let userInfo = { avatarUrl: avatarUrl, nickName: nickName, username: this.data.username, // 保存用户名 password: this.data.password, // 保存密码 }; wx.setStorageSync('userInfo', userInfo); // 更新缓存 // 登录成功后跳转到指定页面 wx.navigateTo({ url: '/pages/RoleSelectionPage/RoleSelectionPage', }); return; } // 检查用户名和密码是否一致登录 const storedUserInfo = wx.getStorageSync('userInfo'); if (storedUserInfo) { const storedUsername = storedUserInfo.username; const storedPassword = storedUserInfo.password; // 验证用户名和密码 if (username === storedUsername && password === storedPassword) { wx.showToast({ title: '登录成功', icon: 'success', duration: 2000 }); this.setData({ isLogin: true, errorMessage: '', }); // 登录成功后跳转到指定页面 wx.navigateTo({ url: '/pages/RoleSelectionPage/RoleSelectionPage', }); } else { this.setData({ errorMessage: '用户名或密码错误' }); wx.showToast({ title: '用户名或密码错误', icon: 'none', duration: 2000 }); } } }, Register() { wx.navigateTo({ url: '/pages/Register/Register', }); }, // 用户名密码登录 inputUsername(e) { this.setData({ username: e.detail.value }); }, inputPassword(e) { this.setData({ password: e.detail.value }); }, // 登录验证 login() { const { username, password } = this.data; // 获取缓存的用户信息 const storedUserInfo = wx.getStorageSync('userInfo'); // 检查用户信息是否存在 if (!storedUserInfo) { this.setData({ errorMessage: '没有找到用户信息,请先注册' }); return; } const storedUsername = storedUserInfo.username; const storedPassword = storedUserInfo.password; // 检查用户名和密码是否为空 if (!username || !password) { this.setData({ errorMessage: '用户名和密码不能为空' }); return; } wx.showLoading({ title: '登录中...' }); setTimeout(() => { wx.hideLoading(); // 验证输入的用户名和密码与缓存中的是否一致 if (username === storedUsername && password === storedPassword) { wx.showToast({ title: '登录成功', icon: 'success', duration: 2000 }); this.setData({ isLogin: true, errorMessage: '', }); // 登录成功后跳转到指定页面 wx.navigateTo({ url: '/pages/RoleSelectionPage/RoleSelectionPage', }); } else { this.setData({ errorMessage: '用户名或密码错误' }); wx.showToast({ title: '用户名或密码错误', icon: 'none', duration: 2000 }); } }, 1500); }, // 页面加载时,检查是否有缓存的用户信息 onLoad() { const storedUserInfo = wx.getStorageSync('userInfo'); // 如果有缓存的用户信息,自动填充头像、昵称、用户名和密码 if (storedUserInfo) { this.setData({ avatarUrl: storedUserInfo.avatarUrl || '/assets/taddar/授权管理.png', // 默认头像 nickName: storedUserInfo.nickName || '未登录', // 默认昵称 username: storedUserInfo.username || '', // 默认用户名 password: storedUserInfo.password || '', // 默认密码 isLogin: true, // 设置已登录状态 }); } // 如果没有设置头像,使用默认头像 if (!this.data.avatarUrl) { this.setData({ avatarUrl: '/assets/taddar/授权管理.png' // 默认头像 }); } // 获取存储的用户角色 const storedUserRole = wx.getStorageSync('userRole'); // 获取缓存中的用户角色 // 根据角色跳转页面 if (storedUserRole) { if (storedUserRole === 'admin') { // 如果是管理员,跳转到管理员页面 wx.reLaunch({ url: '/pages/threshold/threshold', // 管理员页面路径 }); } else if (storedUserRole === 'regular') { // 如果是普通用户,跳转到普通用户页面 wx.reLaunch({ url: '/shoping/Home/Home', // 普通用户页面路径 }); } } } });