Blame view

src/utils/routerList.js 18.7 KB
1de913cf   ren   sdf
1
  import Layout from '@/layout'
e0ca3a6e   yangzhi   大家快来看 王哥在看琅琊榜
2
  import { getInfo } from '../store/modules/user.js'
1de913cf   ren   sdf
3
  
af0f0cde   周超   22
4
  
0d10fa49   yangzhi   超哥牛批
5
  export function getRoutes(permissions) {
e0ca3a6e   yangzhi   大家快来看 王哥在看琅琊榜
6
7
8
9
      let userInfo = {}
      if (localStorage.userinfo) {
          userInfo = JSON.parse(localStorage.userinfo)
      }
0d10fa49   yangzhi   超哥牛批
10
11
12
      var permissions = userInfo.permissions || [];
  
  
e0ca3a6e   yangzhi   大家快来看 王哥在看琅琊榜
13
      let constantRoutes1 = []
af0f0cde   周超   22
14
      if (userInfo.UserId == 1) {
e0ca3a6e   yangzhi   大家快来看 王哥在看琅琊榜
15
          constantRoutes1 = [{
af0f0cde   周超   22
16
                  path: '/login',
e0ca3a6e   yangzhi   大家快来看 王哥在看琅琊榜
17
                  component: () =>
af0f0cde   周超   22
18
                      import ('@/views/login/index'),
e0ca3a6e   yangzhi   大家快来看 王哥在看琅琊榜
19
                  hidden: true
e0ca3a6e   yangzhi   大家快来看 王哥在看琅琊榜
20
              },
1de913cf   ren   sdf
21
  
af0f0cde   周超   22
22
23
              {
                  path: '/404',
e0ca3a6e   yangzhi   大家快来看 王哥在看琅琊榜
24
                  component: () =>
688c8a3a   yangzhi   删除了404页面
25
                      import ('@/views/dashboard/index'),
af0f0cde   周超   22
26
                  hidden: true
1de913cf   ren   sdf
27
              },
1de913cf   ren   sdf
28
              {
af0f0cde   周超   22
29
                  path: '/resume/malestaff',
78156aa6   yangzhi   级联菜单
30
                  component: () =>
af0f0cde   周超   22
31
32
                      import ('@/views/resume/malestaff.vue'),
                  hidden: true
78156aa6   yangzhi   级联菜单
33
              },
78156aa6   yangzhi   级联菜单
34
              {
af0f0cde   周超   22
35
                  path: '/resume/femalestaff',
876011a8   周超   给志哥
36
                  component: () =>
af0f0cde   周超   22
37
38
                      import ('@/views/resume/femalestaff.vue'),
                  hidden: true
ab275674   yangzhi   我在阳台抽烟 风抽一半我抽一半 我...
39
              },
af0f0cde   周超   22
40
41
42
              {
                  path: '/live',
                  name: '直播',
876011a8   周超   给志哥
43
                  component: () =>
af0f0cde   周超   22
44
45
                      import ('@/views/live/index'),
                  hidden: true
1de913cf   ren   sdf
46
47
              },
              {
af0f0cde   周超   22
48
49
                  path: '/answerDetail',
                  name: '答题详情',
876011a8   周超   给志哥
50
                  component: () =>
af0f0cde   周超   22
51
52
                      import ('@/views/AnswerResult/detail.vue'),
                  hidden: true
1de913cf   ren   sdf
53
              },
e0ca3a6e   yangzhi   大家快来看 王哥在看琅琊榜
54
              {
af0f0cde   周超   22
55
56
57
58
59
60
61
62
63
64
65
66
67
68
                  path: '/',
                  component: Layout,
                  redirect: '/dashboard',
                  children: [{
                      path: 'dashboard',
                      name: '首页',
                      component: () =>
                          import ('@/views/dashboard/index'),
                      meta: {
                          title: '首页',
                          icon: 'dashboard'
                      }
                  }]
              },
bde7e20f   周超   用户导入记录
69
  
af0f0cde   周超   22
70
71
72
73
74
              {
                  path: '/example',
                  component: Layout,
                  redirect: '/example/table',
                  name: 'Example',
876011a8   周超   给志哥
75
                  meta: {
af0f0cde   周超   22
76
77
78
79
80
81
82
83
84
85
86
87
88
                      title: '题库管理',
                      icon: 'el-icon-s-help'
                  },
                  children: [{
                      path: 'QuestionBank',
                      name: 'Table',
                      component: () =>
                          import ('@/views/QuestionBank/index'),
                      meta: {
                          title: '题库',
                          icon: 'table'
                      }
                  }]
876011a8   周超   给志哥
89
              },
af0f0cde   周超   22
90
  
876011a8   周超   给志哥
91
              {
af0f0cde   周超   22
92
93
94
95
                  path: '/views',
                  component: Layout,
                  redirect: '/views/TestPaper',
                  name: 'TestPaper',
876011a8   周超   给志哥
96
                  meta: {
af0f0cde   周超   22
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
                      title: '试卷管理',
                      icon: 'el-icon-s-help'
                  },
                  children: [{
                          path: 'TestPaperList',
                          name: 'Table',
                          component: () =>
                              import ('@/views/TestPaper/TestPaperList'),
                          meta: {
                              title: '试卷列表',
                              icon: 'table'
                          }
                      },
                      {
                          path: 'ManualTestPaper',
                          name: 'Table',
                          component: () =>
                              import ('@/views/TestPaper/ManualTestPaper'),
                          meta: {
                              title: '组卷',
                              icon: 'table'
                          }
                      },
1de913cf   ren   sdf
120
  
af0f0cde   周超   22
121
                  ]
876011a8   周超   给志哥
122
              },
af0f0cde   周超   22
123
124
125
126
127
128
129
130
131
              {
                  code: '用户管理',
                  path: '/user',
                  component: Layout,
                  redirect: '/',
                  name: 'user',
                  meta: {
                      title: '用户管理',
                      icon: 'el-icon-s-help'
04aebc72   周超   11
132
                  },
af0f0cde   周超   22
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
                  children: [{
                          code: '人才库',
                          path: 'user',
                          name: 'User',
                          component: () =>
                              import ('@/views/user/userlist'),
                          meta: {
                              title: '人才库',
                          }
                      },
                      {
                          code: '面试时间表',
                          path: 'interviewSchedule',
                          name: 'interviewSchedule',
                          component: () =>
                              import ('@/views/user/InterviewSchedule'),
                          meta: {
                              title: '面试时间表',
                          }
                      },
63deedae   yangzhi   Merge branch 'dev...
153
  
af0f0cde   周超   22
154
155
156
157
                      {
                          code: 'importuser',
                          path: 'importuser',
                          name: 'importuser',
6239b676   yangzhi   超哥摸鱼去了
158
  
af0f0cde   周超   22
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
                          component: () =>
                              import ('@/views/user/picuserimport'),
                          meta: {
                              title: '图片导入用户',
                          }
                      },
                      {
                          code: 'admin',
                          path: 'admin',
                          name: 'admin',
                          component: () =>
                              import ('@/views/user/adminList'),
                          meta: {
                              title: '管理员列表',
                              permissions: ['admin']
                          }
                      },
  
                  ]
              }, {
                  path: '/password',
                  component: Layout,
                  redirect: '/',
                  name: 'password',
                  meta: {
                      title: '系统管理',
                      icon: 'el-icon-s-platform'
b32564ca   周超   11
186
                  },
af0f0cde   周超   22
187
188
189
                  children: [{
                          path: 'userdimset',
                          name: 'impouserdimsetrtuser',
6239b676   yangzhi   超哥摸鱼去了
190
  
af0f0cde   周超   22
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
                          component: () =>
                              import ('@/views/user/userdimset'),
                          meta: {
                              title: '维度规则设置',
                              permissions: ['admin']
                          }
                      },
                      {
                          path: 'index',
                          name: 'index',
                          component: () =>
                              import ('@/views/password/index'),
                          meta: {
                              title: '忘记密码',
                          }
                      },
63deedae   yangzhi   Merge branch 'dev...
207
  
af0f0cde   周超   22
208
209
210
211
212
213
214
215
216
217
218
219
220
                      {
                          code: 'settings',
                          path: 'settings',
                          name: 'settings',
                          component: () =>
                              import ('@/views/settings/index'),
                          meta: {
                              title: '系统设置',
                          }
                      },
                      {
                          path: 'TestPaperClass',
                          name: 'Table',
6239b676   yangzhi   超哥摸鱼去了
221
                          component: () =>
af0f0cde   周超   22
222
                              import ('@/views/TestPaper/TestPaperClass'),
6239b676   yangzhi   超哥摸鱼去了
223
                          meta: {
af0f0cde   周超   22
224
225
                              title: '分类管理',
                              permissions: ['admin']
6239b676   yangzhi   超哥摸鱼去了
226
227
                          }
                      }, {
af0f0cde   周超   22
228
229
                          path: 'carousel',
                          name: 'carousel',
6239b676   yangzhi   超哥摸鱼去了
230
                          component: () =>
af0f0cde   周超   22
231
                              import ('@/views/carousel/index'),
6239b676   yangzhi   超哥摸鱼去了
232
                          meta: {
af0f0cde   周超   22
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
                              title: '轮播图',
                              permissions: ['admin']
                          }
                      }, {
                          path: 'new',
                          name: 'new',
                          component: () =>
                              import ('@/views/carousel/new'),
                          meta: {
                              title: '最新资讯',
                              permissions: ['admin']
                          }
                      }, {
                          code: 'rolelist',
                          path: 'role',
                          name: 'rolelist',
                          component: () =>
                              import ('@/views/user/rolelist'),
                          meta: {
                              title: '角色权限',
                              permissions: ['admin']
                          }
                      },
                      {
                          code: 'logs',
                          path: 'logs',
                          name: 'logs',
63deedae   yangzhi   Merge branch 'dev...
260
  
af0f0cde   周超   22
261
262
263
264
265
266
267
268
269
270
271
                          component: () =>
                              import ('@/views/user/loglist'),
                          meta: {
                              title: '系统日志',
                          }
                      },
                  ]
              },
              // 404 page must be placed at the end !!!
              {
                  path: '*',
688c8a3a   yangzhi   删除了404页面
272
                  redirect: '/dashboard',
af0f0cde   周超   22
273
274
275
276
277
278
279
280
281
282
                  hidden: true
              }
          ]
      } else {
          constantRoutes1 = [{
                  path: '/login',
                  component: () =>
                      import ('@/views/login/index'),
                  hidden: true
              },
63deedae   yangzhi   Merge branch 'dev...
283
  
af0f0cde   周超   22
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
              {
                  path: '/404',
                  component: () =>
                      import ('@/views/404'),
                  hidden: true
              },
              {
                  path: '/resume/malestaff',
                  component: () =>
                      import ('@/views/resume/malestaff.vue'),
                  hidden: true
              },
              {
                  path: '/resume/femalestaff',
                  component: () =>
                      import ('@/views/resume/femalestaff.vue'),
                  hidden: true
              },
af0f0cde   周超   22
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
              {
                  path: '/live',
                  name: '直播',
                  component: () =>
                      import ('@/views/live/index'),
                  hidden: true
              },
              {
                  path: '/answerDetail',
                  name: '答题详情',
                  component: () =>
                      import ('@/views/AnswerResult/detail.vue'),
                  hidden: true
              },
              {
                  path: '/',
                  component: Layout,
                  redirect: '/dashboard',
                  children: [{
                      path: 'dashboard',
                      name: '首页',
                      component: () =>
                          import ('@/views/dashboard/index'),
                      meta: {
                          title: '首页',
                          icon: 'dashboard'
                      }
                  }]
              },
63deedae   yangzhi   Merge branch 'dev...
331
  
af0f0cde   周超   22
332
              {
0d10fa49   yangzhi   超哥牛批
333
                  path: '/example',
af0f0cde   周超   22
334
                  component: Layout,
0d10fa49   yangzhi   超哥牛批
335
336
                  redirect: '/example/table',
                  name: 'Example',
af0f0cde   周超   22
337
                  meta: {
0d10fa49   yangzhi   超哥牛批
338
                      title: '题库管理',
af0f0cde   周超   22
339
340
341
                      icon: 'el-icon-s-help'
                  },
                  children: [{
0d10fa49   yangzhi   超哥牛批
342
343
                      path: 'QuestionBank',
                      name: 'Table',
af0f0cde   周超   22
344
                      component: () =>
0d10fa49   yangzhi   超哥牛批
345
                          import ('@/views/QuestionBank/index'),
af0f0cde   周超   22
346
                      meta: {
0d10fa49   yangzhi   超哥牛批
347
348
                          title: '题库',
                          icon: 'table'
af0f0cde   周超   22
349
350
351
                      }
                  }]
              },
0d10fa49   yangzhi   超哥牛批
352
  
af0f0cde   周超   22
353
              {
0d10fa49   yangzhi   超哥牛批
354
                  path: '/views',
af0f0cde   周超   22
355
                  component: Layout,
0d10fa49   yangzhi   超哥牛批
356
357
                  redirect: '/views/TestPaper',
                  name: 'TestPaper',
af0f0cde   周超   22
358
                  meta: {
0d10fa49   yangzhi   超哥牛批
359
                      title: '试卷管理',
af0f0cde   周超   22
360
361
362
                      icon: 'el-icon-s-help'
                  },
                  children: [{
0d10fa49   yangzhi   超哥牛批
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
                          path: 'TestPaperList',
                          name: 'Table',
                          component: () =>
                              import ('@/views/TestPaper/TestPaperList'),
                          meta: {
                              title: '试卷列表',
                              icon: 'table'
                          }
                      },
                      {
                          path: 'ManualTestPaper',
                          name: 'Table',
                          component: () =>
                              import ('@/views/TestPaper/ManualTestPaper'),
                          meta: {
                              title: '组卷',
                              icon: 'table'
                          }
                      },
af0f0cde   周超   22
382
  
0d10fa49   yangzhi   超哥牛批
383
                  ]
af0f0cde   周超   22
384
385
              },
              {
0d10fa49   yangzhi   超哥牛批
386
                  code: '用户管理',
af0f0cde   周超   22
387
388
389
390
391
392
393
394
395
                  path: '/user',
                  component: Layout,
                  redirect: '/',
                  name: 'user',
                  meta: {
                      title: '用户管理',
                      icon: 'el-icon-s-help'
                  },
                  children: [{
0d10fa49   yangzhi   超哥牛批
396
                          code: '人才库',
af0f0cde   周超   22
397
398
399
400
401
                          path: 'user',
                          name: 'User',
                          component: () =>
                              import ('@/views/user/userlist'),
                          meta: {
0d10fa49   yangzhi   超哥牛批
402
                              title: '人才库',
af0f0cde   周超   22
403
404
                          }
                      },
0d10fa49   yangzhi   超哥牛批
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
                      {
                          code: '面试时间表',
                          path: 'interviewSchedule',
                          name: 'interviewSchedule',
                          component: () =>
                              import ('@/views/user/InterviewSchedule'),
                          meta: {
                              title: '面试时间表',
                          }
                      },
  
                      {
                          code: 'importuser',
                          path: 'importuser',
                          name: 'importuser',
63deedae   yangzhi   Merge branch 'dev...
420
  
0d10fa49   yangzhi   超哥牛批
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
                          component: () =>
                              import ('@/views/user/picuserimport'),
                          meta: {
                              title: '图片导入用户',
                          }
                      },
                      {
                          code: 'admin',
                          path: 'admin',
                          name: 'admin',
                          component: () =>
                              import ('@/views/user/adminList'),
                          meta: {
                              title: '管理员列表',
                              permissions: ['admin']
                          }
                      },
1de913cf   ren   sdf
438
  
af0f0cde   周超   22
439
440
441
442
443
444
445
446
447
448
                  ]
              }, {
                  path: '/password',
                  component: Layout,
                  redirect: '/',
                  name: 'password',
                  meta: {
                      title: '系统管理',
                      icon: 'el-icon-s-platform'
                  },
0d10fa49   yangzhi   超哥牛批
449
  
af0f0cde   周超   22
450
                  children: [{
0d10fa49   yangzhi   超哥牛批
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
                          path: 'userdimset',
                          name: 'impouserdimsetrtuser',
  
                          component: () =>
                              import ('@/views/user/userdimset'),
                          meta: {
                              title: '维度规则设置',
                              permissions: ['admin']
                          }
                      },
                      {
                          path: 'index',
                          name: 'index',
                          component: () =>
                              import ('@/views/password/index'),
                          meta: {
                              title: '忘记密码',
                          }
                      },
  
                      {
                          code: 'settings',
                          path: 'settings',
                          name: 'settings',
                          component: () =>
                              import ('@/views/settings/index'),
                          meta: {
                              title: '系统设置',
                          }
                      },
                      {
                          path: 'TestPaperClass',
                          name: 'Table',
                          component: () =>
                              import ('@/views/TestPaper/TestPaperClass'),
                          meta: {
                              title: '分类管理',
                              permissions: ['admin']
                          }
                      }, {
                          path: 'carousel',
                          name: 'carousel',
                          component: () =>
                              import ('@/views/carousel/index'),
                          meta: {
                              title: '轮播图',
                              permissions: ['admin']
                          }
                      }, {
                          path: 'new',
                          name: 'new',
                          component: () =>
                              import ('@/views/carousel/new'),
                          meta: {
                              title: '最新资讯',
                              permissions: ['admin']
                          }
                      }, {
                          code: 'rolelist',
                          path: 'role',
                          name: 'rolelist',
                          component: () =>
                              import ('@/views/user/rolelist'),
                          meta: {
                              title: '角色权限',
                              permissions: ['admin']
                          }
                      },
                      {
                          code: 'logs',
                          path: 'logs',
                          name: 'logs',
  
                          component: () =>
                              import ('@/views/user/loglist'),
                          meta: {
                              title: '系统日志',
                          }
                      },
                  ]
af0f0cde   周超   22
531
532
533
534
              },
              // 404 page must be placed at the end !!!
              {
                  path: '*',
688c8a3a   yangzhi   删除了404页面
535
                  redirect: '/dashboard',
0d10fa49   yangzhi   超哥牛批
536
                  hidden: true
af0f0cde   周超   22
537
538
539
              }
          ]
      }
c33c1243   周超   拉取王哥最新的
540
  
c33c1243   周超   拉取王哥最新的
541
  
0d10fa49   yangzhi   超哥牛批
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
      function hasPermission(permissions, route) {
          if (route.meta && route.meta.permissions) {
              return permissions.some((role) => route.meta.permissions.includes(role));
          } else {
              return true;
          }
      }
  
  
      function filterAsyncRoutes(routes, permissions) {
          const finallyRoutes = [];
          routes.forEach((route) => {
              const item = {...route };
              if (hasPermission(permissions, item)) {
                  if (item.children) {
                      item.children = filterAsyncRoutes(item.children, permissions);
                  }
                  finallyRoutes.push(item);
              }
          });
          return finallyRoutes;
      }
      constantRoutes1 = filterAsyncRoutes(constantRoutes1, permissions);
  
af0f0cde   周超   22
566
567
      return constantRoutes1;
  }