完善平台角色菜单树与授权登录导航
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* 功能:静态检查角色菜单树、叶子提交和自身导航读取契约。
|
||||
* 版本:v1.0.0
|
||||
*/
|
||||
import { readFileSync } from 'node:fs';
|
||||
|
||||
const read = (path) => readFileSync(new URL(path, import.meta.url), 'utf8');
|
||||
const resources = read('../src/api/resources.ts');
|
||||
const form = read('../src/views/resource/ResourceFieldForm.vue');
|
||||
const tree = read('../src/views/resource/MenuPermissionTree.vue');
|
||||
const dialog = read('../src/views/resource/ResourceActionDialog.vue');
|
||||
const payload = read('../src/api/resource-form.ts');
|
||||
|
||||
function requireMarker(source, marker, message) {
|
||||
if (!source.includes(marker)) throw new Error(`角色菜单树检查失败:${message}`);
|
||||
}
|
||||
|
||||
requireMarker(resources, "type: 'menu-tree'", '分配菜单未使用专用树字段');
|
||||
requireMarker(form, 'MenuPermissionTree', '通用表单未挂载菜单树');
|
||||
requireMarker(tree, ':indeterminate="groupIndeterminate(group)"', '父菜单缺少半选状态');
|
||||
requireMarker(tree, 'toggleGroup(group, checked === true)', '父菜单缺少全选或全清行为');
|
||||
requireMarker(tree, 'group.name }} / {{ child.name', '子菜单未显示完整路径');
|
||||
requireMarker(payload, "field.type === 'menu-tree'", '空叶子数组不能稳定提交');
|
||||
requireMarker(dialog, '确认清空菜单权限', '清空全部菜单前缺少明确警告');
|
||||
|
||||
console.log('角色菜单树静态检查通过');
|
||||
Reference in New Issue
Block a user