.menu 文件 Schema¶
位置:
/{软件名}.application/menu/{菜单名}.menu(PC) | XML 根:ResourceVO约定的资源元素 | 与技能对齐:generate-menu-file移动菜单.mobilemenu结构同源(isMobile=true),见 [[mobilemenu-file]]。机制背景见 [[design/table-schema/overview]]。
1. 用途与落盘¶
菜单 = 前台运行入口,链接到模块内表单/视图/图表/报表/大屏等。可树形嵌套(分类文件夹 → 叶子链接)。
2. 属性表¶
| 属性 | XML 形态 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
id |
根属性 | string | 须生成 | __ + 短 UUID;角色授权 resId 用 |
name |
子元素 | string | — | 必填;文件名 |
parentId / applicationid |
子元素 | string | — | 顶层=软件 id;子=上级菜单 id |
superior |
子元素 | string | 顶层空 | 逻辑上级菜单 id(顶层留空,勿写软件 id) |
linkType |
子元素 | string | 空 | 链接类型码(§3);空=分类文件夹 |
actionContent |
CDATA | string | 目标资源 id / URL / 脚本源码(§3) | |
moduleid |
子元素 | string | 模块 id;linkType 00/01/02/34 等必填 | |
opentarget |
子元素 | string | detail | detail=工作区 / target=新窗口 |
ico |
子元素 | string | 图标 JSON:{"icon":"...","icontype":"img|font"} |
|
queryString |
CDATA | string | [] |
请求参数 JSON 数组 [{paramKey,paramValue}] |
permissionType |
子元素 | string | public | public=有角色即可见;private=须显式授权(空串按 private) |
showType |
子元素 | int | 0 | 0=菜单+流程中心 / 1=仅菜单 / 2=仅流程中心 |
status |
子元素 | int | 1 | 0=前台不展示 |
orderno |
子元素 | int | 0 | 同级排序 |
isUsual / isMobile |
子元素 | string | false | isMobile=true 落 .mobilemenu |
showtotalrow |
子元素 | string | false | 视图链接显示总行数 |
directory |
子元素 | string | portal | 内部链接(05)目录前缀 |
multiLanguageLabel / linkName / actionExcelImport |
子元素 | string | 多语言/显示名/Excel 导入配置 |
不进 XML:children、uri、totalRow 等运行期字段。
3. linkType × actionContent(核心对应)¶
| linkType | 含义 | actionContent 必须是 | moduleid |
|---|---|---|---|
| (空) | 分类文件夹 | 空 | 不需 |
00 |
表单启动 | 表单 id(.form 根 id) |
必填 |
01 |
视图 | 视图 id(.view 根 id) |
必填 |
02 |
图表 | 图表 id | 必填 |
05 / 06 |
内部 / 外部自定义链接 | 相对路径 / 完整 URL | 可选 |
07 |
脚本链接 | iScript 源码(return URL) | 可选 |
09 / 12 |
自定义 / 润乾报表 | 报表 id | 建议有 |
33 |
大屏 | 大屏 id(应用 bigscreen/) |
不需 |
34 |
OLAP | OLAP id | 必填 |
最常犯错:把 .activity 的 id 当表单 id 填进 linkType=00(会 ClassCastException)。口诀:linkType=00 → actionContent = <form id>;01 → 视图元数据根 id。较少用的码(03 Excel 导入、04 平台控制器、08 邮件等)见技能文档。
4. XML 示例(叶子:打开视图)¶
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ResourceVO id="__menuLeaveList000001">
<name>请假列表</name>
<parentId>软件或上级菜单id</parentId>
<applicationid>软件id</applicationid>
<linkType>01</linkType>
<moduleid>模块id</moduleid>
<actionContent><![CDATA[视图根id]]></actionContent>
<opentarget>detail</opentarget>
<ico>{"icon":"/uploads/lib/icon_menu_default.png","icontype":"img"}</ico>
<queryString><![CDATA[[]]]></queryString>
<permissionType>public</permissionType>
<showType>0</showType>
<status>1</status>
<orderno>0</orderno>
</ResourceVO>
(顶层分类:linkType 留空、actionContent 空;脚本链接:actionContent 放 iScript 源码。)
5. 校验(设计态)¶
name 空 → 拒存;同级(同 parentId + 同后缀)重名 / 与上级同名 / 与直属下级重名 → 拒存。改名须同步目录/文件名/XML <name>。
6. 相关¶
| 资源 | 文档 |
|---|---|
| 链接目标 | [[form-file]] / [[view-file]] / [[chart-file]] |
| 移动菜单 | [[mobilemenu-file]] |
| 菜单授权 | [[role-file]] |
| 生成操作指南 | agent-skills-usage/skills/generate-menu-file/SKILL.md(含全 linkType 表与易混 id 清单) |