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
|
import request from "@/api/index";
import router from "@/router/index";
|
3617eaad
梁保满
长水账号设置
|
11
|
import { addrouters, addRoutersAdmin, addroutersPersonal, csAddrouters } from "@/router/index";
|
42056450
阿宝
权限修改
|
12
|
Vue.use(Vuex);
|
c1b532ad
梁保满
权限配置,路由基础设置
|
13
14
15
|
const store = new Vuex.Store({
state: {
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
16
17
|
token: "",
csCode: localStorage.getItem("csCode") || "",
|
bbc51d4b
梁保满
组卷添加修改分数,打开新开页面跳转...
|
18
19
|
info: localStorage.getItem("info")
? JSON.parse(localStorage.getItem("info"))
|
42056450
阿宝
权限修改
|
20
21
22
|
: "", // 每次刷新都要通过token请求个人信息来筛选动态路由
routers: [], //左侧菜单
addRouters:
|
bbc51d4b
梁保满
组卷添加修改分数,打开新开页面跳转...
|
23
|
localStorage.getItem("addRouters") &&
|
3617eaad
梁保满
长水账号设置
|
24
|
localStorage.getItem("addRouters") != "undefined"
|
bbc51d4b
梁保满
组卷添加修改分数,打开新开页面跳转...
|
25
|
? JSON.parse(localStorage.getItem("addRouters"))
|
42056450
阿宝
权限修改
|
26
27
|
: [], //动态路由
tokenSources: new Map(), //正在请求接口(切换取消请求)
|
7812e986
梁保满
班主任查看报表添加额外信息
|
28
|
classes: localStorage.getItem("classes") || "", //班主任选择班级查询报表(用于教学班学生筛选)
|
ce278878
梁保满
2-2 bugfix
|
29
|
refreshTestList: false, //重新计分刷新列表
|
c1b532ad
梁保满
权限配置,路由基础设置
|
30
31
|
},
mutations: {
|
4c4f7640
梁保满
路由表,路由前端文件
|
32
|
setToken(state, token) {
|
42056450
阿宝
权限修改
|
33
|
state.token = token;
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
34
35
36
|
},
setCode(state, code) {
state.csCode = code;
|
42056450
阿宝
权限修改
|
37
|
localStorage.setItem("csCode", code);
|
4c4f7640
梁保满
路由表,路由前端文件
|
38
39
|
},
setInfo(state, data) {
|
42056450
阿宝
权限修改
|
40
|
state.info = { ...data };
|
bbc51d4b
梁保满
组卷添加修改分数,打开新开页面跳转...
|
41
|
localStorage.setItem("info", JSON.stringify(data));
|
4c4f7640
梁保满
路由表,路由前端文件
|
42
43
|
},
setRouters: (state, routers) => {
|
f45b3c05
LH_PC
云平台新UI界面
|
44
|
console.log('current', state);
|
77ebf04d
梁保满
个人版
|
45
|
let addrouterList = []
|
3617eaad
梁保满
长水账号设置
|
46
|
if (state.info.showRole == 'ROLE_PERSONAL') {
|
77ebf04d
梁保满
个人版
|
47
|
addrouterList = [...addroutersPersonal]
|
3617eaad
梁保满
长水账号设置
|
48
|
} else if (state.info.showRole == 'ROLE_PINGTAI') {
|
77ebf04d
梁保满
个人版
|
49
|
addrouterList = [...addRoutersAdmin]
|
3617eaad
梁保满
长水账号设置
|
50
51
52
53
54
55
|
} else {
if (state.csCode) {
addrouterList = [...csAddrouters]
} else {
addrouterList = [...addrouters]
}
|
77ebf04d
梁保满
个人版
|
56
|
}
|
f45b3c05
LH_PC
云平台新UI界面
|
57
|
|
77ebf04d
梁保满
个人版
|
58
|
let aRouters = addrouterList.filter((item) => {
|
6bca489d
LH_PC
云平台二期UI
|
59
|
|
42056450
阿宝
权限修改
|
60
|
let path = item.children[0]?.path.replace("/", "");
|
f45b3c05
LH_PC
云平台新UI界面
|
61
62
|
if (routers?.includes(path) == true) return item;
else if (item.demoRoles?.includes(state.info.showRole) == true) return item;
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
63
|
|
f45b3c05
LH_PC
云平台新UI界面
|
64
65
66
67
68
|
if (item.children) {
item.children = item.children.filter((itemFilter) => {
return itemFilter.demoRoles?.includes(state.info.showRole) == true
});
if (item.children.length >= 1) return item;
|
6bca489d
LH_PC
云平台二期UI
|
69
70
71
|
}
return null;
});
|
42056450
阿宝
权限修改
|
72
73
|
state.addRouters = aRouters; // 保存动态路由用来addRouter
state.routers = defaultRouter.concat(aRouters); // 所有有权限的路由表,用来生成菜单列表
|
bbc51d4b
梁保满
组卷添加修改分数,打开新开页面跳转...
|
74
|
localStorage.setItem("addRouters", JSON.stringify(routers));
|
4c4f7640
梁保满
路由表,路由前端文件
|
75
|
},
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
76
77
|
setTokenSources(state, data) {
if (data instanceof Array) {
|
42056450
阿宝
权限修改
|
78
|
state.tokenSources.set(data[0], data[1]);
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
79
|
} else {
|
42056450
阿宝
权限修改
|
80
|
state.tokenSources = new Map();
|
65f592b6
梁保满
答题卡列表页
|
81
82
|
}
},
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
83
|
delTokenSources(state, data) {
|
42056450
阿宝
权限修改
|
84
|
state.tokenSources.delete(data);
|
65f592b6
梁保满
答题卡列表页
|
85
|
},
|
7812e986
梁保满
班主任查看报表添加额外信息
|
86
87
|
setClasses(state, data) {
state.classes = data;
|
6bca489d
LH_PC
云平台二期UI
|
88
89
|
console.log(state)
localStorage.setItem('store', "classes", data);
|
ce278878
梁保满
2-2 bugfix
|
90
91
92
|
},
setRefreshTestList(state, data) {
state.refreshTestList = data;
|
7812e986
梁保满
班主任查看报表添加额外信息
|
93
|
}
|
c1b532ad
梁保满
权限配置,路由基础设置
|
94
95
|
},
actions: {
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
96
|
Login({ state, commit }, params) {
|
42056450
阿宝
权限修改
|
97
|
let loginForm = {};
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
98
99
|
loginForm.username = params.username;
loginForm.password = encryptLoginPassword(params.password);
|
42056450
阿宝
权限修改
|
100
101
102
103
104
|
request
.login({ ...loginForm })
.then((res) => {
let response = res;
if (response.status == 0) {
|
f45b3c05
LH_PC
云平台新UI界面
|
105
|
console.log(response)
|
42056450
阿宝
权限修改
|
106
|
const userInfo = { ...response.data };
|
aeac66d4
阿宝
飞书测试bug
|
107
108
|
if (userInfo.permissions && userInfo.permissions.length) {
userInfo.showRoleName = response.data.permissions[0]?.roleName;
|
21dfdeae
梁保满
平台管理员
|
109
|
userInfo.showRole = response.data.permissions[0]?.role;
|
aeac66d4
阿宝
飞书测试bug
|
110
111
|
commit("setToken", "isLogin");
commit("setInfo", { ...userInfo });
|
21dfdeae
梁保满
平台管理员
|
112
113
114
|
commit("setRouters", [
...userInfo.permissions[0]?.authorityRouter,
]);
|
aeac66d4
阿宝
飞书测试bug
|
115
116
117
118
119
120
121
122
123
|
state.addRouters.forEach((res) => {
router.addRoute(res);
});
router.addRoute({
path: "*",
redirect: "/404",
hidden: true,
children: [],
});
|
aeac66d4
阿宝
飞书测试bug
|
124
125
126
127
128
|
if (params.url) {
window.location.href = params.url;
} else {
router.push({ path: "/" });
}
|
42056450
阿宝
权限修改
|
129
|
} else {
|
aeac66d4
阿宝
飞书测试bug
|
130
131
132
133
134
|
Message({
message: "该账号暂无权限,请联系管理员~",
type: "error",
duration: 3 * 1000,
});
|
42056450
阿宝
权限修改
|
135
|
}
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
136
|
}
|
42056450
阿宝
权限修改
|
137
|
})
|
54857fa3
梁保满
下载模板跨域,集团管理员选择角色范...
|
138
139
140
141
142
143
144
|
.catch((err) => {
Message({
message: err,
type: "error",
duration: 3 * 1000,
});
});
|
29f8fb90
梁保满
刷新浏览器重新动态添加路由
|
145
|
},
|
b21d90ef
梁保满
长水登录
|
146
147
|
CSLogin({ state, commit }, code) {
request
|
3617eaad
梁保满
长水账号设置
|
148
|
.ssoLogin({ code: code })
|
b21d90ef
梁保满
长水登录
|
149
150
151
152
153
154
|
.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;
|
77ebf04d
梁保满
个人版
|
155
|
userInfo.showRole = response.data.permissions[0]?.role;
|
b21d90ef
梁保满
长水登录
|
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
|
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: [],
});
|
3617eaad
梁保满
长水账号设置
|
171
172
|
router.push({ path: "/" });
|
b21d90ef
梁保满
长水登录
|
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
|
} else {
Message({
message: "该账号暂无权限,请联系管理员~",
type: "error",
duration: 3 * 1000,
});
}
} else {
Message({
message: response.info,
type: "error",
duration: 3 * 1000,
});
}
})
|
3617eaad
梁保满
长水账号设置
|
188
|
.catch(() => { });
|
b21d90ef
梁保满
长水登录
|
189
|
},
|
42056450
阿宝
权限修改
|
190
191
192
193
194
195
|
permissions({ state, commit }, role) {
commit("setToken", "isLogin");
let userInfo = state.info;
let authorityRouterObj = userInfo.permissions.filter((item) => {
return item.role == role;
});
|
aeac66d4
阿宝
飞书测试bug
|
196
|
userInfo.showRoleName = authorityRouterObj[0]?.roleName;
|
77ebf04d
梁保满
个人版
|
197
|
userInfo.showRole = authorityRouterObj[0]?.role;
|
bb778c90
阿宝
设备状态
|
198
|
commit("setInfo", userInfo);
|
42056450
阿宝
权限修改
|
199
|
commit("setRouters", [...authorityRouterObj[0]?.authorityRouter]);
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
200
|
state.addRouters.forEach((res) => {
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
201
|
router.addRoute(res);
|
29f8fb90
梁保满
刷新浏览器重新动态添加路由
|
202
|
});
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
203
204
205
206
|
router.addRoute({
path: "*",
redirect: "/404",
hidden: true,
|
42056450
阿宝
权限修改
|
207
208
209
|
children: [],
});
router.push({ path: "/" });
|
11a4e518
梁保满
背题组卷修改答案设置,即使测随堂问...
|
210
|
window.location.reload()
|
42056450
阿宝
权限修改
|
211
|
},
|
c1b532ad
梁保满
权限配置,路由基础设置
|
212
213
|
},
getters: {
|
42056450
阿宝
权限修改
|
214
215
|
addRouters: (state) => state.addRouters,
token: (state) => state.token,
|
7812e986
梁保满
班主任查看报表添加额外信息
|
216
|
csCode: (state) => state.csCode,
|
42056450
阿宝
权限修改
|
217
218
|
info: (state) => state.info,
routers: (state) => state.routers,
|
7812e986
梁保满
班主任查看报表添加额外信息
|
219
|
classes: (state) => state.classes,
|
42056450
阿宝
权限修改
|
220
221
222
223
224
|
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,
|
ce278878
梁保满
2-2 bugfix
|
225
|
refreshTestList: (state) => state.refreshTestList,
|
c1b532ad
梁保满
权限配置,路由基础设置
|
226
227
|
},
modules: {
|
42056450
阿宝
权限修改
|
228
229
230
|
layoutStore,
},
});
|
c1b532ad
梁保满
权限配置,路由基础设置
|
231
|
|
42056450
阿宝
权限修改
|
232
|
export default store;
|