feature[Permission]: add role permission management page (#1605)
增加角色权限管理菜单
This commit is contained in:
@@ -3,6 +3,7 @@ import loginAPI from './login'
|
||||
import articleAPI from './article'
|
||||
import remoteSearchAPI from './remoteSearch'
|
||||
import transactionAPI from './transaction'
|
||||
import roleAPI from './role'
|
||||
|
||||
// 修复在使用 MockJS 情况下,设置 withCredentials = true,且未被拦截的跨域请求丢失 Cookies 的问题
|
||||
// https://github.com/nuysoft/Mock/issues/300
|
||||
@@ -23,6 +24,13 @@ Mock.mock(/\/login\/login/, 'post', loginAPI.loginByUsername)
|
||||
Mock.mock(/\/login\/logout/, 'post', loginAPI.logout)
|
||||
Mock.mock(/\/user\/info\.*/, 'get', loginAPI.getUserInfo)
|
||||
|
||||
// 角色相关
|
||||
Mock.mock(/\/routes/, 'get', roleAPI.getRoutes)
|
||||
Mock.mock(/\/roles/, 'get', roleAPI.getRoles)
|
||||
Mock.mock(/\/roles$/, 'post', roleAPI.addRole)
|
||||
Mock.mock(/\/roles\/[A-Za-z0-9]+/, 'put', roleAPI.updateRole)
|
||||
Mock.mock(/\/roles\/[A-Za-z0-9]+/, 'delete', roleAPI.deleteRole)
|
||||
|
||||
// 文章相关
|
||||
Mock.mock(/\/article\/list/, 'get', articleAPI.getList)
|
||||
Mock.mock(/\/article\/detail/, 'get', articleAPI.getArticle)
|
||||
|
61
src/mock/role.js
Normal file
61
src/mock/role.js
Normal file
@@ -0,0 +1,61 @@
|
||||
import Mock from 'mockjs'
|
||||
import { deepClone } from '@/utils'
|
||||
import { filterAsyncRoutes } from '@/store/modules/permission'
|
||||
import { asyncRoutes, constantRoutes } from '@/router'
|
||||
|
||||
const routes = deepClone([...constantRoutes, ...asyncRoutes])
|
||||
|
||||
const roles = [
|
||||
{
|
||||
key: 'admin',
|
||||
name: 'admin',
|
||||
description: 'Super Administrator. Have access to view all pages.',
|
||||
routes: routes
|
||||
},
|
||||
{
|
||||
key: 'editor',
|
||||
name: 'editor',
|
||||
description: 'Normal Editor. Can see all pages except permission page',
|
||||
routes: filterAsyncRoutes(routes, ['editor'])
|
||||
},
|
||||
{
|
||||
key: 'visitor',
|
||||
name: 'visitor',
|
||||
description: 'Just a visitor. Can only see the home page and the document page',
|
||||
routes: [{
|
||||
path: '',
|
||||
redirect: 'dashboard',
|
||||
children: [
|
||||
{
|
||||
path: 'dashboard',
|
||||
name: 'Dashboard',
|
||||
meta: { title: 'dashboard', icon: 'dashboard' }
|
||||
}
|
||||
]
|
||||
}]
|
||||
}
|
||||
]
|
||||
|
||||
export default {
|
||||
getRoutes() {
|
||||
return routes
|
||||
},
|
||||
getRoles() {
|
||||
return roles
|
||||
},
|
||||
addRole() {
|
||||
return Mock.mock('@integer(300, 5000)')
|
||||
},
|
||||
updateRole() {
|
||||
const res = {
|
||||
data: 'success'
|
||||
}
|
||||
return res
|
||||
},
|
||||
deleteRole() {
|
||||
const res = {
|
||||
data: 'success'
|
||||
}
|
||||
return res
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user