mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-mobile.git
synced 2025-12-06 17:36:45 +08:00
158 lines
4.8 KiB
JavaScript
158 lines
4.8 KiB
JavaScript
import { getToken, setToken, removeToken } from '@/utils/token'
|
|
import app from '@/api/app.js'
|
|
import apiLogin from '@/api/login.js'
|
|
import apiBoeLogin from '@/api/boe/login.js'
|
|
import apiMessage from '@/api/system/message.js'
|
|
import config from '@/config/index.js'
|
|
|
|
const user = {
|
|
state: {
|
|
info: { aid: '', loginName: '', name: '', avatar: '', userNo: '', departId: '', departName: '', departFullName: '',studyTotal:0,studyTotalH:0},
|
|
msg:0,//未读消息数
|
|
studyTaskCount:0,//学习任务数
|
|
identity: 1,
|
|
permissions: [],
|
|
isOneStady:0,
|
|
},
|
|
mutations: {
|
|
SET_Identity: (state, iden) => {
|
|
state.identity = iden
|
|
},
|
|
SET_Msg: (state, m) => {
|
|
state.msg = m
|
|
},
|
|
SET_UserInfo: (state, uinfo) => {
|
|
state.info = uinfo
|
|
},
|
|
SET_PERMISSIONS: (state, permissions) => {
|
|
state.permissions = permissions
|
|
},
|
|
SET_isOneStady: (state, isOneStady) => {
|
|
state.isOneStady = isOneStady
|
|
}
|
|
},
|
|
actions: {
|
|
//第一次登录
|
|
SetIdentity({ commit }, iden) {
|
|
return new Promise((resolve) => {
|
|
commit('SET_isOneStady', iden);
|
|
resolve();
|
|
})
|
|
},
|
|
//设置用户身份
|
|
SetIsOneStady({ commit }, iden) {
|
|
return new Promise((resolve) => {
|
|
commit('SET_Identity', iden);
|
|
resolve();
|
|
})
|
|
},
|
|
//刷新用户的消息
|
|
refrashMsg({ commit }) {
|
|
apiMessage.isRead().then(res=>{
|
|
if(res.status==200){
|
|
commit('SET_Msg',res.result);
|
|
}else{
|
|
console.log("读取未读消息失败:"+res.message);
|
|
}
|
|
})
|
|
|
|
},
|
|
//登录
|
|
Login({ commit }, userInfo) {
|
|
const loginName = userInfo.loginName.trim()
|
|
const password = userInfo.password
|
|
const code = userInfo.code
|
|
return new Promise((resolve, reject) => {
|
|
apiLogin.login(loginName, password, code).then(res => {
|
|
setToken(res.result.access_token);
|
|
resolve(res);
|
|
}).catch(error => {
|
|
reject(error)
|
|
})
|
|
})
|
|
},
|
|
|
|
//初始化框架数据,获取用户信息,用户菜单
|
|
InitData({ commit}) {
|
|
let token = getToken();
|
|
return new Promise((resolve, reject) => {
|
|
//console.log(token);
|
|
app.initData().then(res => {
|
|
//console.log(res.result,'res.result');
|
|
let studyTotalH = 0;// 小时显示
|
|
let t1=parseFloat(res.result.studyTotal);
|
|
let t2=parseFloat(res.result.learningDuration);
|
|
if(t1 > 0 || t2 > 0){
|
|
studyTotalH = parseFloat((t1 + t2)/ 3600).toFixed(1);
|
|
}
|
|
const user = {
|
|
aid: res.result.aid,
|
|
name: res.result.name,
|
|
avatar: res.result.avatar,
|
|
loginName: res.result.loginName,
|
|
userNo: res.result.userNo,
|
|
code:res.result.userNo,
|
|
departId: res.result.departId,
|
|
departName: res.result.departName,
|
|
departFullName: res.result.departFullName,
|
|
studyTotal: res.result.studyTotal,
|
|
studyTotalH:studyTotalH,
|
|
sex:res.result.sex,
|
|
sysId:res.result.sysId
|
|
};
|
|
user.avatar = user.avatar == "" ? "" : config.fileUrl + user.avatar;
|
|
commit('SET_UserInfo', user);
|
|
//用户数据存储在本地一份
|
|
uni.setStorageSync('localUserInfo',JSON.stringify(user));
|
|
|
|
resolve(res)
|
|
}).catch(error => {
|
|
reject(error)
|
|
})
|
|
})
|
|
},
|
|
GetUserInfo(context) {
|
|
return new Promise((resolve,reject) => {
|
|
//先从本地获取
|
|
let hasInfo=uni.getStorageSync('localUserInfo');
|
|
if(hasInfo){
|
|
let uinfo=JSON.parse(hasInfo);
|
|
context.commit('SET_UserInfo', uinfo);
|
|
resolve(uinfo)
|
|
}else{
|
|
context.dispatch('InitData');
|
|
}
|
|
})
|
|
},
|
|
//更新用户信息
|
|
UpdateUserInfo({ commit}, uinfo) {
|
|
uni.setStorageSync('localUserInfo',JSON.stringify(uinfo));
|
|
commit('SET_UserInfo', uinfo);
|
|
},
|
|
// 退出系统
|
|
LogOut({ commit, state }) {
|
|
return new Promise((resolve, reject) => {
|
|
apiBoeLogin.logout();
|
|
commit('SET_PERMISSIONS', [])
|
|
removeToken()
|
|
//resolve()
|
|
apiLogin.logout().then((res) => {
|
|
resolve(res)
|
|
}).catch(error => {
|
|
reject(error)
|
|
})
|
|
})
|
|
},
|
|
|
|
// 前端 登出
|
|
FedLogOut({ commit }) {
|
|
return new Promise(resolve => {
|
|
commit('SET_TOKEN', '')
|
|
removeToken()
|
|
resolve()
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
export default user |