safety-eval-service-frontend/.cursor/skills/specs/19-底座平台API调用规范/09-菜单操作API/SKILL.md

67 lines
1.6 KiB
Markdown
Raw Normal View History

2026-08-14 16:54:03 +08:00
---
name: jjb-base-menu-api
description: 定义 JJB 底座 getMenuInfoByPath、openMenu 菜单操作 API。在根据路径获取菜单、打开菜单时查阅。
---
# 底座平台API调用规范
## 菜单操作 API
## base.call.getMenuInfoByPath
根据菜单地址获取菜单信息。
**函数签名**
```typescript
declare function getMenuInfoByPath(option: { path: string }): Promise<Record<string, any>>;
```
**参数说明**
- `option.path`:菜单地址
**返回值**
- `Promise<Record<string, any>>`:菜单对象集合
**使用示例**
```javascript
if (typeof window.__IN_BASE__ !== 'undefined') {
base.call.getMenuInfoByPath({ path: '/user/list' })
.then((menuInfo) => {
console.log('菜单信息:', menuInfo);
// 使用菜单信息打开菜单
base.call.openMenu(menuInfo, { id: 123 });
})
.catch((error) => {
console.error('获取菜单信息失败:', error);
});
}
```
## base.call.openMenu
打开菜单,在 Tag 栏加上菜单标签。
**函数签名**
```typescript
declare function openMenu(data: Record<string, any>, query?: Record<string, any>): void;
```
**参数说明**
- `data`:菜单数据,请通过 `base.call.getMenuInfoByPath` 获取
- `query`:需要携带的额外参数(可选)
**返回值**
- `void`
**使用示例**
```javascript
if (typeof window.__IN_BASE__ !== 'undefined') {
// 先获取菜单信息
base.call.getMenuInfoByPath({ path: '/user/list' })
.then((menuInfo) => {
// 打开菜单并携带参数
base.call.openMenu(menuInfo, { id: 123, type: 'detail' });
});
}
```