162 lines
3.4 KiB
JavaScript
162 lines
3.4 KiB
JavaScript
const {
|
|
getUserInfo,
|
|
getUserAccount,
|
|
getOpenId,
|
|
postOpenId
|
|
} = require("../../../utils/serve/user")
|
|
const tabService = require("../../../utils/tab-serve");
|
|
const utils = require("../../../utils/utils");
|
|
const {
|
|
post
|
|
} = require("../../../utils/http")
|
|
|
|
|
|
// subpackage/user/check-status/check-status.js
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
user: {},
|
|
account: [],
|
|
id: 1
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
async onLoad(options) {
|
|
let theme = wx.getStorageSync('theme')
|
|
const id = theme == 'user' ? 1 : theme == 'teacher' ? 2 : 3
|
|
const res = await getUserInfo()
|
|
const res2 = await getUserAccount()
|
|
this.setData({
|
|
user: res.data,
|
|
account: res2.data,
|
|
id
|
|
})
|
|
},
|
|
|
|
changeTheme(e) {
|
|
console.log(e.currentTarget.dataset)
|
|
const that = this
|
|
const {
|
|
item
|
|
} = e.currentTarget.dataset
|
|
wx.showModal({
|
|
title: '提醒',
|
|
content: '是否确认切换到' + (item.roleId == 1 ? '用户端' : item.roleId == 2 || item.roleId == 4 ? '教师端' : '家长端'),
|
|
confirmColor: "#26A6F6",
|
|
complete: async (res) => {
|
|
if (res.confirm) {
|
|
wx.showLoading({
|
|
title: '切换登录中',
|
|
})
|
|
if (item.roleId == 2 || item.roleId == 3 || item.roleId == 4 || item.roleId == 5) { //切换教师家长触发登录
|
|
wx.login({
|
|
success: async (loginData) => {
|
|
const opid = await getOpenId(loginData.code)
|
|
const canLogin = await postOpenId(opid.data, item.userId)
|
|
if (canLogin.data) {
|
|
that.surechange(item)
|
|
} else {
|
|
wx.showToast({
|
|
title: '当前账号在他处登录,请退出登录后重试~',
|
|
icon: 'none'
|
|
})
|
|
}
|
|
},
|
|
})
|
|
} else {
|
|
that.surechange(item)
|
|
}
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
async surechange(item) {
|
|
const role = item.roleId == 1 ? 'user' : item.roleId == 2 ? 'teacher' : 'parent'
|
|
await wx.setStorageSync('token', item.token);
|
|
await utils.refreshToken()
|
|
// 根据角色跳转
|
|
const redirectMap = {
|
|
user: '/pages/student/train/train',
|
|
teacher: "/pages/teacher/resource/resource",
|
|
parent: "/pages/parent/train/train"
|
|
};
|
|
tabService.updateRole(this, role)
|
|
wx.setStorageSync('theme', role)
|
|
wx.showToast({
|
|
title: '切换成功',
|
|
icon: 'success'
|
|
})
|
|
setTimeout(() => {
|
|
|
|
wx.switchTab({
|
|
url: redirectMap[role],
|
|
})
|
|
}, 500);
|
|
},
|
|
|
|
add() {
|
|
let params = '?haveId='
|
|
this.data.account.forEach(e => {
|
|
params += e.roleId
|
|
})
|
|
console.log(params)
|
|
wx.navigateTo({
|
|
url: '/subpackage/user/login/login' + params + '&list=' + JSON.stringify(this.data.account),
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
|
|
}
|
|
}) |