mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
111 lines
3.0 KiB
TypeScript
111 lines
3.0 KiB
TypeScript
import { hasPermission } from '@/utils/permission/index'
|
|
import Layout from '@/layout/layout-template/SystemLayout.vue'
|
|
import { Role, ComplexPermission } from '@/utils/permission/type'
|
|
const settingRouter = {
|
|
path: '/setting',
|
|
name: 'setting',
|
|
meta: { icon: 'Setting', title: '系统管理', permission: 'SETTING:READ' },
|
|
redirect: () => {
|
|
if (hasPermission(new Role('ADMIN'), 'AND')) {
|
|
return '/user'
|
|
}
|
|
return '/team'
|
|
},
|
|
component: Layout,
|
|
children: [
|
|
{
|
|
path: '/user',
|
|
name: 'user',
|
|
meta: {
|
|
icon: 'User',
|
|
iconActive: 'UserFilled',
|
|
title: '用户管理',
|
|
activeMenu: '/setting',
|
|
parentPath: '/setting',
|
|
parentName: 'setting',
|
|
permission: new Role('ADMIN')
|
|
},
|
|
component: () => import('@/views/user-manage/index.vue')
|
|
},
|
|
{
|
|
path: '/team',
|
|
name: 'team',
|
|
meta: {
|
|
icon: 'app-team',
|
|
iconActive: 'app-team-active',
|
|
title: '团队成员',
|
|
activeMenu: '/setting',
|
|
parentPath: '/setting',
|
|
parentName: 'setting'
|
|
},
|
|
component: () => import('@/views/team/index.vue')
|
|
},
|
|
{
|
|
path: '/template',
|
|
name: 'template',
|
|
meta: {
|
|
icon: 'app-template',
|
|
iconActive: 'app-template-active',
|
|
title: '模型设置',
|
|
activeMenu: '/setting',
|
|
parentPath: '/setting',
|
|
parentName: 'setting'
|
|
},
|
|
component: () => import('@/views/template/index.vue')
|
|
},
|
|
{
|
|
path: '/system',
|
|
name: 'system',
|
|
meta: {
|
|
icon: 'app-setting',
|
|
iconActive: 'app-setting-active',
|
|
title: '系统管理',
|
|
activeMenu: '/setting',
|
|
parentPath: '/setting',
|
|
parentName: 'setting',
|
|
permission: new Role('ADMIN')
|
|
},
|
|
children: [
|
|
{
|
|
path: '/system/theme',
|
|
name: 'theme',
|
|
meta: {
|
|
title: '外观设置',
|
|
activeMenu: '/setting',
|
|
parentPath: '/setting',
|
|
parentName: 'setting',
|
|
permission: new ComplexPermission(['ADMIN'], ['x-pack'], 'AND')
|
|
},
|
|
component: () => import('@/views/theme/index.vue')
|
|
},
|
|
{
|
|
path: '/system/authentication',
|
|
name: 'authentication',
|
|
meta: {
|
|
title: '登录认证',
|
|
activeMenu: '/setting',
|
|
parentPath: '/setting',
|
|
parentName: 'setting',
|
|
permission: new ComplexPermission(['ADMIN'], ['x-pack'], 'AND')
|
|
},
|
|
component: () => import('@/views/authentication/index.vue')
|
|
},
|
|
{
|
|
path: '/system/email',
|
|
name: 'email',
|
|
meta: {
|
|
title: '邮箱配置',
|
|
activeMenu: '/setting',
|
|
parentPath: '/setting',
|
|
parentName: 'setting',
|
|
permission: new Role('ADMIN')
|
|
},
|
|
component: () => import('@/views/email/index.vue')
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
|
|
export default settingRouter
|