fix(menu): refactor menu system to use pure config objects and fix submenu click events

This commit is contained in:
yuding
2025-12-09 18:34:43 +08:00
parent c112c87dad
commit 9ae1d9d809
38 changed files with 6756 additions and 2575 deletions

View File

@@ -70,6 +70,7 @@ npm run build
**运行 HTML Demo (纯 JS):**
```bash
npm run dev:demo
# 自动执行:构建 SDK -> 复制 SDK 到 demo/lib -> 启动服务器
# 开发服务器运行在 http://localhost:3000
# 自动打开 /demo/index.html
```
@@ -77,6 +78,7 @@ npm run dev:demo
**运行 Vue Demo:**
```bash
npm run dev:demo-vue
# 自动执行:构建 SDK -> 复制 SDK 到 demo-vue/public/lib -> 启动服务器
# 开发服务器运行在 http://localhost:3000
# 自动打开 Vue 示例页面
```
@@ -88,8 +90,8 @@ npm run dev:all
```
**注意**:
- 运行 Demo 前,建议先执行 `npm run build` 构建 SDK确保 Demo 使用的是最新构建的 SDK
- Demo 会自动从 `dist/` 目录或通过开发服务器加载 SDK
- 现在的 `npm run dev:demo``npm run dev:demo-vue` 命令已包含自动化构建流程,无需手动运行 `npm run build`
- Demo 会自动从本地复制的 SDK 副本加载。
### 1.5 发布配置
@@ -534,6 +536,7 @@ engine.toolbar.setButtonVisibility('my-button', false);
| `ToolbarManager` | `src/managers/toolbar-manager.ts` | 管理底部工具栏 | `BimComponent` |
| `ButtonGroupManager` | `src/managers/button-group-manager.ts` | 管理通用按钮组 | `BimComponent` |
| `EngineManager` | `src/managers/engine-manager.ts` | 管理 3D 引擎 | `BimComponent` |
| `RightKeyManager` | `src/managers/right-key-manager.ts` | 管理右键菜单 (Context Menu)。直接使用 `MenuItemConfig` 接口配置 | `BimComponent` |
### 4.2 组件类清单
@@ -544,6 +547,8 @@ engine.toolbar.setButtonVisibility('my-button', false);
| `BimButtonGroup` | `src/components/button-group/index.ts` | 通用按钮组组件 | `IBimComponent` |
| `Toolbar` | `src/components/button-group/toolbar/index.ts` | 底部工具栏组件 | 继承 `BimButtonGroup` |
| `Engine` | `src/components/engine/index.ts` | 3D 引擎组件 | `IBimComponent` |
| `BimRightKey` | `src/components/right-key/index.ts` | 右键浮层容器 | `IBimComponent` |
| `BimMenu` | `src/components/menu/index.ts` | 通用菜单列表 | `IBimComponent` |
### 4.3 服务类清单
@@ -960,7 +965,7 @@ export class MyDialog implements IBimComponent {
#### 语言要求(强制)
- **所有输出必须使用中文**,包括:
- 代码注释
- 代码注释 (**强制:所有代码注释必须使用中文,解释清晰详细**)
- 文档说明
- 与用户交流
- 错误信息