67 lines
2.8 KiB
Markdown
67 lines
2.8 KiB
Markdown
# GO-DESK-9: 插件系统
|
||
|
||
> 状态:Phase 0 已实施完成,待推进 Phase 1
|
||
> 创建日期:2026-05-01
|
||
> 前置文档:`../../02-架构设计/插件化架构方案.md`(初版调研)
|
||
|
||
---
|
||
|
||
## 一、背景与动机
|
||
|
||
### 1.1 当前痛点
|
||
|
||
| 痛点 | 现状 | 影响 |
|
||
|------|------|------|
|
||
| **app.go God Object** | 825 行,47 个方法全在一个 struct 上 | 难以维护,新功能必须改核心文件 |
|
||
| **App.vue 硬编码映射** | `getComponent()` 只有 2 个 key 的字面量对象 | 新 Tab 必须改源码 |
|
||
| **FileEditorPanel if/else 链** | 10 层 v-if/v-else-if | 新增文件类型需改 5+ 处 |
|
||
| **前后端配置断层** | 后端定义 3 个 Tab,前端硬编码只保留 file-system | 新 Tab 无法透传到前端 |
|
||
| **无扩展机制** | 所有功能编译时固定 | 无法按需加载,安装包膨胀 |
|
||
|
||
### 1.2 目标
|
||
|
||
建立**两层插件体系**(内置 + 外部市场),使 u-desk 从"单体应用"演进为**可扩展平台**。
|
||
|
||
## 二、文档结构
|
||
|
||
```
|
||
GO-DESK-9.插件系统/
|
||
├── README.md ← 本文件(总览)
|
||
├── 设计文档/
|
||
│ ├── 架构设计.md ← 系统形态、两层体系、设置面板原型
|
||
│ ├── 接口定义.md ← Go 后端 + TS 前端完整接口
|
||
│ ├── 数据模型.md ← plugin_state 表 DDL 与存储策略
|
||
│ └── 复杂度与价值评估.md ← 投入产出分析 + 远期风险预警
|
||
├── 任务规划/
|
||
│ ├── 实施路线图.md ← Phase 0~5 全景时间线与范围
|
||
│ └── Phase0-基础设施.md ← Phase 0 详细步骤与验证标准
|
||
└── 决策记录/
|
||
└── README.md ← 关键技术决策(adapter 模式等)
|
||
```
|
||
|
||
## 三、快速导航
|
||
|
||
| 如果你想看 | 去哪里 |
|
||
|-----------|--------|
|
||
| 系统长什么样 | `设计文档/架构设计.md` |
|
||
| UI 插槽怎么切 | `设计文档/架构设计.md` → 第四章 |
|
||
| 接口怎么定义的 | `设计文档/接口定义.md` |
|
||
| 数据库存什么 | `设计文档/数据模型.md` |
|
||
| 复杂度值不值 | `设计文档/复杂度与价值评估.md` |
|
||
| 分几步做、每步做什么 | `任务规划/实施路线图.md` |
|
||
| Phase 0 具体怎么动手 | `任务规划/Phase0-基础设施.md` |
|
||
| 为什么选这个方案不选那个 | `决策记录/README.md` |
|
||
|
||
## 四、里程碑概览
|
||
|
||
```
|
||
Phase 0 ████████████ 基础设施骨架(当前目标)
|
||
Phase 1 ████ Draw.io 验证插件
|
||
Phase 2 █████████████ 预览系统重构
|
||
Phase 3 █████████████ Tab 插件化 + 设置面板 + UI 插槽
|
||
Phase 4 ██████ 外部插件支持
|
||
Phase 5 ░░░░░░░░░░░░░ 插件市场(远景)
|
||
```
|
||
|
||
每个 Phase 可独立交付验证。
|