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', type: 'order', }, { title: '激活商品', icon: '/static/images/personal/jihuo.png', url: '/packagePersonal/pages/activateProduct/index', type: 'activateProduct', }, { title: '我的证书', icon: '/static/images/personal/certificate.png', // url: '', url: '/pages/personalCenter/certificate/index', type: 'certificate', }, { title: '我的收藏', icon: '/static/images/personal/wodeshoucang.png', url: '/packagePersonal/pages/myCollection/index', type: 'collection', }, { title: '我的下载', icon: '/static/images/personal/download.png', url: '/packagePersonal/pages/downloads/index', type: 'download', }, { title: '样书申请', icon: '/static/images/personal/yangshushenqing.png', url: '/packagePersonal/pages/sampleBooks/index', type: 'sampleBook', }, { title: '我的上传', icon: '/static/images/personal/upload.png', // url: '', url: '/pages/personalCenter/myUpload/index', type: 'upload', }, { title: '出书申请', icon: '/static/images/personal/chushu.png', // url: '', url: '/packagePersonal/pages/publishBooks/index', type: 'publishBooks', } ]; const moreMenu = [{ title: '我的消息', icon: '/static/images/personal/notification.png', url: '/packagePersonal/pages/myMassage/index', type: 'message', }, { title: '建议与反馈', icon: '/static/images/personal/feedback.png', url: '/packagePersonal/pages/feedBack/index', type: 'feedback', } ]; const moreMenu1 = [{ title: '关于我们', icon: '/static/images/personal/about.png', url: '/packagePersonal/pages/aboutUs/index?types=jsek_aboutUs', type: 'aboutUs', }, { title: '联系我们', icon: '/static/images/personal/contact.png', url: '/packagePersonal/pages/aboutUs/index?types=jsek_contactUs', type: 'contact', } ]; const userTypeList = [{ lable: '中职教师', value: 'vocSchoolTeachers' }, { lable: '高职教师', value: 'vocCollegeTeachers' }, { lable: '普通高校教师', value: 'ordUniversityTeachers' }, { lable: '其他读者', value: 'otherReaders' } ]; Page({ /** * 页面的初始数据 */ data: { barHeight: '', navBarHeight: '', scoll: false, isWhite: false, userInfo: {}, currAuthStep: 1, userTypeActive: '', userTypeList, teacherState: { state: '', reasonTxt: '', }, integral: 0, menuData, moreMenu, moreMenu1, visible: false, baseRefresh: { value: false }, loadingProps: { size: '10rpx', }, scrollTop: 0, }, /** * 生命周期函数--监听页面加载 */ onLoad() { const systInfo = wx.getSystemInfoSync(); const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息 const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度 this.setData({ barHeight: systInfo.statusBarHeight, navBarHeight: navBarHeight, }); }, 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() {}, // 获取登录用户身份 getUserInfo() { app.MG.identity.getCurrentAppUser().then(res => { // 用户信息优先级:教师认证 > 微信 > 学生(注册时默认) if (res) { //获取用户类型 let userTypeData = res.infoList.find((item) => item.type == 'userType') let type = ""; if (userTypeData) { this.setData({ userTypeActive: JSON.parse(userTypeData.data).userType, }); type = this.data.userTypeList.find((item) => item.value === this.data.userTypeActive)?.lable; } else { 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 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 ? 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, userType: type } this.setData({ currAuthStep: 2, }); } else if (WeChatInfo) { defaultUser = { ...WeChatInfo, 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, role: 'Student', } this.setData({ currAuthStep: 3, }); } else if (secretData) { defaultUser = { 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, 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); } }); }, //教师信息 getTeacherInfo() { const data = { start: 0, size: 10, topicIdOrRefCode: 'teacherRoleApproval', appRefCode: app.config.appRefCode, sort: { type: 'Desc', field: 'CreateDate' } } app.MG.ugc.getTopicMessageList(data).then((res) => { const resData = res.datas.find((i) => i.appUserCreator.userId == this.data.userInfo.userId) if (resData) { this.setData({ teacherState: { state: resData.state, reasonTxt: resData.feedBack != null ? JSON.parse(resData.feedBack).reason : '' } }) } }) }, //教师认证 toCertification() { wx.navigateTo({ url: "/packageDomain/pages/teacherCertification/index", }); }, //修改用户类型 editUserType() { 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() { wx.navigateTo({ url: "/packagePersonal/pages/userSetting/index", }); }, getIntegral() { app.MG.store .getUserWallet({ type: 'integral' }) .then((res) => { this.setData({ integral: res.balance, }); }) }, getIntegralList() { wx.navigateTo({ url: `/pages/personalCenter/pointsRecord/index`, }); }, //点击目录 toPages(item) { let info = item.currentTarget.dataset.info if (info.url) { wx.navigateTo({ url: info.url }) } else { wx.showToast({ title: "建设中", icon: 'none', duration: 2000 }) } }, 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() { }, })