Staff.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. Page({
  2. data: {
  3. isLogin: false, // 登录状态
  4. userInfo: {}, // 存储用户信息(头像、昵称、用户名、密码)
  5. isHidden: true, // 登录弹窗状态
  6. },
  7. // 页面加载时获取缓存的昵称、头像、用户名、密码
  8. onLoad() {
  9. this.loadUserInfo(); // 调用加载用户信息的方法
  10. },
  11. // 页面显示时确保用户信息刷新
  12. onShow() {
  13. this.loadUserInfo(); // 每次进入页面时刷新用户信息
  14. if (typeof this.getTabBar === 'function' && this.getTabBar()) {
  15. this.getTabBar().setData({
  16. });
  17. }
  18. // 隐藏返回首页按钮
  19. if (wx.canIUse('hideHomeButton')) {
  20. wx.hideHomeButton();
  21. }
  22. },
  23. // 加载用户信息并更新页面
  24. loadUserInfo() {
  25. const storedUserInfo = wx.getStorageSync('userInfo'); // 获取缓存中的用户信息
  26. if (storedUserInfo) {
  27. // 如果缓存中有用户信息,更新页面上的数据
  28. this.setData({
  29. userInfo: storedUserInfo, // 更新用户信息
  30. isLogin: true, // 设置登录状态为 true
  31. });
  32. }
  33. },
  34. // 获取用户头像
  35. getAvatar(e) {
  36. const avatarUrl = e.detail.avatarUrl;
  37. this.setData({
  38. 'userInfo.avatarUrl': avatarUrl
  39. });
  40. // 保存头像到缓存
  41. let userInfo = wx.getStorageSync('userInfo') || {};
  42. userInfo.avatarUrl = avatarUrl;
  43. wx.setStorageSync('userInfo', userInfo);
  44. },
  45. // 获取用户昵称
  46. getName(e) {
  47. const nickName = e.detail.value;
  48. this.setData({
  49. 'userInfo.nickName': nickName
  50. });
  51. // 保存昵称到缓存
  52. let userInfo = wx.getStorageSync('userInfo') || {};
  53. userInfo.nickName = nickName;
  54. wx.setStorageSync('userInfo', userInfo);
  55. },
  56. // 显示登录弹窗
  57. goLogin() {
  58. this.setData({
  59. isHidden: false
  60. });
  61. },
  62. // 编辑个人资料
  63. EditProfile() {
  64. wx.navigateTo({
  65. url: '/shoping/EditProfile/EditProfile'
  66. });
  67. },
  68. // 取消登录弹窗
  69. potNo() {
  70. this.setData({
  71. isHidden: true
  72. });
  73. },
  74. // 确认登录弹窗
  75. popYes() {
  76. const { avatarUrl, nickName, username, password } = this.data.userInfo;
  77. if (!avatarUrl || !nickName || !username || !password) {
  78. wx.showToast({
  79. icon: 'error',
  80. title: '请填写头像、昵称、用户名和密码',
  81. });
  82. return;
  83. }
  84. // 保存头像、昵称、用户名和密码到缓存
  85. wx.setStorageSync('userInfo', this.data.userInfo);
  86. this.setData({
  87. isLogin: true, // 设置登录状态为 true
  88. isHidden: true, // 隐藏弹窗
  89. });
  90. },
  91. // 跳转到阈值页面
  92. goToThreshold() {
  93. wx.navigateTo({
  94. url: '/pages/threshold/threshold'
  95. });
  96. },
  97. // 点击退出登录
  98. tuichu() {
  99. // 清除缓存
  100. wx.clearStorageSync();
  101. // 重置登录状态
  102. this.setData({
  103. isLogin: false,
  104. userInfo: {}
  105. });
  106. // 跳转到登录页面
  107. wx.reLaunch({
  108. url: '/pages/admin/admin' // 登录页面的路径
  109. });
  110. }
  111. });