fix: enforce platform role menu access
This commit is contained in:
@@ -4,6 +4,8 @@ export type ResourceFieldType =
|
||||
| 'text'
|
||||
| 'password'
|
||||
| 'identity'
|
||||
| 'role-code'
|
||||
| 'menu-identities'
|
||||
| 'number'
|
||||
| 'boolean'
|
||||
| 'date'
|
||||
@@ -105,6 +107,7 @@ const labels: Record<string, string> = {
|
||||
category: '分类',
|
||||
priority: '优先级',
|
||||
platform_role_code: '平台角色',
|
||||
menu_identities: '菜单权限',
|
||||
data_scope: '数据范围',
|
||||
menu_code: '菜单编码',
|
||||
icon: '图标',
|
||||
@@ -181,6 +184,8 @@ const jsonFields = new Set([
|
||||
]);
|
||||
const textareaFields = new Set(['body', 'content', 'reason', 'opinion']);
|
||||
const fieldType = (key: string): ResourceFieldType => {
|
||||
if (key === 'platform_role_code') return 'role-code';
|
||||
if (key === 'menu_identities') return 'menu-identities';
|
||||
if (key.endsWith('_identity')) return 'identity';
|
||||
if (key === 'password') return 'password';
|
||||
if (numberFields.has(key)) return 'number';
|
||||
@@ -541,14 +546,23 @@ export const resources: ResourceUiDefinition[] = [
|
||||
'password!',
|
||||
'display_name',
|
||||
'avatar',
|
||||
'platform_role_code',
|
||||
'platform_role_code!',
|
||||
'phone',
|
||||
]),
|
||||
define('platform_role', '/platform/platform_role', 'writable', 'list', [
|
||||
'role_code!',
|
||||
'name!',
|
||||
'data_scope!',
|
||||
]),
|
||||
define(
|
||||
'platform_role',
|
||||
'/platform/platform_role',
|
||||
'writable',
|
||||
'list',
|
||||
['role_code!', 'name!', 'data_scope!'],
|
||||
[
|
||||
action(
|
||||
'分配菜单',
|
||||
'/platform/platform_role/:identity/menu',
|
||||
['menu_identities!'],
|
||||
),
|
||||
],
|
||||
),
|
||||
define('platform_menu', '/platform/platform_menu', 'writable', 'tree', [
|
||||
'parent_identity',
|
||||
'menu_code!',
|
||||
|
||||
Reference in New Issue
Block a user