生成菜单示例
查看文档来源信息
- 来源目录:
addons/sys_base/docs - 来源文件:
接口文档/17-生成菜单示例.md
详细说明
用于按当前模块、清单类型和应用范围生成一份开发参考清单。该接口只返回参考内容,不保存草稿、不提交版本、不发布生效。
接口信息
| 项目 | 内容 |
|---|---|
| 请求方式 | POST |
| 请求路径 | /sys_base/platform/manifest/generateMenuCatalogExample |
| 来源文件 | 接口文档/17-生成菜单示例.md |
请求头
| 请求头 | 示例值 | 说明 |
|---|---|---|
Content-Type | application/json | 请求体格式。 |
x-token | <登录令牌> | 登录令牌。 |
app-id | mid-admin | 当前应用 ID。 |
addons-type | sys_base | 当前模块标识。 |
入参
| 参数名 | 类型 | 是否必填 | 示例值 | 参数说明 |
|---|---|---|---|---|
addonsType | string | 是 | sys_base | 目标模块标识,必须与当前治理范围一致。 |
catalogType | string | 是 | system_menu | 清单类型,只支持 system_menu 或 app_menu。 |
appScope | object | 是 | {"scopeMode":"all_apps"} | 应用范围。系统菜单固定为 all_apps;应用菜单按实际范围传入。 |
appScope.scopeMode | string | 是 | all_apps | 范围模式,支持 all_apps、app_model_uuids、app_uuids、app_ids。 |
appScope.appModelUuids | string[] | 否 | ["model-uuid"] | scopeMode=app_model_uuids 时使用。 |
appScope.appUuids | string[] | 否 | ["app-uuid"] | scopeMode=app_uuids 时使用。 |
appScope.appIds | string[] | 否 | ["wx-appid"] | scopeMode=app_ids 时使用。 |
参数说明
请参考上方入参表。
请求示例
json
{
"addonsType": "sys_base",
"catalogType": "system_menu",
"appScope": {
"scopeMode": "all_apps"
}
}响应输出
json
{
"code": 0,
"msg": "当前范围参考清单生成成功",
"data": {
"example": {
"catalogType": "system_menu",
"fileName": "sys_base.system_menu.json",
"manifest": {
"addonsType": "sys_base",
"catalogType": "system_menu",
"catalogCode": "sys_base.system_menu.runtime_example",
"catalogTitle": "系统菜单运行时示例清单",
"catalogVersion": "v1.0.0",
"sourceProjectCode": "sys_base.code_manifest",
"appScope": {
"scopeMode": "all_apps"
},
"pages": [],
"actions": [],
"menuSeeds": [],
"defaultPage": {
"pageCode": "organization.department.manage",
"routeName": "department",
"menuFlag": "organization.department.manage",
"note": "示例默认页必须指向 pages 中已声明的正式页面。"
}
},
"fieldDocs": [
{
"section": "summary",
"field": "addonsType",
"required": true,
"description": "目标模块标识。",
"example": "sys_base"
}
],
"usageNotes": [
"参考清单只用于开发对照,不会写入版本记录。"
]
}
}
}字段说明
| 字段名 | 类型 | 示例值 | 字段说明 |
|---|---|---|---|
code | number | 0 | 业务状态码,0 表示成功。 |
msg | string | 当前范围参考清单生成成功 | 接口处理结果说明。 |
data.example.catalogType | string | system_menu | 返回清单类型。 |
data.example.fileName | string | sys_base.system_menu.json | 建议导出的 JSON 文件名。 |
data.example.manifest | object | {} | 参考清单主体,字段结构与上传菜单清单的 manifest 一致。 |
data.example.manifest.pages | array | [] | 页面定义列表。 |
data.example.manifest.actions | array | [] | 动作定义列表。 |
data.example.manifest.menuSeeds | array | [] | 发布承载节点列表。 |
data.example.manifest.defaultPage | object | {} | 默认页定义,必须指向已声明页面。 |
data.example.fieldDocs | array | [] | 清单字段写法说明。 |
data.example.usageNotes | array | [] | 当前范围下的使用提示。 |
curl 示例
bash
curl --location --request POST 'http://127.0.0.1:8100/sys_base/platform/manifest/generateMenuCatalogExample' \
--header 'Content-Type: application/json' \
--header 'x-token: <登录令牌>' \
--header 'app-id: mid-admin' \
--header 'addons-type: sys_base' \
--data-raw '{
"addonsType": "sys_base",
"catalogType": "system_menu",
"appScope": {
"scopeMode": "all_apps"
}
}'