feat(docs): 文档页重构 — 类型树/可编辑说明/返回类型/分享深链

- 单文件 docs UI 全面重写:卡片化参数表、语法高亮、方法深链
- 说明可编辑:方法级 + 字段级备注防抖自动保存到 fun-docs-edits.json
  (-edits 可改路径,GET /fun-docs-edits.json + POST /fun-docs-edits)
- 类型列可展开树:枚举成员/嵌套 struct/slice 类型结构
- 返回类型区块:struct 出表、标量出类型标签,流式标注首条消息类型
- 标题旁分享按钮:#Svc.Method?req=<base64> 深链携带请求体,打开即还原

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
2026-09-19 15:39:57 +08:00
co-authored by Devin
parent b8711bd458
commit 96d8a4074f
4 changed files with 457 additions and 121 deletions
+5 -2
View File
@@ -47,12 +47,15 @@ fun docs -upstream http://127.0.0.1:9000 # 指定后端地址
fun docs -no-run # 后端已在别处运行
```
- 浅色标准文档风格:侧栏服务/方法树(stream/void 徽标)+ 搜索
- 浅色文档风格:侧栏服务/方法树(stream 徽标)+ 搜索(`/` 快速聚焦)
- **分享**:标题旁一键复制深链(`#服务.方法?req=...`),自带请求体,打开即还原
- 参数表:字段/类型/示例值/说明;枚举下拉、嵌套 DTO 分层、可空标注
- **说明**:方法说明与字段备注可编辑,自动保存到 `fun-docs-edits.json`
(启动时自动创建,`-edits` 可改路径);返回类型递归展示
- **请求**:表单实时生成 JSON,可直接编辑后发送
- **State**:"添加字段"式键值编辑(存 localStorage),值注入请求 `state` 对象——
键以后端 Guard 读取为准,前端只负责填值
- **响应**:格式化 JSON;NDJSON 流式方法逐行实时追加
- **响应**:格式化 JSON 语法高亮;NDJSON 流式方法逐行实时追加
- 文档站反向代理 `/cell` 到后端,同源无 CORS 问题
## 元数据 JSON