Skip to content

Commit 59db0bb

Browse files
committed
Merge branch 'dev' into pr/29
2 parents 55d26ac + c602be3 commit 59db0bb

File tree

5 files changed

+567
-302
lines changed

5 files changed

+567
-302
lines changed

src/config/router.config.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,21 @@ export const asyncRouterMap = [
169169
}
170170
]
171171
},
172+
{
173+
path: '/system',
174+
name: 'system',
175+
component: RouteView,
176+
redirect: '/system/role',
177+
meta: { title: '系统管理', icon: 'setting', permission: [ 'table' ] },
178+
children: [
179+
{
180+
path: '/system/role',
181+
name: 'SystemRole',
182+
component: () => import('@/views/role/RoleList'),
183+
meta: { title: '角色列表', permission: [ 'table' ]}
184+
}
185+
]
186+
},
172187

173188
// result
174189
{

src/main.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import 'ant-design-vue/dist/antd.less' // or 'ant-design-vue/dist/antd.less'
1212

1313
import '@/permission' // permission control
1414
import '@/utils/filter' // base filter
15+
import PermissionHelper from '@/utils/helper/permission'
1516

1617
import {
1718
ACCESS_TOKEN,
@@ -33,6 +34,7 @@ Vue.use(Storage, config.storageOptions)
3334
Vue.use(Antd)
3435
Vue.use(VueAxios, router)
3536
Vue.use(Viser)
37+
Vue.use(PermissionHelper)
3638

3739
new Vue({
3840
router,

src/utils/helper/permission.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
const PERMISSION_ENUM = {
2+
'add': { key: 'add', label: '新增' },
3+
'delete': { key: 'delete', label: '删除' },
4+
'edit': { key: 'edit', label: '修改' },
5+
'query': { key: 'query', label: '查询' },
6+
'get': { key: 'get', label: '详情' },
7+
'enable': { key: 'enable', label: '启用' },
8+
'disable': { key: 'disable', label: '禁用' },
9+
'import': { key: 'import', label: '导入' },
10+
'export': { key: 'import', label: '导入' },
11+
};
12+
13+
function plugin(Vue) {
14+
15+
if (plugin.installed) {
16+
return;
17+
}
18+
19+
!Vue.prototype.$auth && Object.defineProperties(Vue.prototype, {
20+
$auth: {
21+
get() {
22+
const _this = this;
23+
return (permissions) => {
24+
let [permission, action] = permissions.split('.');
25+
const permissionList = _this.$store.getters.roles.permissions;
26+
permissionList.find((val) => {
27+
return val.permissionId === permission
28+
}).actionList.findIndex((val) => {
29+
return val === action
30+
});
31+
return false
32+
}
33+
}
34+
}
35+
});
36+
37+
!Vue.prototype.$enum && Object.defineProperties(Vue.prototype, {
38+
$enum: {
39+
get() {
40+
// const _this = this;
41+
return (val) => {
42+
let result = PERMISSION_ENUM;
43+
val && val.split('.').forEach(v => {
44+
result = result && result[v] || null
45+
});
46+
return result
47+
}
48+
}
49+
}
50+
});
51+
}
52+
53+
export default plugin

0 commit comments

Comments
 (0)