闫增涛
2025-03-31 04c7b0163caeae4ab1c5da62e301fa993101cfad
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,8 @@
  {
    title: '我的证书',
    icon: '/static/images/personal/certificate.png',
    url: '',
    // url: '',
    url: '/pages/personalCenter/certificate/index',
    type: 'certificate',
  },
  {
@@ -39,18 +43,31 @@
  {
    title: '我的上传',
    icon: '/static/images/personal/upload.png',
    url: '',
    // url: '',
    url: '/pages/personalCenter/myUpload/index',
    type: 'upload',
  },
  {
    title: '出书申请',
    icon: '/static/images/personal/chushu.png',
    // url: '',
    url: '/packagePersonal/pages/publishBooks/index',
    type: 'publishBooks',
  },
  {
    title: '我的课程',
    icon: '/static/images/personal/course.png',
    url: '/packageCourse/pages/course/index',
    type: 'course',
  },
  {
    title: '我的班级',
    icon: '/static/images/personal/class.png',
    url: '/packageCourse/pages/studentClass/index',
    type: 'class',
  }
];
const moreMenu = [
  {
const moreMenu = [{
    title: '我的消息',
    icon: '/static/images/personal/notification.png',
    url: '/packagePersonal/pages/myMassage/index',
@@ -63,8 +80,7 @@
    type: 'feedback',
  }
];
const moreMenu1 = [
  {
const moreMenu1 = [{
    title: '关于我们',
    icon: '/static/images/personal/about.png',
    url: '/packagePersonal/pages/aboutUs/index?types=jsek_aboutUs',
@@ -77,8 +93,7 @@
    type: 'contact',
  }
];
const userTypeList = [
  {
const userTypeList = [{
    lable: '中职教师',
    value: 'vocSchoolTeachers'
  },
@@ -103,6 +118,7 @@
  data: {
    barHeight: '',
    navBarHeight: '',
    scoll: false,
    isWhite: false,
    userInfo: {},
    currAuthStep: 1,
@@ -117,6 +133,13 @@
    moreMenu,
    moreMenu1,
    visible: false,
    baseRefresh: {
      value: false
    },
    loadingProps: {
      size: '10rpx',
    },
    scrollTop: 0,
  },
  /**
   * 生命周期函数--监听页面加载
@@ -129,19 +152,6 @@
      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() {
@@ -150,18 +160,45 @@
        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 {
          wx.switchTab({
            url: '/pages/home/home',
          })
        }
      })
    } 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 => {
@@ -174,21 +211,21 @@
          this.setData({
            userTypeActive: JSON.parse(userTypeData.data).userType,
          });
          type = userTypeList.find((item) => item.value === this.data.userTypeActive)?.lable;
          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,
            nickName: nickNameData ? JSON.parse(nickNameData.data).nickName : teacherInfos.name,
            icon: nickNameData ? JSON.parse(nickNameData.data).icon : WeChatInfo ? WeChatInfo.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,
@@ -201,27 +238,50 @@
        } else if (WeChatInfo) {
          defaultUser = {
            ...WeChatInfo,
            nickName: nickNameData ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name,
            icon: JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).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 = {
            nickName: nickNameData ? JSON.parse(nickNameData.data).nickName : secretData.credential,
            icon: JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).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
        })
        if (defaultUser?.role == 'Teacher') {
          const data = [...this.data.menuData]
          const list = data.filter(item => item.type != 'class')
          this.setData({
            menuData: list
          })
        } else {
          const data = [...this.data.menuData]
          const list = data.filter(item => item.type != 'course')
          this.setData({
            menuData: list
          })
        }
        this.getTeacherInfo()
        wx.setStorageSync(app.config.userInfoKey, JSON.stringify(this.data.userInfo));
        setTimeout(() => {
          this.setData({
            'baseRefresh.value': false,
          })
        }, 500);
      }
    });
  },
@@ -269,21 +329,22 @@
    });
  },
  tabUserTypeClick(e) {
    console.log(e)
    let { info } = e.currentTarget.dataset;
    let {
      info
    } = e.currentTarget.dataset;
    this.setData({
      userTypeActive: info.value,
    });
  },
  submit() {
    let userTypeInfo = {
      requests: [
        {
          data: JSON.stringify({ userType: this.data.userTypeActive }),
          name: '用户类型',
          type: 'userType'
        }
      ]
      requests: [{
        data: JSON.stringify({
          userType: this.data.userTypeActive
        }),
        name: '用户类型',
        type: 'userType'
      }]
    }
    app.MG.identity.setAppUserInfo(userTypeInfo).then((res) => {
      if (res) {
@@ -306,9 +367,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({
@@ -323,11 +402,34 @@
    }
  },
  onPageScroll(e) {
  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: e.scrollTop > 20 ? true : false
      isWhite: data
    })
  },
  // delectBtn() {
  //   app.MG.ugc
  //     .delTopicMessage({
  //       messageIds: [2986, 1302, 1301, 3074, 1305, 1304]
  //     })
  //     .then((res) => {
  //       console.log('删除成功')
  //     })
  // },
  /**
   * 用户点击右上角分享