Staff.js 2.4 KB

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