litian
2024-09-02 c3086cda662e2b908cf96b6b3ff599713eb924d6
pages/personalCenter/index.js
@@ -1,6 +1,9 @@
const app = getApp()
const menuData = [
  {
const app = getApp();
import moment from 'moment'
import {
  loginInfo
} from '../../assets/js/login';
const menuData = [{
    title: '我的订单',
    icon: '/static/images/personal/order.png',
    url: '/packagePersonal/pages/myOrder/index',
@@ -15,7 +18,7 @@
  {
    title: '我的证书',
    icon: '/static/images/personal/certificate.png',
    url: '',
    url: '/pages/personalCenter/certificate/index',
    type: 'certificate',
  },
  {
@@ -39,7 +42,7 @@
  {
    title: '我的上传',
    icon: '/static/images/personal/upload.png',
    url: '',
    url: '/pages/personalCenter/myUpload/index',
    type: 'upload',
  },
  {
@@ -49,8 +52,7 @@
    type: 'publishBooks',
  }
];
const moreMenu = [
  {
const moreMenu = [{
    title: '我的消息',
    icon: '/static/images/personal/notification.png',
    url: '/packagePersonal/pages/myMassage/index',
@@ -63,8 +65,7 @@
    type: 'feedback',
  }
];
const moreMenu1 = [
  {
const moreMenu1 = [{
    title: '关于我们',
    icon: '/static/images/personal/about.png',
    url: '/packagePersonal/pages/aboutUs/index?types=jsek_aboutUs',
@@ -77,8 +78,7 @@
    type: 'contact',
  }
];
const userTypeList = [
  {
const userTypeList = [{
    lable: '中职教师',
    value: 'vocSchoolTeachers'
  },
@@ -103,6 +103,7 @@
  data: {
    barHeight: '',
    navBarHeight: '',
    scoll: false,
    isWhite: false,
    userInfo: {},
    currAuthStep: 1,
@@ -117,7 +118,13 @@
    moreMenu,
    moreMenu1,
    visible: false,
    baseRefresh: {
      value: false
    },
    loadingProps: {
      size: '10rpx',
    },
    scrollTop: 0,
  },
  /**
   * 生命周期函数--监听页面加载
@@ -130,35 +137,49 @@
      barHeight: systInfo.statusBarHeight,
      navBarHeight: navBarHeight,
    });
    if (wx.getStorageSync(app.config.tokenKey)) {
      this.setData({
        currAuthStep: 2,
      });
      this.getUserInfo()
    } else {
      this.setData({
        currAuthStep: 1,
      });
      wx.navigateTo({
        url: "/pages/testLogin/index",
      });
    }
  },
  onShow() {
    if (typeof this.getTabBar === 'function' && this.getTabBar()) {
      this.getTabBar().setData({
        active: 4
      })
    }
    // 检查登录状态
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      loginInfo(app, (data) => {
        if (data) {
          this.setData({
            currAuthStep: 2,
          });
          this.getUserInfo()
          this.getIntegral()
        }
      })
    } else {
      this.setData({
        currAuthStep: 3,
      });
      this.getUserInfo()
      this.getIntegral()
    }
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      'baseRefresh.value': true,
    })
    this.getUserInfo()
    this.getIntegral()
    wx.stopPullDownRefresh()
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
  },
  onReachBottom() {},
  // 获取登录用户身份
  getUserInfo() {
    app.MG.identity.getCurrentAppUser().then(res => {
@@ -168,21 +189,24 @@
        let userTypeData = res.infoList.find((item) => item.type == 'userType')
        let type = "";
        if (userTypeData) {
          this.data.userTypeActive = JSON.parse(userTypeData.data).userType;
          type = userTypeList.find((item) => item.value === this.data.userTypeActive)?.lable;
          this.setData({
            userTypeActive: JSON.parse(userTypeData.data).userType,
          });
          type = this.data.userTypeList.find((item) => item.value === this.data.userTypeActive)?.lable;
        } else {
          type = '-'
          type = ''
        }
        let defaultUser = {};
        let nickNameData = res.infoList.find((item) => item.type == 'nickName')
        let teacherRole = res.roleLinks.find((item) => item.role.refCode == 'teacher')
        let teacherInfos = res.infoList.find((item) => item.type == 'teacherInfo')
        let secretData = res.secretList.find(i => i.type == 'LoginNameAndPassword')
        let WeChatInfo = res.infoList.find((item) => item.type === "WeChat");
        let secretData = res.secretList.find(i => i.type == 'LoginNameAndPassword')
        if (teacherRole && teacherInfos) {
          defaultUser = {
            ...teacherInfos,
            fullName: teacherInfos.fullName,
            icon: teacherInfos.icon,
            nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo ? WeChatInfo.name : '',
            icon: nickNameData && JSON.parse(nickNameData.data).icon != "" ? JSON.parse(nickNameData.data).icon : WeChatInfo ? WeChatInfo.icon : '',
            userId: res.userId,
            role: 'Teacher',
            roleId: teacherRole.role.id,
@@ -195,27 +219,37 @@
        } else if (WeChatInfo) {
          defaultUser = {
            ...WeChatInfo,
            fullName: WeChatInfo.name,
            icon: WeChatInfo.icon,
            nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name,
            icon: nickNameData && JSON.parse(nickNameData.data).icon != "" ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon,
            userId: res.userId,
            userType: type
            userType: type,
            role: 'Student',
          }
          this.setData({
            currAuthStep: 3,
          });
        } else if (secretData) {
          defaultUser = {
            fullName: secretData.credential,
            icon: "",
            nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : secretData.credential,
            icon: nickNameData && JSON.parse(nickNameData.data).icon != "" ? JSON.parse(nickNameData.data).icon : "",
            userId: res.userId,
            userType: type
            role: "Student",
            userType: type,
          }
          this.setData({
            currAuthStep: 3,
          });
        }
        this.setData({
          userInfo: defaultUser
        })
        this.getTeacherInfo()
        wx.setStorageSync(app.config.userInfoKey, JSON.stringify(this.data.userInfo));
        setTimeout(() => {
          this.setData({
            'baseRefresh.value': false,
          })
        }, 500);
      }
    });
  },
@@ -251,14 +285,48 @@
  },
  //修改用户类型
  editUserType() {
    this.setData({
      visible: true,
    });
    if (!this.data.visible) {
      this.setData({
        visible: true,
      });
    }
  },
  onVisibleChange(e) {
    this.setData({
      visible: e.detail.visible,
    });
  },
  tabUserTypeClick(e) {
    let {
      info
    } = e.currentTarget.dataset;
    this.setData({
      userTypeActive: info.value,
    });
  },
  submit() {
    let userTypeInfo = {
      requests: [{
        data: JSON.stringify({
          userType: this.data.userTypeActive
        }),
        name: '用户类型',
        type: 'userType'
      }]
    }
    app.MG.identity.setAppUserInfo(userTypeInfo).then((res) => {
      if (res) {
        wx.showToast({
          title: "修改成功",
          icon: 'success',
          duration: 1000,
        })
        this.getUserInfo()
        this.setData({
          visible: false,
        });
      }
    })
  },
  //设置
  gotoUserEditPage() {
@@ -267,9 +335,27 @@
    });
  },
  getIntegral() {
    app.MG.store
      .getUserWallet({
        type: 'integral'
      })
      .then((res) => {
        this.setData({
          integral: res.balance,
        });
      })
  },
  getIntegralList() {
    wx.navigateTo({
      url: `/pages/personalCenter/pointsRecord/index`,
    });
  },
  //点击目录
  toPages(item) {
    console.log(item)
    let info = item.currentTarget.dataset.info
    if (info.url) {
      wx.navigateTo({
@@ -284,14 +370,31 @@
    }
  },
  onScroll(e) {
    if (this.data.scoll) {
      if (e.detail.scrollTop < 20) {
        this.data.scoll = false
        this.isChange(false);
      }
    } else {
      if (e.detail.scrollTop > 20) {
        this.data.scoll = true
        this.isChange(true);
      }
    }
  },
  isChange(data) {
    this.setData({
      isWhite: data
    })
  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
  },
  //跳转关于我们和联系我们
  onAboutUS() {
    console.log(111);
  }
})