feat: Phase 2 — frontend-backend integration complete

- All 5 core pages now use real API instead of mock data
  - Dashboard: /api/v1/dashboard/stats
  - Tickets: list/create/detail/approve/execute/statistics
  - Users: list/create/toggle-active/delete
  - Instances: list/create/test-connection/delete
  - Queries: execute with result display + sensitive field masking
- Updated DashboardStats type to match backend schema
- Fixed InstancePage to work with InstanceResponse (no qps/cpu/metrics yet)
- Added create forms for Tickets, Users, Instances
- Added connection test in InstanceDetail
- Updated TDD_PLAN.md: Phase 1 ✅ (44 tests), Phase 2 ✅
- Updated ROADMAP.md: v0.2.0 ✅
- Updated PROJECT_EVALUATION.md: score 5.7 → 6.2
- Frontend build passes with zero TS errors
- 44 backend tests still passing
This commit is contained in:
logan committed 2026-05-22 12:39:48 +08:00
1 parent c0c731acfc
commit 27989274f5
10 files changed
+1074 -840

No files matched your search

+31 -29
View File
@@ -1,7 +1,7 @@
# Web-Lite 数据审核平台 - 项目评估
> 评估日期: 2025-05-22
> 评估版本: v0.1.0-dev
> 评估版本: v0.2.0 (Phase 1+2 已完成)
---
@@ -14,7 +14,7 @@
| 路径 | ~/devops/sql-platform |
| 前端 | React 19 + TS + Vite 7 + Tailwind + shadcn/ui |
| 后端 | FastAPI + SQLAlchemy 2 async + SQLite |
| 状态 | **开发初期** — 后端骨架完成,前端 UI 大量完成但依赖 mock |
|| 状态 | **前后端已打通** — 44 测试通过,所有核心页面已对接真实 API |
---
@@ -36,16 +36,16 @@
| **公告管理** | 0 | ❌ 缺失 | 无后端 API |
| **自动任务** | 0 | ❌ 缺失 | 无后端 API |
### 前端页面 (完成度: 45%)
### 前端页面 (完成度: 65%)
| 页面 | 路由 | 状态 | 数据来源 |
|------|------|------|---------|
| 登录 | /login | ✅ 完成 | mock |
| 仪表盘 | /dashboard | ✅ 完成 | mock |
| 工单管理 | /tickets | ✅ 完成 | mock |
| 查询审计 | /queries | ✅ 完成 | mock |
| 数据源管理 | /mysql, /postgres, /redis, /mongo | ✅ 完成 | mock |
| 用户管理 | /users | ✅ 完成 | mock |
|| 页面 | 路由 | 状态 | 数据来源 |
||------|------|------|----------|
|| 登录 | /login | ✅ 完成 | 真实 API |
|| 仪表盘 | /dashboard | ✅ 完成 | 真实 API |
|| 工单管理 | /tickets | ✅ 完成 | 真实 API |
|| 查询审计 | /queries | ✅ 完成 | 真实 API |
|| 数据源管理 | /mysql, /postgres, /redis, /mongo | ✅ 完成 | 真实 API |
|| 用户管理 | /users | ✅ 完成 | 真实 API |
| 角色管理 | /roles | 🔶 UI 骨架 | mock |
| 数据权限 | /data-permission | 🔶 UI 骨架 | mock |
| 审核规则 | /audit-rules | 🔶 UI 骨架 | mock |
@@ -82,12 +82,12 @@
| # | 级别 | 问题 | 影响 | 建议 |
|---|------|------|------|------|
| 1 | **严重** | 前端全部使用 mock 数据,页面未调真实 API | 产品不可用 | v0.2.0 第一优先 |
| 2 | **严重** | Vite 无 proxy 配置,前端无法请求后端 | 开发阻塞 | vite.config.ts 加 proxy |
| 3 | **严重** | Instance.password 明文存储 | 安全漏洞 | AES 加密存储 |
| 4 | **高** | SQL 注入防护仅关键词匹配 | 绕过风险 | SQL AST 解析 |
| 5 | **高** | 无测试代码(0 个测试) | 回归风险 | pytest + vitest |
| 6 | **高** | 无 git commit(空仓库) | 版本风险 | 立即初始提交 |
|| 1 | ~~严重~~ ✅ | ~~前端全部使用 mock 数据~~ | ~~已全部替换为真实 API~~ | v0.2.0 已完成 |
|| 2 | ~~严重~~ ✅ | ~~Vite 无 proxy 配置~~ | ~~已配置 proxy~~ | v0.2.0 已完成 |
|| 3 | **严重** | Instance.password 明文存储 | 安全漏洞 | AES 加密存储 |
|| 4 | **高** | SQL 注入防护仅关键词匹配 | 绕过风险 | SQL AST 解析 |
|| 5 | ~~高~~ ✅ | ~~无测试代码~~ | ~~已有 44 个测试~~ | v0.2.0 已完成 |
|| 6 | ~~高~~ ✅ | ~~无 git commit~~ | ~~已有 2 个 commit~~ | v0.1.0 已完成 |
| 7 | **中** | 只支持 MySQL 查询 | 功能限制 | 按需扩展 PG |
| 8 | **中** | 前端 mock.ts 文件过大 | 维护困难 | 按模块拆分 |
| 9 | **低** | package.json name 为 "my-app" | 不专业 | 改为 sql-platform |
@@ -111,20 +111,22 @@
| 维度 | 评分(1-10) | 说明 |
|------|-----------|------|
| 架构设计 | **8** | 前后端分层清晰,RESTful API 规范 |
| 代码质量 | **6** | 结构好但缺乏测试和类型严格性 |
| 功能完成度 | **4** | 核心骨架在,但前后端未打通 |
| 安全性 | **5** | 基础安全到位,密码明文存储是大问题 |
| 可维护性 | **7** | 目录结构规范,命名清晰 |
| UI/UX | **8** | 精致的双主题 UI,shadcn 组件运用好 |
| 生产就绪度 | **2** | mock 数据、无测试、无部署配置 |
| **综合** | **5.7** | 基础不错,距可用还有一定距离 |
|| 代码质量 | **7** | 44 个测试保障,TypeScript 编译通过 |
|| 功能完成度 | **6** | 核心功能前后端已打通,缺审核引擎 |
|| 安全性 | **5** | 基础安全到位,密码明文存储是大问题 |
|| 可维护性 | **7** | 目录结构规范,命名清晰 |
|| UI/UX | **8** | 精致的双主题 UI,shadcn 组件运用好 |
|| 生产就绪度 | **4** | 真实 API、有测试,但缺部署配置 |
|| **综合** | **6.2** | 前后端已打通,核心功能可用 |
---
## 六、下一步行动 (Top 5)
1. 🔴 **初始化 git** — 提交所有代码作为 v0.1.0 基线
2. 🔴 **Vite proxy** — 配置开发环境 API 代理
3. 🔴 **Dashboard 对接 API** — 替换 mock → 真实 API
4. 🔴 **Instance 密码加密** — AES 加密存储
5. 🟡 **编写第一个测试** — pytest 后端认证模块
1. ~~🔴 初始化 git~~ ✅ 已完成
2. ~~🔴 Vite proxy~~ ✅ 已完成
3. ~~🔴 Dashboard 对接 API~~ ✅ 已完成
4. ~~🔴 编写测试~~ ✅ 44 个测试通过
5. 🔴 **Instance 密码加密** — AES 加密存储
6. 🔴 **SQL 审核引擎** — 基于 AST 的规则检查
7. 🟡 **操作审计日志** — 关键操作记录 AuditLog