Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
ant-design-pro-vue
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tianzhuanghu
ant-design-pro-vue
Commits
69cef260
Commit
69cef260
authored
Sep 25, 2018
by
Sendya
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add demo permission
parent
1415b75d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
42 additions
and
41 deletions
+42
-41
LayoutMain.vue
src/components/layout/LayoutMain.vue
+2
-1
index.js
src/router/index.js
+37
-37
permission.js
src/store/modules/permission.js
+1
-1
user.js
src/store/modules/user.js
+2
-2
No files found.
src/components/layout/LayoutMain.vue
View file @
69cef260
...
...
@@ -66,10 +66,11 @@
}
},
created
()
{
this
.
menus
=
asyncRouterMap
this
.
menus
=
this
.
mainMenu
},
computed
:
{
...
mapState
({
mainMenu
:
state
=>
state
.
permission
.
addRouters
,
siderOpen
:
state
=>
state
.
app
.
sidebar
.
opened
,
theme
:
state
=>
state
.
app
.
theme
,
device
:
state
=>
state
.
app
.
device
,
...
...
src/router/index.js
View file @
69cef260
...
...
@@ -52,26 +52,26 @@ export const asyncRouterMap = [
component
:
Layout
,
name
:
'dashboard'
,
redirect
:
'/dashboard/workplace'
,
meta
:
{
title
:
'仪表盘'
,
icon
:
'dashboard'
},
meta
:
{
title
:
'仪表盘'
,
icon
:
'dashboard'
,
permission
:
[
'dashboard'
]
},
children
:
[
{
path
:
'/dashboard/analysis'
,
name
:
'Analysis'
,
component
:
()
=>
import
(
'../views/dashboard/Analysis'
),
meta
:
{
title
:
'分析页'
,
hideHeader
:
true
}
meta
:
{
title
:
'分析页'
,
hideHeader
:
true
,
permission
:
[
'dashboard'
]
}
},
{
path
:
'/dashboard/monitor'
,
name
:
'Monitor'
,
hidden
:
true
,
component
:
()
=>
import
(
'../views/dashboard/Monitor'
),
meta
:
{
title
:
'监控页'
,
hideHeader
:
true
}
meta
:
{
title
:
'监控页'
,
hideHeader
:
true
,
permission
:
[
'dashboard'
]
}
},
{
path
:
'/dashboard/workplace'
,
name
:
'Workplace'
,
component
:
()
=>
import
(
'../views/dashboard/Workplace'
),
meta
:
{
title
:
'工作台'
}
meta
:
{
title
:
'工作台'
,
permission
:
[
'dashboard'
]
}
}
]
},
...
...
@@ -80,25 +80,25 @@ export const asyncRouterMap = [
component
:
LayoutBase
,
name
:
'form'
,
redirect
:
'/form/base-form'
,
meta
:
{
title
:
'表单页'
,
icon
:
'form'
},
meta
:
{
title
:
'表单页'
,
icon
:
'form'
,
permission
:
[
'form'
]
},
children
:
[
{
path
:
'/form/base-form'
,
name
:
'BaseForm'
,
component
:
()
=>
import
(
'../views/form/BasicForm'
),
meta
:
{
title
:
'基础表单'
}
meta
:
{
title
:
'基础表单'
,
permission
:
[
'form'
]
}
},
{
path
:
'/form/step-form'
,
name
:
'StepForm'
,
component
:
()
=>
import
(
'../views/form/stepForm/StepForm'
),
meta
:
{
title
:
'分步表单'
}
meta
:
{
title
:
'分步表单'
,
permission
:
[
'form'
]
}
},
{
path
:
'/form/advanced-form'
,
name
:
'AdvanceForm'
,
component
:
()
=>
import
(
'../views/form/advancedForm/AdvancedForm'
),
meta
:
{
title
:
'高级表单'
}
meta
:
{
title
:
'高级表单'
,
permission
:
[
'form'
]
}
}
]
},
...
...
@@ -107,68 +107,68 @@ export const asyncRouterMap = [
component
:
LayoutBase
,
name
:
'list'
,
redirect
:
'/list/query-list'
,
meta
:
{
title
:
'列表页'
,
icon
:
'table'
},
meta
:
{
title
:
'列表页'
,
icon
:
'table'
,
permission
:
[
'table'
]
},
children
:
[
{
path
:
'/list/query-list'
,
name
:
'QueryList'
,
component
:
()
=>
import
(
'@/views/list/TableList'
),
meta
:
{
title
:
'查询表格'
}
meta
:
{
title
:
'查询表格'
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/edit-table'
,
name
:
'EditList'
,
component
:
()
=>
import
(
'@/views/list/TableInnerEditList'
),
meta
:
{
title
:
'内联编辑表格'
}
meta
:
{
title
:
'内联编辑表格'
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/role-list'
,
name
:
'RoleList'
,
component
:
()
=>
import
(
'@/views/list/RoleList'
),
meta
:
{
title
:
'角色列表'
}
meta
:
{
title
:
'角色列表'
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/permission-list'
,
name
:
'PermissionList'
,
component
:
()
=>
import
(
'@/views/list/PermissionList'
),
meta
:
{
title
:
'权限列表'
}
meta
:
{
title
:
'权限列表'
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/basic-list'
,
name
:
'BasicList'
,
component
:
()
=>
import
(
'@/views/list/StandardList'
),
meta
:
{
title
:
'标准列表'
}
meta
:
{
title
:
'标准列表'
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/card'
,
name
:
'CardList'
,
component
:
()
=>
import
(
'@/views/list/CardList'
),
meta
:
{
title
:
'卡片列表'
}
meta
:
{
title
:
'卡片列表'
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/search'
,
name
:
'SearchList'
,
component
:
()
=>
import
(
'@/views/list/search/SearchLayout'
),
redirect
:
'/list/search/article'
,
meta
:
{
title
:
'搜索列表'
},
meta
:
{
title
:
'搜索列表'
,
permission
:
[
'table'
]
},
children
:
[
{
path
:
'/list/search/article'
,
name
:
'SearchArticles'
,
component
:
()
=>
import
(
'../views/list/TableList'
),
meta
:
{
title
:
'搜索列表(文章)'
}
meta
:
{
title
:
'搜索列表(文章)'
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/search/project'
,
name
:
'SearchProjects'
,
component
:
()
=>
import
(
'../views/list/TableList'
),
meta
:
{
title
:
'搜索列表(项目)'
}
meta
:
{
title
:
'搜索列表(项目)'
,
permission
:
[
'table'
]
}
},
{
path
:
'/list/search/application'
,
name
:
'SearchApplications'
,
component
:
()
=>
import
(
'../views/list/TableList'
),
meta
:
{
title
:
'搜索列表(应用)'
}
meta
:
{
title
:
'搜索列表(应用)'
,
permission
:
[
'table'
]
}
},
]
},
...
...
@@ -179,19 +179,19 @@ export const asyncRouterMap = [
component
:
Layout
,
name
:
'profile'
,
redirect
:
'/profile/basic'
,
meta
:
{
title
:
'详情页'
,
icon
:
'profile'
},
meta
:
{
title
:
'详情页'
,
icon
:
'profile'
,
permission
:
[
'profile'
]
},
children
:
[
{
path
:
'/profile/basic'
,
name
:
'ProfileBasic'
,
component
:
()
=>
import
(
'@/views/profile/basic/Index'
),
meta
:
{
title
:
'基础详情页'
}
meta
:
{
title
:
'基础详情页'
,
permission
:
[
'profile'
]
}
},
{
path
:
'/profile/advanced'
,
name
:
'ProfileAdvanced'
,
component
:
()
=>
import
(
'@/views/profile/advanced/Advanced'
),
meta
:
{
title
:
'高级详情页'
}
meta
:
{
title
:
'高级详情页'
,
permission
:
[
'profile'
]
}
}
]
},
...
...
@@ -200,13 +200,13 @@ export const asyncRouterMap = [
component
:
LayoutBase
,
name
:
'result'
,
redirect
:
'/result/success'
,
meta
:
{
title
:
'结果页'
,
icon
:
'check-circle-o'
},
meta
:
{
title
:
'结果页'
,
icon
:
'check-circle-o'
,
permission
:
[
'result'
]
},
children
:
[
{
path
:
'/result/success'
,
name
:
'ResultSuccess'
,
component
:
()
=>
import
(
/* webpackChunkName: "result" */
'../views/result/Success'
),
meta
:
{
title
:
'成功'
,
hiddenPageHeader
:
true
}
meta
:
{
title
:
'成功'
,
hiddenPageHeader
:
true
,
permission
:
[
'result'
]
}
},
{
path
:
'/result/fail'
,
...
...
@@ -215,7 +215,7 @@ export const asyncRouterMap = [
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component
:
()
=>
import
(
/* webpackChunkName: "result" */
'../views/result/Error'
),
meta
:
{
title
:
'失败'
,
hiddenPageHeader
:
true
}
meta
:
{
title
:
'失败'
,
hiddenPageHeader
:
true
,
permission
:
[
'result'
]
}
}
]
},
...
...
@@ -224,13 +224,13 @@ export const asyncRouterMap = [
component
:
Layout
,
name
:
'exception'
,
redirect
:
'/exception/403'
,
meta
:
{
title
:
'异常页'
,
icon
:
'warning'
},
meta
:
{
title
:
'异常页'
,
icon
:
'warning'
,
permission
:
[
'exception'
]
},
children
:
[
{
path
:
'/exception/403'
,
name
:
'Exception403'
,
component
:
()
=>
import
(
/* webpackChunkName: "fail" */
'../views/exception/403'
),
meta
:
{
title
:
'403'
}
meta
:
{
title
:
'403'
,
permission
:
[
'exception'
]
}
},
{
path
:
'/exception/404'
,
...
...
@@ -239,7 +239,7 @@ export const asyncRouterMap = [
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component
:
()
=>
import
(
/* webpackChunkName: "fail" */
'../views/exception/404'
),
meta
:
{
title
:
'404'
}
meta
:
{
title
:
'404'
,
permission
:
[
'exception'
]
}
},
{
path
:
'/exception/500'
,
...
...
@@ -248,7 +248,7 @@ export const asyncRouterMap = [
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component
:
()
=>
import
(
/* webpackChunkName: "fail" */
'../views/exception/500'
),
meta
:
{
title
:
'500'
}
meta
:
{
title
:
'500'
,
permission
:
[
'exception'
]
}
}
]
},
...
...
@@ -256,19 +256,19 @@ export const asyncRouterMap = [
path
:
'/account'
,
component
:
Layout
,
name
:
'account'
,
meta
:
{
title
:
'个人页'
,
icon
:
'user'
,
keepAlive
:
true
},
meta
:
{
title
:
'个人页'
,
icon
:
'user'
,
keepAlive
:
true
,
permission
:
[
'user'
]
},
children
:
[
{
path
:
'/account/center'
,
name
:
'center'
,
component
:
()
=>
import
(
'@/views/account/center/Index'
),
meta
:
{
title
:
'个人中心'
,
keepAlive
:
true
}
meta
:
{
title
:
'个人中心'
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings'
,
name
:
'settings'
,
component
:
()
=>
import
(
'@/views/account/settings/Index'
),
meta
:
{
title
:
'个人设置'
,
hideHeader
:
true
,
keepAlive
:
true
},
meta
:
{
title
:
'个人设置'
,
hideHeader
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
},
redirect
:
'/account/settings/base'
,
alwaysShow
:
true
,
children
:
[
...
...
@@ -276,31 +276,31 @@ export const asyncRouterMap = [
path
:
'/account/settings/base'
,
name
:
'BaseSettings'
,
component
:
()
=>
import
(
'@/views/account/settings/BaseSetting'
),
meta
:
{
title
:
'基本设置'
,
hidden
:
true
,
keepAlive
:
true
}
meta
:
{
title
:
'基本设置'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings/security'
,
name
:
'SecuritySettings'
,
component
:
()
=>
import
(
'@/views/account/settings/Security'
),
meta
:
{
title
:
'安全设置'
,
hidden
:
true
,
keepAlive
:
true
}
meta
:
{
title
:
'安全设置'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings/custom'
,
name
:
'CustomSettings'
,
component
:
()
=>
import
(
'@/views/account/settings/Custom'
),
meta
:
{
title
:
'个性化设置'
,
hidden
:
true
,
keepAlive
:
true
}
meta
:
{
title
:
'个性化设置'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings/binding'
,
name
:
'BindingSettings'
,
component
:
()
=>
import
(
'@/views/account/settings/Binding'
),
meta
:
{
title
:
'账户绑定'
,
hidden
:
true
,
keepAlive
:
true
}
meta
:
{
title
:
'账户绑定'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
{
path
:
'/account/settings/notification'
,
name
:
'NotificationSettings'
,
component
:
()
=>
import
(
'@/views/account/settings/Notification'
),
meta
:
{
title
:
'新消息通知'
,
hidden
:
true
,
keepAlive
:
true
}
meta
:
{
title
:
'新消息通知'
,
hidden
:
true
,
keepAlive
:
true
,
permission
:
[
'user'
]
}
},
]
},
...
...
src/store/modules/permission.js
View file @
69cef260
...
...
@@ -17,7 +17,7 @@ function hasPermission(permission, route) {
}
}
}
return
tru
e
return
fals
e
}
/**
...
...
src/store/modules/user.js
View file @
69cef260
...
...
@@ -52,9 +52,9 @@ const user = {
getInfo
().
then
(
response
=>
{
const
result
=
response
.
result
if
(
result
.
role
&&
result
.
permissions
.
length
>
0
)
{
if
(
result
.
role
&&
result
.
role
.
permissions
.
length
>
0
)
{
const
role
=
result
.
role
role
.
permissions
=
result
.
permissions
role
.
permissions
=
result
.
role
.
permissions
role
.
permissions
.
map
(
per
=>
{
if
(
per
.
actionEntitySet
!=
null
&&
per
.
actionEntitySet
.
length
>
0
)
{
let
action
=
per
.
actionEntitySet
.
map
(
action
=>
{
return
action
.
action
})
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment