92 lines
2.4 KiB
TypeScript
92 lines
2.4 KiB
TypeScript
import type { AppRouteModule } from '/@/router/types';
|
|
|
|
import { getParentLayout, LAYOUT } from '/@/router/constant';
|
|
import { RoleEnum } from '/@/enums/roleEnum';
|
|
import { t } from '/@/hooks/web/useI18n';
|
|
|
|
const permission: AppRouteModule = {
|
|
path: '/permission',
|
|
name: 'Permission',
|
|
component: LAYOUT,
|
|
redirect: '/permission/front/page',
|
|
meta: {
|
|
icon: 'ion:key-outline',
|
|
title: t('routes.demo.permission.permission'),
|
|
},
|
|
|
|
children: [
|
|
{
|
|
path: 'front',
|
|
name: 'PermissionFrontDemo',
|
|
component: getParentLayout('PermissionFrontDemo'),
|
|
meta: {
|
|
title: t('routes.demo.permission.front'),
|
|
},
|
|
children: [
|
|
{
|
|
path: 'page',
|
|
name: 'FrontPageAuth',
|
|
component: () => import('/@/views/demo/permission/front/index.vue'),
|
|
meta: {
|
|
title: t('routes.demo.permission.frontPage'),
|
|
},
|
|
},
|
|
{
|
|
path: 'btn',
|
|
name: 'FrontBtnAuth',
|
|
component: () => import('/@/views/demo/permission/front/Btn.vue'),
|
|
meta: {
|
|
title: t('routes.demo.permission.frontBtn'),
|
|
},
|
|
},
|
|
{
|
|
path: 'auth-pageA',
|
|
name: 'FrontAuthPageA',
|
|
component: () => import('/@/views/demo/permission/front/AuthPageA.vue'),
|
|
meta: {
|
|
title: t('routes.demo.permission.frontTestA'),
|
|
roles: [RoleEnum.SUPER],
|
|
},
|
|
},
|
|
{
|
|
path: 'auth-pageB',
|
|
name: 'FrontAuthPageB',
|
|
component: () => import('/@/views/demo/permission/front/AuthPageB.vue'),
|
|
meta: {
|
|
title: t('routes.demo.permission.frontTestB'),
|
|
roles: [RoleEnum.TEST],
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'back',
|
|
name: 'PermissionBackDemo',
|
|
component: getParentLayout('PermissionBackDemo'),
|
|
meta: {
|
|
title: t('routes.demo.permission.back'),
|
|
},
|
|
children: [
|
|
{
|
|
path: 'page',
|
|
name: 'BackAuthPage',
|
|
component: () => import('/@/views/demo/permission/back/index.vue'),
|
|
meta: {
|
|
title: t('routes.demo.permission.backPage'),
|
|
},
|
|
},
|
|
{
|
|
path: 'btn',
|
|
name: 'BackAuthBtn',
|
|
component: () => import('/@/views/demo/permission/back/Btn.vue'),
|
|
meta: {
|
|
title: t('routes.demo.permission.backBtn'),
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
|
|
export default permission;
|