提交代码
This commit is contained in:
246
src/store/modules/user.js
Normal file
246
src/store/modules/user.js
Normal file
@ -0,0 +1,246 @@
|
||||
import {
|
||||
login,
|
||||
getUserInfo,
|
||||
getKaptcha,
|
||||
refreshToken,
|
||||
loginOut
|
||||
} from "@/api/sys";
|
||||
import {
|
||||
unifiedLogin
|
||||
} from "@/api/user-manage";
|
||||
import Base64 from "base-64";
|
||||
import {
|
||||
setItem,
|
||||
getItem,
|
||||
removeAllItem
|
||||
} from "@/utils/storage";
|
||||
import {
|
||||
TOKEN
|
||||
} from "@/constant";
|
||||
import router, {
|
||||
resetRouter
|
||||
} from "@/router";
|
||||
import {
|
||||
setTimeStamp
|
||||
} from "@/utils/auth";
|
||||
import {
|
||||
TAGS_VIEW
|
||||
} from "@/constant/index.js";
|
||||
export default {
|
||||
namespaced: true,
|
||||
state: () => ({
|
||||
token: getItem(TOKEN) || "", // 先从localStorage里面取
|
||||
userInfo: {},
|
||||
deptList: [],
|
||||
deptId: "",
|
||||
menuList: [],
|
||||
isReady: 0,
|
||||
userName: getItem("USERNAME") || "",
|
||||
keepLiiveRoute: [], //需要缓存的路由
|
||||
activeId:'',//警组点击的唯一标识
|
||||
}),
|
||||
mutations: {
|
||||
setToken(state, token) {
|
||||
state.token = token;
|
||||
setItem(TOKEN, token);
|
||||
},
|
||||
setActiveId(state, activeId) {
|
||||
state.activeId = activeId;
|
||||
},
|
||||
setUserName(state, userName) {
|
||||
state.userName = userName;
|
||||
},
|
||||
setDeptList(state, deptList) {
|
||||
state.deptList = deptList;
|
||||
},
|
||||
setIsReady(state, deptList) {
|
||||
state.isReady++;
|
||||
},
|
||||
setMenuList(state, menuList) {
|
||||
state.menuList = menuList;
|
||||
},
|
||||
setUserInfo(state, userInfo) {
|
||||
state.userInfo = userInfo;
|
||||
},
|
||||
//保存当前deptId
|
||||
setDeptId(state, deptId) {
|
||||
state.deptId = deptId;
|
||||
setItem("deptId", deptId);
|
||||
},
|
||||
//保存路由
|
||||
setKeepLiiveRoute(state, val) {
|
||||
// state.keepLiiveRoute.push(val);
|
||||
},
|
||||
//删除缓存路由
|
||||
deleteKeepLiiveRoute(state, val) {
|
||||
// state.keepLiiveRoute = state.keepLiiveRoute.filter((item) => {
|
||||
// return item != val;
|
||||
// });
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
/*
|
||||
*登录请求动作
|
||||
*/
|
||||
login(ctx, userInfo) {
|
||||
const {
|
||||
userName,
|
||||
password,
|
||||
kaptcha
|
||||
} = userInfo;
|
||||
return new Promise((resolve, reject) => {
|
||||
login({
|
||||
userName,
|
||||
password: Base64.encode(password),
|
||||
kaptcha
|
||||
})
|
||||
.then((data) => {
|
||||
if (data.deptList.length === 1) {
|
||||
this.commit("user/setToken", data.jwtToken);
|
||||
this.commit("user/setDeptId", data.deptList);
|
||||
this.commit("user/setUserName", data.userName);
|
||||
setItem('isOatuh', 0)
|
||||
setItem("USERNAME", data.userName);
|
||||
setItem("SFRH", data.sfrh);
|
||||
setItem("USERID", data.userId);
|
||||
setItem("PermissionsInfo", data.permissionsInfo);
|
||||
this.commit("user/setMenuList", data.menuList);
|
||||
setItem("menusPermission", data.menuCodeSet);
|
||||
setItem("idEntityCard", data.idEntityCard);
|
||||
this.commit("user/setUserInfo", {
|
||||
token: data.jwtToken,
|
||||
permission: {
|
||||
buttonPermission: ["removeTest", "viewTest"],
|
||||
menus: data.menuCodeSet
|
||||
},
|
||||
menuList: data.menuList,
|
||||
deptList: data.deptList
|
||||
});
|
||||
}
|
||||
// 保存登录时间
|
||||
setTimeStamp();
|
||||
resolve(data);
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
},
|
||||
/*
|
||||
*单点登录
|
||||
*/
|
||||
oatuhLogin(ctx, userInfo) {
|
||||
const {
|
||||
token,
|
||||
systemId,
|
||||
} = userInfo;
|
||||
return new Promise((resolve, reject) => {
|
||||
unifiedLogin({
|
||||
token,
|
||||
systemId,
|
||||
})
|
||||
.then((data) => {
|
||||
if (data.deptList.length === 1) {
|
||||
this.commit("user/setToken", data.jwtToken);
|
||||
this.commit("user/setDeptId", data.deptList);
|
||||
this.commit("user/setUserName", data.userName);
|
||||
setItem("USERNAME", data.userName);
|
||||
setItem("SFRH", data.sfrh);
|
||||
setItem("USERID", data.userId);
|
||||
setItem("PermissionsInfo", data.permissionsInfo);
|
||||
this.commit("user/setMenuList", data.menuList);
|
||||
setItem("menusPermission", data.menuCodeSet);
|
||||
setItem('isOatuh', 1)
|
||||
setItem("idEntityCard", data.idEntityCard);
|
||||
this.commit("user/setUserInfo", {
|
||||
token: data.jwtToken,
|
||||
permission: {
|
||||
buttonPermission: ["removeTest", "viewTest"],
|
||||
menus: data.menuCodeSet
|
||||
},
|
||||
menuList: data.menuList,
|
||||
deptList: data.deptList
|
||||
});
|
||||
}
|
||||
// 保存登录时间
|
||||
setTimeStamp();
|
||||
resolve(data);
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
refreshToken(ctx, parmas) {
|
||||
return new Promise((resolve, reject) => {
|
||||
refreshToken({
|
||||
deptId: parmas.deptId,
|
||||
authorization: parmas.jwtToken
|
||||
})
|
||||
.then((data) => {
|
||||
this.commit("user/setToken", "");
|
||||
this.commit("user/setToken", data.jwtToken);
|
||||
this.commit("user/setDeptList", data.deptList);
|
||||
this.commit("user/setUserName", data.userName);
|
||||
this.commit("user/setMenuList", data.menuList);
|
||||
this.commit("user/setUserInfo", {
|
||||
token: data.jwtToken,
|
||||
permission: {
|
||||
buttonPermission: ["removeTest", "viewTest"],
|
||||
menus: data.menuCodeSet
|
||||
},
|
||||
menuList: data.menuList,
|
||||
deptList: data.deptList
|
||||
});
|
||||
setItem("menusPermission", data.menuCodeSet);
|
||||
// 保存登录时间
|
||||
setTimeStamp();
|
||||
return resolve(data);
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
},
|
||||
/*
|
||||
* 获取图形验证码
|
||||
*/
|
||||
async getKaptcha(ctx) {
|
||||
const res = await getKaptcha();
|
||||
return res;
|
||||
},
|
||||
|
||||
/*
|
||||
* 获取用户信息
|
||||
*/
|
||||
async getUserInfo(ctx) {
|
||||
const res = await getUserInfo();
|
||||
this.commit("user/setUserInfo", res);
|
||||
return res;
|
||||
},
|
||||
|
||||
/*
|
||||
* 退出登录
|
||||
*/
|
||||
async logout(ctx) {
|
||||
const res = await loginOut();
|
||||
if (res) {
|
||||
resetRouter();
|
||||
this.commit("user/setToken", "");
|
||||
this.commit("user/setUserName", "admin");
|
||||
this.commit("user/setUserInfo", {});
|
||||
this.commit("permission/resetrouteReady", 0);
|
||||
const isOatuh = getItem('isOatuh')
|
||||
this.commit("permission/deleteRouter");
|
||||
removeAllItem();
|
||||
// 待补充 清理权限相关的配置
|
||||
if (isOatuh) {
|
||||
window.location.href = `http://80.149.27.78:8001/login`;
|
||||
} else {
|
||||
router.push("/login");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user