Web-Lite 数据审核平台 - 项目评估
评估日期: 2025-05-22
评估版本: v0.2.0 (Phase 1+2 已完成)
一、项目概况
| 项目 |
说明 |
| 项目名 |
Web-Lite 数据审核平台 (sql-platform) |
| 定位 |
SQL 审核与工单管理平台(对标 Yearning/Archery) |
| 路径 |
~/devops/sql-platform |
| 前端 |
React 19 + TS + Vite 7 + Tailwind + shadcn/ui |
| 后端 |
FastAPI + SQLAlchemy 2 async + SQLite |
|
状态 |
二、功能完成度
后端 API (完成度: 60%)
| 模块 |
端点数 |
状态 |
说明 |
| 认证 auth |
3 |
✅ 完成 |
login/me/logout,JWT+bcrypt |
| 用户 users |
5 |
✅ 完成 |
CRUD,admin 权限控制 |
| 数据源 instances |
7 |
✅ 完成 |
CRUD+测试连接+列库+列表 |
| 工单 tickets |
6 |
✅ 完成 |
列表+创建+详情+审核+执行+统计 |
| 查询 query |
1 |
✅ 完成 |
仅 MySQL,SQL 注入防护(关键词级) |
| 仪表盘 dashboard |
1 |
✅ 完成 |
统计聚合 |
| 审核规则 |
0 |
❌ 缺失 |
无后端 API |
| 工作流 |
0 |
❌ 缺失 |
无后端 API |
| 数据权限 |
0 |
❌ 缺失 |
无后端 API |
| 公告管理 |
0 |
❌ 缺失 |
无后端 API |
| 自动任务 |
0 |
❌ 缺失 |
无后端 API |
前端页面 (完成度: 65%)
|| 页面 | 路由 | 状态 | 数据来源 |
||------|------|------|----------|
|| 登录 | /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 |
| 工作流 | /workflow | 🔶 UI 骨架 | mock |
| 自动任务 | /auto-task | 🔶 UI 骨架 | mock |
| 公告管理 | /announcement | 🔶 UI 骨架 | mock |
| 平台配置 | /config-platform | 🔶 UI 骨架 | mock |
API 层 (完成度: 70%)
| 文件 |
状态 |
说明 |
| api/request.ts |
✅ 完成 |
axios 封装 + token 拦截 |
| api/auth.ts |
✅ 完成 |
login/logout/me |
| api/user.ts |
✅ 完成 |
CRUD |
| api/instance.ts |
✅ 完成 |
CRUD+测试+列库+列表 |
| api/ticket.ts |
✅ 完成 |
列表+创建+审核+执行+统计 |
| api/query.ts |
✅ 完成 |
查询执行 |
| api/dashboard.ts |
✅ 完成 |
统计 |
三、代码质量评估
✅ 优点
- 架构清晰 — 后端分层 (models → schemas → services → endpoints),前端分层 (api → hooks → pages)
- 现代技术栈 — FastAPI async、React 19、TypeScript 严格模式
- 安全基础到位 — JWT + bcrypt + 角色权限 + CORS + SQL 关键词过滤
- UI 统一美观 — shadcn/ui + dark/light 主题 + CSS 变量体系完善
- API 层完整 — 前端 API 模块和后端端点一一对应
⚠️ 问题
| # |
级别 |
问题 |
影响 |
建议 |
|
1 |
严重 ✅ |
前端全部使用 mock 数据 |
已全部替换为真实 API |
|
2 |
严重 ✅ |
Vite 无 proxy 配置 |
已配置 proxy |
|
3 |
严重 |
Instance.password 明文存储 |
安全漏洞 |
|
4 |
高 |
SQL 注入防护仅关键词匹配 |
绕过风险 |
|
5 |
高 ✅ |
无测试代码 |
已有 44 个测试 |
|
6 |
高 ✅ |
无 git commit |
已有 2 个 commit |
| 7 |
中 |
只支持 MySQL 查询 |
功能限制 |
按需扩展 PG |
| 8 |
中 |
前端 mock.ts 文件过大 |
维护困难 |
按模块拆分 |
| 9 |
低 |
package.json name 为 "my-app" |
不专业 |
改为 sql-platform |
| 10 |
低 |
backend venv 提交到 git |
仓库膨胀 |
.gitignore 排除 |
四、风险评估
| 风险 |
概率 |
影响 |
缓解措施 |
| 前后端对接工作量被低估 |
高 |
高 |
逐页面替换 mock,优先核心页面 |
| SQL 审核引擎开发复杂 |
中 |
高 |
先做规则配置 CRUD,引擎迭代 |
| SQLite 并发瓶颈 |
低 |
中 |
v0.2.0 支持 MySQL |
| 前端状态管理缺失 |
中 |
低 |
目前页面内 useState 够用,后续按需引入 |
五、项目评分
| 维度 |
评分(1-10) |
说明 |
| 架构设计 |
8 |
前后端分层清晰,RESTful API 规范 |
|
代码质量 |
7 |
|
功能完成度 |
6 |
|
安全性 |
5 |
|
可维护性 |
7 |
|
UI/UX |
8 |
|
生产就绪度 |
4 |
|
综合 |
6.2 |
六、下一步行动 (Top 5)
🔴 初始化 git ✅ 已完成
🔴 Vite proxy ✅ 已完成
🔴 Dashboard 对接 API ✅ 已完成
🔴 编写测试 ✅ 44 个测试通过
- 🔴 Instance 密码加密 — AES 加密存储
- 🔴 SQL 审核引擎 — 基于 AST 的规则检查
- 🟡 操作审计日志 — 关键操作记录 AuditLog