跳转至

.menu 文件 Schema

位置:/{软件名}.application/menu/{菜单名}.menu(PC) | XML 根:ResourceVO 约定的资源元素 | 与技能对齐:generate-menu-file 移动菜单 .mobilemenu 结构同源(isMobile=true),见 [[mobilemenu-file]]。机制背景见 [[design/table-schema/overview]]。

1. 用途与落盘

菜单 = 前台运行入口,链接到模块内表单/视图/图表/报表/大屏等。可树形嵌套(分类文件夹 → 叶子链接)。

/{软件名}.application/menu/{菜单名}.menu                    # 顶层
/{软件名}.application/menu/{父}.menu/{子}.menu              # 子菜单嵌套

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 清单)