Staff.js 3.1 KB

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