+ 2 - 1
security-protection-platform/src/store/index.js

@ -35,8 +35,9 @@ export default () => {
35 35
      isLogged: false
36 36
    },
37 37
    mutations: {
38
      setLogged(state, token) {
38
      setLogged (state, token) {
39 39
        state.isLogged = token
40
        console.log(token)
40 41
      }
41 42
    }
42 43
  })

+ 54 - 26
security-protection-platform/src/store/modules/permission.js

@ -1,16 +1,22 @@
1 1
import { asyncRoutes, constantRoutes } from '@/routes'
2
3 2
/*
4 3
 * Use meta.role to determine if the current user has permission
5 4
 * @param roles
6 5
 * @param route
7 6
 */
8
function hasPermission(roles, route) {
9
  if (route.meta && route.meta.roles) {
10
    return roles.some(role => route.meta.roles.includes(role))
11
  } else {
12
    return true
13
  }
7
function hasPermission (permission, route) {
8
  // if (route.meta && route.meta.roles) {
9
  //   return roles.some(role => route.meta.roles.includes(role))
10
  // } else {
11
  //   return true
12
  // }
13
  var x = false
14
  permission.forEach(e => {
15
    if (e[0] === route.path) {
16
      x = true
17
    }
18
  })
19
  return x
14 20
}
15 21
16 22
/**
@ -18,20 +24,33 @@ function hasPermission(roles, route) {
18 24
 * @param routes asyncRoutes
19 25
 * @param roles
20 26
 */
21
export function filterAsyncRoutes(routes, roles) {
22
  const res = []
27
// export function filterAsyncRoutes (routes, roles) {
28
//   const res = []
23 29
24
  routes.forEach(route => {
25
    const tmp = { ...route }
26
    if (hasPermission(roles, tmp)) {
27
      if (tmp.children) {
28
        tmp.children = filterAsyncRoutes(tmp.children, roles)
30
//   routes.forEach(route => {
31
//     const tmp = { ...route }
32
//     if (hasPermission(roles, tmp)) {
33
//       if (tmp.children) {
34
//         tmp.children = filterAsyncRoutes(tmp.children, roles)
35
//       }
36
//       res.push(tmp)
37
//     }
38
//   })
39
40
//   return res
41
// }
42
function filterAsyncRoutes (routerMap, roles, map) {
43
  const accessedRouters = routerMap.filter(route => {
44
    // if (hasPermission(roles.permissionList, route) && map[route.path] || route.path === '/') {
45
    if (hasPermission(map, route) || route.path === '/') {
46
      if (route.children && route.children.length) {
47
        route.children = filterAsyncRoutes(route.children, roles, map)
29 48
      }
30
      res.push(tmp)
49
      return true
31 50
    }
51
    return false
32 52
  })
33
34
  return res
53
  return accessedRouters
35 54
}
36 55
37 56
const state = {
@ -47,16 +66,25 @@ const mutations = {
47 66
}
48 67
49 68
const actions = {
50
  generateRoutes({ commit }, roles) {
69
  // generateRoutes ({ commit }, roles) {
70
  //   return new Promise(resolve => {
71
  //     let accessedRoutes
72
  //     if (roles.includes('admin')) {
73
  //       accessedRoutes = asyncRoutes || []
74
  //     } else {
75
  //       accessedRoutes = filterAsyncRoutes(asyncRoutes, roles,menus)
76
  //     }
77
  //     commit('SET_ROUTES', accessedRoutes)
78
  //     resolve(accessedRoutes)
79
  //   })
80
  // }
81
  generateRoutes ({ commit }, roles) {
82
    var menus = JSON.parse(localStorage.getItem('menus'))
51 83
    return new Promise(resolve => {
52
      let accessedRoutes
53
      if (roles.includes('admin')) {
54
        accessedRoutes = asyncRoutes || []
55
      } else {
56
        accessedRoutes = filterAsyncRoutes(asyncRoutes, roles)
57
      }
58
      commit('SET_ROUTES', accessedRoutes)
59
      resolve(accessedRoutes)
84
      let accessedRouters
85
      accessedRouters = filterAsyncRoutes(asyncRoutes, roles, menus)
86
      commit('SET_ROUTES', accessedRouters)
87
      resolve()
60 88
    })
61 89
  }
62 90
}

liuyang50/common-ui - Nuosi Git Service

6 Commits (master)

Auteur SHA1 Bericht Datum
  liuyang cbd21de32b add: 新增antv-x6组件模块,目前只支持上图下文字模式,后续会扩展 2 jaren geleden
  liuyang 078f8b3015 update: 修改使用中的细节 2 jaren geleden
  liuyang 1360efe95e update: 修改表单先关接入方式 2 jaren geleden
  liuyang 495d3fe273 fixed: 修改表格插件 + 修改svg-icon为common-icon 2 jaren geleden
  liuyang 1f47f42333 fixed: 修改svg图标显示颜色 + 编写UI文档 2 jaren geleden
  liuyang b53d9d73ad create: 创建common-ui工程 2 jaren geleden