mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-17 14:56:44 +08:00
2022年5月29日从svn移到git
This commit is contained in:
218
src/store/modules/user.js
Normal file
218
src/store/modules/user.js
Normal file
@@ -0,0 +1,218 @@
|
||||
import { getToken, setToken, removeToken } from '@/utils/token'
|
||||
import app from '@/api/console.js'
|
||||
import apiLogin from '@/api/login.js'
|
||||
import apiMessage from '@/api/system/message.js'
|
||||
import apiCourse from "@/api/modules/course.js";
|
||||
import apiBoeCourse from "@/api/boe/course.js";
|
||||
import apiBoeLogout from "@/api/boe/login.js";
|
||||
|
||||
const user = {
|
||||
state: {
|
||||
info: { aid: '', loginName: '', name: '', avatar: '', userNo: '', departId: '', departName: '', departFullName: '',studyTotal:0,studyTotalH:0},
|
||||
identity: 2, // 1表学员,2表教师,3表管理员。目前只有3会被设置表示学员教师管理员身份都有
|
||||
msg:0,//未读消息数
|
||||
messagesBeReviewed: 0,//待审核的消息
|
||||
studyTaskCount:0,//学习任务数
|
||||
curIdentity: sessionStorage.getItem("curIdentity") == null ? 1 : sessionStorage.getItem("curIdentity"), // 用户当前选择的身份 1学员 2教师 3管理员
|
||||
permissions: []
|
||||
},
|
||||
mutations: {
|
||||
SET_Identity: (state, iden) => {
|
||||
state.identity = iden
|
||||
},
|
||||
SET_Msg: (state, m) => {
|
||||
state.msg = m
|
||||
},
|
||||
SET_MessagesBeReviewed: (state, m) => {
|
||||
state.messagesBeReviewed = m
|
||||
},
|
||||
SET_StudyTaskCount: (state, m) => {
|
||||
state.studyTaskCount = m
|
||||
//console.log(state)
|
||||
},
|
||||
SET_CurIdentity: (state, iden) => {
|
||||
state.curIdentity = iden
|
||||
sessionStorage.setItem("curIdentity", iden);
|
||||
},
|
||||
SET_UserInfo: (state, uinfo) => {
|
||||
state.info = uinfo
|
||||
},
|
||||
SET_PERMISSIONS: (state, permissions) => {
|
||||
state.permissions = permissions
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
refrashMsg({ commit }) {
|
||||
apiMessage.isRead().then(res=>{
|
||||
if(res.status==200){
|
||||
commit('SET_Msg',res.result);
|
||||
}else{
|
||||
console.log("读取未读消息失败:"+res.message);
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
refrashReviewed({ commit }) {
|
||||
apiCourse.countWaitAudit().then(res=>{
|
||||
if(res.status==200){
|
||||
commit('SET_MessagesBeReviewed',res.result);
|
||||
}else{
|
||||
console.log("读取待审核消息失败:"+res.message);
|
||||
}
|
||||
})
|
||||
},
|
||||
refrashStudyTaskCount({ commit }) {
|
||||
apiBoeCourse.cmtaskList({page:1,size:1}).then(res=>{
|
||||
if(res.status==200){
|
||||
let count = 0;
|
||||
if(res.result.count > 0){
|
||||
count = res.result.count;
|
||||
}
|
||||
commit('SET_StudyTaskCount',count);
|
||||
}else{
|
||||
console.log("读取学习任务数失败:"+res.message);
|
||||
}
|
||||
})
|
||||
},
|
||||
//设置用户身份
|
||||
SetIdentity({ commit }, iden) {
|
||||
return new Promise((resolve) => {
|
||||
commit('SET_Identity', iden);
|
||||
resolve();
|
||||
})
|
||||
},
|
||||
// 设置当前身份状态
|
||||
SetCurIdentity({ commit }, iden) {
|
||||
return new Promise((resolve) => {
|
||||
commit('SET_CurIdentity', iden);
|
||||
resolve();
|
||||
})
|
||||
},
|
||||
//登录
|
||||
Login({ commit }, userInfo) {
|
||||
const loginName = userInfo.loginName.trim()
|
||||
const password = userInfo.password
|
||||
const code = userInfo.code
|
||||
const key = userInfo.key
|
||||
let that = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
apiLogin.login(loginName, password, code,key).then(res => {
|
||||
if(res.status == 200){
|
||||
setToken(res.result.access_token);
|
||||
// 重置portal中case页面的阅读协议状态
|
||||
that.dispatch('portal/SetReadProtocol', false);
|
||||
}
|
||||
resolve(res);
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
//初始化框架数据,获取用户信息,用户菜单
|
||||
InitData({ commit, state }) {
|
||||
let token = getToken();
|
||||
return new Promise((resolve, reject) => {
|
||||
//console.log(token);
|
||||
app.initData().then(res =>{
|
||||
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);
|
||||
}
|
||||
// 只保留二级
|
||||
let dfn = "";
|
||||
if(res.result.departFullName){
|
||||
let dfnArray = res.result.departFullName.split('/');
|
||||
if(dfnArray.length > 2){
|
||||
dfn = dfnArray[0] + "/" + dfnArray[1];
|
||||
}else{
|
||||
dfn = res.result.departFullName;
|
||||
}
|
||||
}
|
||||
const user = {
|
||||
aid: res.result.aid,
|
||||
sysId:res.result.sysId,
|
||||
name: res.result.name,
|
||||
avatar: res.result.avatar,
|
||||
sex:res.result.sex? res.result.sex:1,
|
||||
loginName: res.result.loginName,
|
||||
userNo: res.result.userNo,
|
||||
departId: res.result.departId,
|
||||
departName: res.result.departName,
|
||||
departFullName: dfn,
|
||||
studyTotal: res.result.studyTotal,
|
||||
studyTotalH:studyTotalH
|
||||
};
|
||||
// user.avatar = user.avatar == "" ? require("@/assets/images/user/default.png") : process.env.VUE_APP_FILE_BASE_URL + user.avatar;
|
||||
user.avatar = user.avatar == "" ? "" : process.env.VUE_APP_FILE_BASE_URL + user.avatar;
|
||||
commit('SET_UserInfo', user);
|
||||
commit('SET_Identity', res.result.userType);
|
||||
//console.log(user)
|
||||
resolve(res)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
//获取用户信息
|
||||
// GetUserInfo({ commit, state }) {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// apiUser.getUserInfo(state.token).then(res => {
|
||||
// const user = {
|
||||
// aid: res.result.aid,
|
||||
// name: res.result.name,
|
||||
// avatar: res.result.avatar,
|
||||
// loginName: res.result.loginName,
|
||||
// userNo: res.result.userNo,
|
||||
// departId: res.result.departId,
|
||||
// departName: res.result.departName
|
||||
// };
|
||||
// user.avatar = user.avatar == "" ? require("@/assets/images/user/default.png") : process.env.VUE_APP_BASE_API + res.result.avatar;
|
||||
// commit('SET_UserInfo', user);
|
||||
// commit('SET_Identity', res.result.userType);
|
||||
// resolve(res)
|
||||
// }).catch(error => {
|
||||
// reject(error)
|
||||
// })
|
||||
// })
|
||||
// },
|
||||
//更新用户信息
|
||||
// UpdateUserInfo({ commit, state }, uinfo) {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// apiUser.saveUserInfo(uinfo).then(res => {
|
||||
// commit('SET_UserInfo', uinfo);
|
||||
// resolve(res)
|
||||
// }).catch(error => {
|
||||
// reject(error)
|
||||
// })
|
||||
// })
|
||||
// },
|
||||
// 退出系统
|
||||
LogOut({ commit, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
apiBoeLogout.logout();
|
||||
commit('SET_PERMISSIONS', [])
|
||||
removeToken()
|
||||
//resolve()
|
||||
|
||||
apiLogin.logout().then(() => {
|
||||
resolve()
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 前端 登出
|
||||
FedLogOut({ commit }) {
|
||||
return new Promise(resolve => {
|
||||
commit('SET_TOKEN', '')
|
||||
removeToken()
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default user
|
||||
Reference in New Issue
Block a user