Skip to content

获取菜单模板

POST/sys_base/platform/manifest/getMenuCatalogTemplate
构建时间2026-06-26 20:10:33(Asia/Shanghai)来源项目中间件文档 / 中间件后端来源仓../cl-midserver-2026来源提交号69b951a07311e75887b57e0400d888f89dd72cac
查看文档来源信息
  • 来源目录:addons/sys_base/docs
  • 来源文件:接口文档/22-获取菜单模板.md

详细说明

用于按当前模块、清单类型和应用范围生成一份空白清单骨架。该接口只返回起稿模板,不保存草稿、不提交版本、不发布生效。

接口信息

项目内容
请求方式POST
请求路径/sys_base/platform/manifest/getMenuCatalogTemplate
来源文件接口文档/22-获取菜单模板.md

请求头

请求头示例值说明
Content-Typeapplication/json请求体格式。
x-token<登录令牌>登录令牌。
app-idmid-admin当前应用 ID。
addons-typesys_base当前模块标识。

入参

参数名类型是否必填示例值参数说明
addonsTypestringsys_base目标模块标识,必须与当前治理范围一致。
catalogTypestringsystem_menu清单类型,只支持 system_menuapp_menu
appScopeobject{"scopeMode":"all_apps"}应用范围。系统菜单固定为 all_apps;应用菜单按实际范围传入。
appScope.scopeModestringall_apps范围模式,支持 all_appsapp_model_uuidsapp_uuidsapp_ids
appScope.appModelUuidsstring[]["model-uuid"]scopeMode=app_model_uuids 时使用。
appScope.appUuidsstring[]["app-uuid"]scopeMode=app_uuids 时使用。
appScope.appIdsstring[]["wx-appid"]scopeMode=app_ids 时使用。

参数说明

请参考上方入参表。

请求示例

json
{
  "addonsType": "sys_base",
  "catalogType": "system_menu",
  "appScope": {
    "scopeMode": "all_apps"
  }
}

响应输出

json
{
  "code": 0,
  "msg": "清单骨架获取成功",
  "data": {
    "template": {
      "catalogType": "system_menu",
      "fileName": "sys_base.system_menu.json",
      "manifest": {
        "addonsType": "sys_base",
        "catalogType": "system_menu",
        "catalogCode": "sys_base.system_menu.catalog",
        "catalogTitle": "系统菜单发布清单",
        "catalogVersion": "v1.0.0",
        "sourceProjectCode": "sys_base.pcweb",
        "appScope": {
          "scopeMode": "all_apps"
        },
        "pages": [],
        "actions": [],
        "menuSeeds": [],
        "defaultPage": {
          "pageCode": "sys_base.system.dashboard",
          "routeName": "sys_baseSystemDashboard",
          "menuFlag": "sys_base.system.dashboard",
          "note": "默认页必须指向已声明的正式页面。"
        }
      },
      "fieldDocs": [
        {
          "section": "summary",
          "field": "addonsType",
          "required": true,
          "description": "目标模块标识。",
          "example": "sys_base"
        }
      ],
      "usageNotes": [
        "清单骨架只用于起稿,不会写入版本记录。"
      ]
    }
  }
}

字段说明

字段名类型示例值字段说明
codenumber0业务状态码,0 表示成功。
msgstring清单骨架获取成功接口处理结果说明。
data.template.catalogTypestringsystem_menu返回清单类型。
data.template.fileNamestringsys_base.system_menu.json建议导出的 JSON 文件名。
data.template.manifestobject{}模板清单主体,字段结构与上传菜单清单的 manifest 一致。
data.template.manifest.pagesarray[]页面定义列表。
data.template.manifest.actionsarray[]动作定义列表。
data.template.manifest.menuSeedsarray[]发布承载节点列表。
data.template.manifest.defaultPageobject{}默认页定义,必须指向已声明页面。
data.template.fieldDocsarray[]清单字段写法说明。
data.template.usageNotesarray[]当前范围下的使用提示。

curl 示例

bash
curl --location --request POST 'http://127.0.0.1:8100/sys_base/platform/manifest/getMenuCatalogTemplate' \
--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"
  }
}'

CL 正式文档平台