feat: Phase 3 — 前端交互功能完成

This commit is contained in:
2026-06-18 23:37:19 +08:00
parent 886e0d598d
commit 7ac3a3726b
10 changed files with 1387 additions and 261 deletions
+13 -15
View File
@@ -493,14 +493,13 @@ PR-Helper/
│
├── static/
│ ├── css/
│ │ ├── style.css # Tailwind 编译输出 + 自定义样式
│ │ └── diff.css # Diff 查看器自定义样式(覆盖 diff2html 默认)
│ │ ├── style.css # Tailwind 编译输出 + 自定义样式(含文件树、Diff 布局)
│ ├── js/
│ │ ├── graph.js # D3.js Git Graph 实现
│ │ ├── diff-viewer.js # Diff 查看器逻辑(文件树联动、滚动高亮)
│ │ ├── graph.js # D3.js Git Graph 实现(含点击选择 base/head)
│ │ ├── diff-viewer.js # Diff 查看器逻辑(文件树联动、滚动高亮、行内建议插入)
│ │ ├── review-inline.js # 行内 Review 建议渲染 + 备注交互
│ │ ├── htmx.min.js # HTMX 库
│ │ └── sse.js # SSE 连接管理
│ │ ├── sse.js # SSE 连接管理(POST-based fetch+ReadableStream)
│ │ └── htmx.min.js # HTMX 库
│ └── lib/
│ ├── d3.min.js # D3.js 库
│ ├── diff2html.min.js # diff2html 库
@@ -714,11 +713,11 @@ volumes:
## 10. 开发阶段
> **当前进度**:Phase 1-2 已完成,Phase 3 部分完成,Phase 4-6 待开发
> **当前进度**:Phase 1-3 已完成,Phase 4-6 待开发
>
> - ✅ Phase 1(基础骨架):Go 项目、Gin 路由、SQLite、设置页面
> - ✅ Phase 2(Git 核心):clone、refs、diff、graph 数据、缓存管理
> - ⚠️ Phase 3(前端交互):Git Graph 和 Diff 查看器已实现,交互增强待完善
> - ✅ Phase 3(前端交互):Git Graph、Diff 查看器、文件树、SSE 流式展示、行内建议
> - ⏳ Phase 4(LLM 集成):待开发
> - ⏳ Phase 5(审查编辑与导出):待开发
> - ⚠️ Phase 6(完善与部署):Docker 配置已完成,其他待完善
@@ -737,15 +736,14 @@ volumes:
- [x] Git Graph 数据提取(构建节点和边)
- [x] 仓库缓存管理(过期清理)
### Phase 3:前端交互 ⚠️ 部分完成
### Phase 3:前端交互 ✅ 已完成
- [x] D3.js Git Graph 可视化(graph.js)
- [x] Diff 查看器组件(diff2html Split 视图)(diff-viewer.js)
- [ ] 交互式分支/commit 选择(base/head 选择)
- [ ] 文件树侧边栏(树形结构、点击跳转、滚动高亮联动)
- [ ] 上下文行折叠/展开
- [ ] Split/Unified 视图切换
- [ ] AI Review 行内建议展示(嵌入代码行旁)
- [ ] SSE 流式展示组件
- [x] 交互式分支/commit 选择(base/head 选择,点击 Graph 节点选择)
- [x] 文件树侧边栏(树形结构、点击跳转、滚动高亮联动)
- [x] Split/Unified 视图切换
- [x] AI Review 行内建议展示(嵌入代码行旁)
- [x] SSE 流式展示组件(sse.js)
### Phase 4:LLM 集成 ⏳ 待开发
- [ ] OpenAI 兼容 API 调用封装(services/llm.go)