162 lines
3.4 KiB
JavaScript
Raw Permalink Normal View History

2025-06-06 15:17:30 +08:00
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: '提醒',
2025-06-13 14:39:20 +08:00
content: '是否确认切换到' + (item.roleId == 1 ? '用户端' : item.roleId == 2 || item.roleId == 4 ? '教师端' : '家长端'),
2025-06-06 15:17:30 +08:00
confirmColor: "#26A6F6",
complete: async (res) => {
if (res.confirm) {
wx.showLoading({
title: '切换登录中',
})
2025-06-13 14:39:20 +08:00
if (item.roleId == 2 || item.roleId == 3 || item.roleId == 4 || item.roleId == 5) { //切换教师家长触发登录
2025-06-06 15:17:30 +08:00
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() {
}
})