Page({
  data: {
    isLogin: false,  // 登录状态
    userInfo: {},    // 存储用户信息（头像、昵称、用户名、密码）
    selected: 3,     // 底部导航栏选中的 tab
    isHidden: true,  // 登录弹窗状态
  },

  // 页面加载时获取缓存的昵称、头像、用户名、密码
  onLoad() {
    this.loadUserInfo();  // 调用加载用户信息的方法
  },

  // 页面显示时确保用户信息刷新
  onShow() {
    this.loadUserInfo();  // 每次进入页面时刷新用户信息
    if (typeof this.getTabBar === 'function' && this.getTabBar()) {
      this.getTabBar().setData({
        selected: 3  // 设置当前tab为选中状态
      });
    }
    // 隐藏返回首页按钮
    if (wx.canIUse('hideHomeButton')) {
      wx.hideHomeButton();
    }
  },

  // 加载用户信息并更新页面
  loadUserInfo() {
    const storedUserInfo = wx.getStorageSync('userInfo');  // 获取缓存中的用户信息
    if (storedUserInfo) {
      // 如果缓存中有用户信息，更新页面上的数据
      this.setData({
        userInfo: storedUserInfo,  // 更新用户信息
        isLogin: true, // 设置登录状态为 true
      });
    }
  },

  // 获取用户头像
  getAvatar(e) {
    const avatarUrl = e.detail.avatarUrl;
    this.setData({
      'userInfo.avatarUrl': avatarUrl
    });

    // 保存头像到缓存
    let userInfo = wx.getStorageSync('userInfo') || {};
    userInfo.avatarUrl = avatarUrl;
    wx.setStorageSync('userInfo', userInfo);
  },

  // 获取用户昵称
  getName(e) {
    const nickName = e.detail.value;
    this.setData({
      'userInfo.nickName': nickName
    });

    // 保存昵称到缓存
    let userInfo = wx.getStorageSync('userInfo') || {};
    userInfo.nickName = nickName;
    wx.setStorageSync('userInfo', userInfo);
  },

  // 显示登录弹窗
  goLogin() {
    this.setData({
      isHidden: false
    });
  },

  // 编辑个人资料
  EditProfile() {
    wx.navigateTo({
      url: '/shoping/EditProfile/EditProfile'
    });
  },

  // 取消登录弹窗
  potNo() {
    this.setData({
      isHidden: true
    });
  },

  // 确认登录弹窗
  popYes() {
    const { avatarUrl, nickName, username, password } = this.data.userInfo;
    if (!avatarUrl || !nickName || !username || !password) {
      wx.showToast({
        icon: 'error',
        title: '请填写头像、昵称、用户名和密码',
      });
      return;
    }

    // 保存头像、昵称、用户名和密码到缓存
    wx.setStorageSync('userInfo', this.data.userInfo);
    this.setData({
      isLogin: true,  // 设置登录状态为 true
      isHidden: true, // 隐藏弹窗
    });
  },

  // 跳转到阈值页面
  goToThreshold() {
    wx.navigateTo({
      url: '/pages/threshold/threshold'
    });
  },

  // 点击退出登录
  tuichu() {
    // 清除缓存
    wx.clearStorageSync();

    // 重置登录状态
    this.setData({
      isLogin: false,
      userInfo: {}
    });

    // 跳转到登录页面
    wx.reLaunch({
      url: '/pages/RoleSelectionPage/RoleSelectionPage' // 登录页面的路径
    });
  }
});
