42056450
阿宝
权限修改
|
1
2
3
4
5
|
import Vue from "vue";
import Vuex from "vuex";
import Cookies from "js-cookie";
import layoutStore from "./modules/layout/index";
import { defaultRouter } from "@/router/index";
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
6
|
import { encryptLoginPassword } from "@/utils";
|
aeac66d4
阿宝
飞书测试bug
|
7
|
import { Message } from "element-ui";
|
4c4f7640
梁保满
路由表,路由前端文件
|
8
|
|
42056450
阿宝
权限修改
|
9
10
11
12
|
import request from "@/api/index";
import router from "@/router/index";
import { addrouters } from "@/router/index";
Vue.use(Vuex);
|
c1b532ad
梁保满
权限配置,路由基础设置
|
13
14
15
|
const store = new Vuex.Store({
state: {
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
16
17
|
token: "",
csCode: localStorage.getItem("csCode") || "",
|
42056450
阿宝
权限修改
|
18
19
20
21
22
23
24
25
26
27
|
info: sessionStorage.getItem("info")
? JSON.parse(sessionStorage.getItem("info"))
: "", // 每次刷新都要通过token请求个人信息来筛选动态路由
routers: [], //左侧菜单
addRouters:
sessionStorage.getItem("addRouters") &&
sessionStorage.getItem("addRouters") != "undefined"
? JSON.parse(sessionStorage.getItem("addRouters"))
: [], //动态路由
tokenSources: new Map(), //正在请求接口(切换取消请求)
|
c1b532ad
梁保满
权限配置,路由基础设置
|
28
29
|
},
mutations: {
|
4c4f7640
梁保满
路由表,路由前端文件
|
30
|
setToken(state, token) {
|
42056450
阿宝
权限修改
|
31
|
state.token = token;
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
32
33
34
|
},
setCode(state, code) {
state.csCode = code;
|
42056450
阿宝
权限修改
|
35
|
localStorage.setItem("csCode", code);
|
4c4f7640
梁保满
路由表,路由前端文件
|
36
37
|
},
setInfo(state, data) {
|
42056450
阿宝
权限修改
|
38
|
state.info = { ...data };
|
6d7bd862
梁保满
飞书bug
|
39
|
sessionStorage.setItem("info", JSON.stringify(data));
|
4c4f7640
梁保满
路由表,路由前端文件
|
40
41
|
},
setRouters: (state, routers) => {
|
42056450
阿宝
权限修改
|
42
43
44
45
|
let aRouters = addrouters.filter((item) => {
let path = item.children[0]?.path.replace("/", "");
return routers?.includes(path);
});
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
46
|
|
42056450
阿宝
权限修改
|
47
48
49
|
state.addRouters = aRouters; // 保存动态路由用来addRouter
state.routers = defaultRouter.concat(aRouters); // 所有有权限的路由表,用来生成菜单列表
sessionStorage.setItem("addRouters", JSON.stringify(routers));
|
4c4f7640
梁保满
路由表,路由前端文件
|
50
|
},
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
51
52
|
setTokenSources(state, data) {
if (data instanceof Array) {
|
42056450
阿宝
权限修改
|
53
|
state.tokenSources.set(data[0], data[1]);
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
54
|
} else {
|
42056450
阿宝
权限修改
|
55
|
state.tokenSources = new Map();
|
65f592b6
梁保满
答题卡列表页
|
56
57
|
}
},
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
58
|
delTokenSources(state, data) {
|
42056450
阿宝
权限修改
|
59
|
state.tokenSources.delete(data);
|
65f592b6
梁保满
答题卡列表页
|
60
|
},
|
c1b532ad
梁保满
权限配置,路由基础设置
|
61
62
|
},
actions: {
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
63
|
Login({ state, commit }, params) {
|
42056450
阿宝
权限修改
|
64
|
let loginForm = {};
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
65
66
|
loginForm.username = params.username;
loginForm.password = encryptLoginPassword(params.password);
|
42056450
阿宝
权限修改
|
67
68
69
70
71
72
|
request
.login({ ...loginForm })
.then((res) => {
let response = res;
if (response.status == 0) {
const userInfo = { ...response.data };
|
aeac66d4
阿宝
飞书测试bug
|
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
if (userInfo.permissions && userInfo.permissions.length) {
userInfo.showRoleName = response.data.permissions[0]?.roleName;
commit("setToken", "isLogin");
commit("setInfo", { ...userInfo });
commit("setRouters", [
...userInfo.permissions[0]?.authorityRouter,
]);
state.addRouters.forEach((res) => {
router.addRoute(res);
});
router.addRoute({
path: "*",
redirect: "/404",
hidden: true,
children: [],
});
|
aeac66d4
阿宝
飞书测试bug
|
89
90
91
92
93
|
if (params.url) {
window.location.href = params.url;
} else {
router.push({ path: "/" });
}
|
42056450
阿宝
权限修改
|
94
|
} else {
|
aeac66d4
阿宝
飞书测试bug
|
95
96
97
98
99
|
Message({
message: "该账号暂无权限,请联系管理员~",
type: "error",
duration: 3 * 1000,
});
|
42056450
阿宝
权限修改
|
100
|
}
|
aeac66d4
阿宝
飞书测试bug
|
101
102
103
104
105
106
|
} else {
Message({
message: response.info,
type: "error",
duration: 3 * 1000,
});
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
107
|
}
|
42056450
阿宝
权限修改
|
108
109
|
})
.catch(() => {});
|
29f8fb90
梁保满
刷新浏览器重新动态添加路由
|
110
|
},
|
b21d90ef
梁保满
长水登录
|
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
CSLogin({ state, commit }, code) {
request
.ssoLogin({ code:code})
.then((res) => {
let response = res;
if (response.status == 0) {
const userInfo = { ...response.data };
if (userInfo.permissions && userInfo.permissions.length) {
userInfo.showRoleName = response.data.permissions[0]?.roleName;
commit("setToken", "isLogin");
commit("setCode", code);
commit("setInfo", { ...userInfo });
commit("setRouters", [
...userInfo.permissions[0]?.authorityRouter,
]);
state.addRouters.forEach((res) => {
router.addRoute(res);
});
router.addRoute({
path: "*",
redirect: "/404",
hidden: true,
children: [],
});
router.push({ path: "/" });
} else {
Message({
message: "该账号暂无权限,请联系管理员~",
type: "error",
duration: 3 * 1000,
});
}
} else {
Message({
message: response.info,
type: "error",
duration: 3 * 1000,
});
}
})
.catch(() => {});
},
|
42056450
阿宝
权限修改
|
154
155
156
157
158
159
|
permissions({ state, commit }, role) {
commit("setToken", "isLogin");
let userInfo = state.info;
let authorityRouterObj = userInfo.permissions.filter((item) => {
return item.role == role;
});
|
aeac66d4
阿宝
飞书测试bug
|
160
|
userInfo.showRoleName = authorityRouterObj[0]?.roleName;
|
bb778c90
阿宝
设备状态
|
161
|
commit("setInfo", userInfo);
|
42056450
阿宝
权限修改
|
162
|
commit("setRouters", [...authorityRouterObj[0]?.authorityRouter]);
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
163
|
state.addRouters.forEach((res) => {
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
164
|
router.addRoute(res);
|
29f8fb90
梁保满
刷新浏览器重新动态添加路由
|
165
|
});
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
166
167
168
169
|
router.addRoute({
path: "*",
redirect: "/404",
hidden: true,
|
42056450
阿宝
权限修改
|
170
171
172
173
|
children: [],
});
router.push({ path: "/" });
},
|
c1b532ad
梁保满
权限配置,路由基础设置
|
174
175
|
},
getters: {
|
42056450
阿宝
权限修改
|
176
177
178
179
180
181
182
183
184
185
|
addRouters: (state) => state.addRouters,
token: (state) => state.token,
code: (state) => state.csCode,
info: (state) => state.info,
routers: (state) => state.routers,
logoShow: (state) => state.layoutStore.logoShow,
isCollapse: (state) => state.layoutStore.isCollapse,
uniquerouter: (state) => state.layoutStore.uniquerouter,
tabnavBox: (state) => state.layoutStore.tabnavBox,
rightNav: (state) => state.layoutStore.rightNav,
|
c1b532ad
梁保满
权限配置,路由基础设置
|
186
187
|
},
modules: {
|
42056450
阿宝
权限修改
|
188
189
190
|
layoutStore,
},
});
|
c1b532ad
梁保满
权限配置,路由基础设置
|
191
|
|
42056450
阿宝
权限修改
|
192
|
export default store;
|