Staff.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. Page({
  2. data: {
  3. isLogin: false, // 登录状态
  4. userInfo: {}, // 存储用户信息(头像和昵称)
  5. },
  6. // 页面加载时获取缓存的昵称和头像
  7. onLoad() {
  8. const storedUserInfo = wx.getStorageSync('userinfo'); // 获取缓存中的用户信息
  9. if (storedUserInfo) {
  10. // 如果缓存中有用户信息,更新页面上的数据
  11. this.setData({
  12. userInfo: storedUserInfo, // 更新用户信息
  13. isLogin: true, // 设置登录状态为 true
  14. });
  15. }
  16. },
  17. // 获取用户头像
  18. getAvatar(e) {
  19. const avatarUrl = e.detail.avatarUrl;
  20. this.setData({
  21. 'userInfo.avatarUrl': avatarUrl
  22. });
  23. // 保存头像到缓存
  24. let userInfo = wx.getStorageSync('userinfo') || {};
  25. userInfo.avatarUrl = avatarUrl;
  26. wx.setStorageSync('userinfo', userInfo);
  27. },
  28. // 获取用户昵称
  29. getName(e) {
  30. const nickName = e.detail.value;
  31. this.setData({
  32. 'userInfo.nickName': nickName
  33. });
  34. // 保存昵称到缓存
  35. let userInfo = wx.getStorageSync('userinfo') || {};
  36. userInfo.nickName = nickName;
  37. wx.setStorageSync('userinfo', userInfo);
  38. },
  39. // 显示登录弹窗
  40. gologin() {
  41. this.setData({
  42. isHidden: false
  43. });
  44. },
  45. // 取消登录弹窗
  46. potNo() {
  47. this.setData({
  48. isHidden: true
  49. });
  50. },
  51. // 确认登录弹窗
  52. popYes() {
  53. const { avatarUrl, nickName } = this.data.userInfo;
  54. if (!avatarUrl || !nickName) {
  55. wx.showToast({
  56. icon: 'error',
  57. title: '请获取头像和昵称',
  58. });
  59. return;
  60. }
  61. // 保存头像和昵称到缓存
  62. wx.setStorageSync('userinfo', this.data.userInfo);
  63. this.setData({
  64. isLogin: true, // 设置登录状态为 true
  65. isHidden: true, // 隐藏弹窗
  66. });
  67. },
  68. // 退出登录
  69. tuichu() {
  70. this.setData({
  71. isLogin: false, // 设置登录状态为 false
  72. userInfo: {}, // 清除用户信息
  73. });
  74. // 清除缓存中的用户信息
  75. wx.removeStorageSync('userinfo');
  76. // 跳转到 "pages/b/b" 页面
  77. wx.navigateTo({
  78. url: '/pages/b/b', // 路径可以根据实际情况修改
  79. });
  80. }
  81. });