608 lines
16 KiB
TypeScript
608 lines
16 KiB
TypeScript
import type { Permission } from '@/types/auth';
|
|
|
|
export const mockPermissions: Permission[] = [
|
|
// Dashboard Menu
|
|
{
|
|
id: '1',
|
|
name: 'Dashboard',
|
|
code: 'dashboard.view',
|
|
description: 'Dashboard menu',
|
|
resource: '/dashboard',
|
|
action: 'view',
|
|
type: 'menu',
|
|
path: '/dashboard',
|
|
component: 'dashboard/index',
|
|
icon: 'DashboardOutlined',
|
|
sort: 1,
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
|
|
// Organization & Permissions Menu
|
|
{
|
|
id: '60',
|
|
name: 'Organization & Permissions',
|
|
code: 'organization.menu',
|
|
description: 'Organization and permissions root menu',
|
|
resource: '/organization',
|
|
action: '*',
|
|
type: 'menu',
|
|
path: '/organization',
|
|
component: 'Layout',
|
|
icon: 'TeamOutlined',
|
|
sort: 2,
|
|
status: 'active',
|
|
visible: true,
|
|
children: [
|
|
{
|
|
id: '50',
|
|
name: 'Department Management',
|
|
code: 'system.dept.view',
|
|
description: 'Department management menu',
|
|
resource: '/organization/dept',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '60',
|
|
path: '/organization/dept',
|
|
component: 'system/dept/index',
|
|
icon: 'ApartmentOutlined',
|
|
sort: 1,
|
|
status: 'active',
|
|
visible: true,
|
|
children: [
|
|
{
|
|
id: '51',
|
|
name: 'Create Department',
|
|
code: 'system.dept.create',
|
|
description: 'Can create department',
|
|
resource: 'system.dept',
|
|
action: 'create',
|
|
type: 'button',
|
|
parentId: '50',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '52',
|
|
name: 'Edit Department',
|
|
code: 'system.dept.edit',
|
|
description: 'Can edit department',
|
|
resource: 'system.dept',
|
|
action: 'edit',
|
|
type: 'button',
|
|
parentId: '50',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '53',
|
|
name: 'Delete Department',
|
|
code: 'system.dept.delete',
|
|
description: 'Can delete department',
|
|
resource: 'system.dept',
|
|
action: 'delete',
|
|
type: 'button',
|
|
parentId: '50',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
id: '11',
|
|
name: 'User Management',
|
|
code: 'system.user.view',
|
|
description: 'User management menu',
|
|
resource: '/organization/user',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '60',
|
|
path: '/organization/user',
|
|
component: 'system/user/index',
|
|
icon: 'UserOutlined',
|
|
sort: 2,
|
|
status: 'active',
|
|
visible: true,
|
|
children: [
|
|
{
|
|
id: '12',
|
|
name: 'Create User',
|
|
code: 'system.user.create',
|
|
description: 'Can create users',
|
|
resource: 'system.user',
|
|
action: 'create',
|
|
type: 'button',
|
|
parentId: '11',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '13',
|
|
name: 'Edit User',
|
|
code: 'system.user.edit',
|
|
description: 'Can edit users',
|
|
resource: 'system.user',
|
|
action: 'edit',
|
|
type: 'button',
|
|
parentId: '11',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '14',
|
|
name: 'Delete User',
|
|
code: 'system.user.delete',
|
|
description: 'Can delete users',
|
|
resource: 'system.user',
|
|
action: 'delete',
|
|
type: 'button',
|
|
parentId: '11',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
id: '20',
|
|
name: 'Role Management',
|
|
code: 'system.role.view',
|
|
description: 'Role management menu',
|
|
resource: '/organization/role',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '60',
|
|
path: '/organization/role',
|
|
component: 'system/role/index',
|
|
icon: 'TeamOutlined',
|
|
sort: 3,
|
|
status: 'active',
|
|
visible: true,
|
|
children: [
|
|
{
|
|
id: '21',
|
|
name: 'Create Role',
|
|
code: 'system.role.create',
|
|
description: 'Can create roles',
|
|
resource: 'system.role',
|
|
action: 'create',
|
|
type: 'button',
|
|
parentId: '20',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '22',
|
|
name: 'Edit Role',
|
|
code: 'system.role.edit',
|
|
description: 'Can edit roles',
|
|
resource: 'system.role',
|
|
action: 'edit',
|
|
type: 'button',
|
|
parentId: '20',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '23',
|
|
name: 'Delete Role',
|
|
code: 'system.role.delete',
|
|
description: 'Can delete roles',
|
|
resource: 'system.role',
|
|
action: 'delete',
|
|
type: 'button',
|
|
parentId: '20',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
id: '30',
|
|
name: 'Menu Management',
|
|
code: 'system.permission.view',
|
|
description: 'Menu management menu',
|
|
resource: '/organization/permission',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '60',
|
|
path: '/organization/permission',
|
|
component: 'system/permission/index',
|
|
icon: 'SafetyOutlined',
|
|
sort: 4,
|
|
status: 'active',
|
|
visible: true,
|
|
children: [
|
|
{
|
|
id: '31',
|
|
name: 'Create Menu',
|
|
code: 'system.permission.create',
|
|
description: 'Can create menu',
|
|
resource: 'system.permission',
|
|
action: 'create',
|
|
type: 'button',
|
|
parentId: '30',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '32',
|
|
name: 'Edit Menu',
|
|
code: 'system.permission.edit',
|
|
description: 'Can edit menu',
|
|
resource: 'system.permission',
|
|
action: 'edit',
|
|
type: 'button',
|
|
parentId: '30',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '33',
|
|
name: 'Delete Menu',
|
|
code: 'system.permission.delete',
|
|
description: 'Can delete menu',
|
|
resource: 'system.permission',
|
|
action: 'delete',
|
|
type: 'button',
|
|
parentId: '30',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
|
|
// System Management Menu
|
|
{
|
|
id: '10',
|
|
name: 'System Management',
|
|
code: 'system.menu',
|
|
description: 'System management root menu',
|
|
resource: '/system',
|
|
action: '*',
|
|
type: 'menu',
|
|
path: '/system',
|
|
component: 'Layout',
|
|
icon: 'SettingOutlined',
|
|
sort: 3,
|
|
status: 'active',
|
|
visible: true,
|
|
children: [
|
|
{
|
|
id: '54',
|
|
name: 'System Config',
|
|
code: 'system.config.view',
|
|
description: 'System config menu',
|
|
resource: '/system/config',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '10',
|
|
path: '/system/config',
|
|
component: 'system/config/index',
|
|
icon: 'ControlOutlined',
|
|
sort: 1,
|
|
status: 'active',
|
|
visible: true,
|
|
children: [
|
|
{
|
|
id: '55',
|
|
name: 'Create Config',
|
|
code: 'system.config.create',
|
|
description: 'Can create config',
|
|
resource: 'system.config',
|
|
action: 'create',
|
|
type: 'button',
|
|
parentId: '54',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '56',
|
|
name: 'Edit Config',
|
|
code: 'system.config.edit',
|
|
description: 'Can edit config',
|
|
resource: 'system.config',
|
|
action: 'edit',
|
|
type: 'button',
|
|
parentId: '54',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '57',
|
|
name: 'Delete Config',
|
|
code: 'system.config.delete',
|
|
description: 'Can delete config',
|
|
resource: 'system.config',
|
|
action: 'delete',
|
|
type: 'button',
|
|
parentId: '54',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
id: '34',
|
|
name: 'Dictionary Management',
|
|
code: 'system.dict.view',
|
|
description: 'Dictionary management menu',
|
|
resource: '/system/dict',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '10',
|
|
path: '/system/dict',
|
|
component: 'system/dict/index',
|
|
icon: 'BookOutlined',
|
|
sort: 2,
|
|
status: 'active',
|
|
visible: true,
|
|
children: [
|
|
{
|
|
id: '35',
|
|
name: 'Create Dictionary',
|
|
code: 'system.dict.create',
|
|
description: 'Can create dictionary',
|
|
resource: 'system.dict',
|
|
action: 'create',
|
|
type: 'button',
|
|
parentId: '34',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '36',
|
|
name: 'Edit Dictionary',
|
|
code: 'system.dict.edit',
|
|
description: 'Can edit dictionary',
|
|
resource: 'system.dict',
|
|
action: 'edit',
|
|
type: 'button',
|
|
parentId: '34',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '37',
|
|
name: 'Delete Dictionary',
|
|
code: 'system.dict.delete',
|
|
description: 'Can delete dictionary',
|
|
resource: 'system.dict',
|
|
action: 'delete',
|
|
type: 'button',
|
|
parentId: '34',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
id: '58',
|
|
name: 'File Management',
|
|
code: 'system.file.view',
|
|
description: 'File management menu',
|
|
resource: '/system/file',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '10',
|
|
path: '/system/file',
|
|
component: 'system/file/index',
|
|
icon: 'FolderOutlined',
|
|
sort: 3,
|
|
status: 'active',
|
|
visible: true,
|
|
children: [
|
|
{
|
|
id: '59',
|
|
name: 'Delete File',
|
|
code: 'system.file.delete',
|
|
description: 'Can delete file',
|
|
resource: 'system.file',
|
|
action: 'delete',
|
|
type: 'button',
|
|
parentId: '58',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
id: '38',
|
|
name: 'System Log',
|
|
code: 'system.log.view',
|
|
description: 'System log menu',
|
|
resource: '/system/log',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '10',
|
|
path: '/system/log',
|
|
component: 'system/log/index',
|
|
icon: 'FileTextOutlined',
|
|
sort: 4,
|
|
status: 'active',
|
|
visible: true,
|
|
children: [
|
|
{
|
|
id: '39',
|
|
name: 'Clear Log',
|
|
code: 'system.log.clear',
|
|
description: 'Can clear logs',
|
|
resource: 'system.log',
|
|
action: 'delete',
|
|
type: 'button',
|
|
parentId: '38',
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
|
|
// Examples Menu
|
|
{
|
|
id: '40',
|
|
name: 'Examples',
|
|
code: 'examples.menu',
|
|
description: 'Examples root menu',
|
|
resource: '/examples',
|
|
action: '*',
|
|
type: 'menu',
|
|
path: '/examples',
|
|
component: 'Layout',
|
|
icon: 'AppstoreOutlined',
|
|
sort: 4,
|
|
status: 'active',
|
|
visible: true,
|
|
children: [
|
|
{
|
|
id: '41',
|
|
name: 'Table Example',
|
|
code: 'examples.table.view',
|
|
description: 'Table example menu',
|
|
resource: '/examples/table',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '40',
|
|
path: '/examples/table',
|
|
component: 'examples/table/index',
|
|
icon: 'TableOutlined',
|
|
sort: 1,
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '42',
|
|
name: 'Icon Example',
|
|
code: 'examples.icon.view',
|
|
description: 'Icon example menu',
|
|
resource: '/examples/icon',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '40',
|
|
path: '/examples/icon',
|
|
component: 'examples/icon/index',
|
|
icon: 'SmileOutlined',
|
|
sort: 2,
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '43',
|
|
name: 'Form Example',
|
|
code: 'examples.form.view',
|
|
description: 'Form example menu',
|
|
resource: '/examples/form',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '40',
|
|
path: '/examples/form',
|
|
component: 'examples/form/index',
|
|
icon: 'FormOutlined',
|
|
sort: 3,
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '44',
|
|
name: 'Modal Example',
|
|
code: 'examples.modal.view',
|
|
description: 'Modal example menu',
|
|
resource: '/examples/modal',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '40',
|
|
path: '/examples/modal',
|
|
component: 'examples/modal/index',
|
|
icon: 'ExpandOutlined',
|
|
sort: 4,
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '45',
|
|
name: 'Watermark Example',
|
|
code: 'examples.watermark.view',
|
|
description: 'Watermark example menu',
|
|
resource: '/examples/watermark',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '40',
|
|
path: '/examples/watermark',
|
|
component: 'examples/watermark/index',
|
|
icon: 'HighlightOutlined',
|
|
sort: 5,
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '46',
|
|
name: 'Exception Page',
|
|
code: 'examples.exception.menu',
|
|
description: 'Exception root menu',
|
|
resource: '/examples/exception',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '40',
|
|
path: '/examples/exception',
|
|
component: 'RouteView',
|
|
icon: 'WarningOutlined',
|
|
sort: 6,
|
|
status: 'active',
|
|
visible: true,
|
|
children: [
|
|
{
|
|
id: '47',
|
|
name: '403',
|
|
code: 'examples.exception.403.view',
|
|
description: '403 exception page menu',
|
|
resource: '/examples/exception/403',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '46',
|
|
path: '/examples/exception/403',
|
|
component: 'examples/exception/403',
|
|
icon: 'StopOutlined',
|
|
sort: 1,
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '48',
|
|
name: '404',
|
|
code: 'examples.exception.404.view',
|
|
description: '404 exception page menu',
|
|
resource: '/examples/exception/404',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '46',
|
|
path: '/examples/exception/404',
|
|
component: 'examples/exception/404',
|
|
icon: 'FileUnknownOutlined',
|
|
sort: 2,
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
{
|
|
id: '49',
|
|
name: '500',
|
|
code: 'examples.exception.500.view',
|
|
description: '500 exception page menu',
|
|
resource: '/examples/exception/500',
|
|
action: 'view',
|
|
type: 'menu',
|
|
parentId: '46',
|
|
path: '/examples/exception/500',
|
|
component: 'examples/exception/500',
|
|
icon: 'BugOutlined',
|
|
sort: 3,
|
|
status: 'active',
|
|
visible: true,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
];
|