# Web-Lite 数据审核平台 - 项目评估 > 评估日期: 2025-05-22 > 评估版本: v0.1.0-dev --- ## 一、项目概况 | 项目 | 说明 | |------|------| | 项目名 | Web-Lite 数据审核平台 (sql-platform) | | 定位 | SQL 审核与工单管理平台(对标 Yearning/Archery) | | 路径 | ~/devops/sql-platform | | 前端 | React 19 + TS + Vite 7 + Tailwind + shadcn/ui | | 后端 | FastAPI + SQLAlchemy 2 async + SQLite | | 状态 | **开发初期** — 后端骨架完成,前端 UI 大量完成但依赖 mock | --- ## 二、功能完成度 ### 后端 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 | ### 前端页面 (完成度: 45%) | 页面 | 路由 | 状态 | 数据来源 | |------|------|------|---------| | 登录 | /login | ✅ 完成 | mock | | 仪表盘 | /dashboard | ✅ 完成 | mock | | 工单管理 | /tickets | ✅ 完成 | mock | | 查询审计 | /queries | ✅ 完成 | mock | | 数据源管理 | /mysql, /postgres, /redis, /mongo | ✅ 完成 | mock | | 用户管理 | /users | ✅ 完成 | mock | | 角色管理 | /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 | ✅ 完成 | 统计 | --- ## 三、代码质量评估 ### ✅ 优点 1. **架构清晰** — 后端分层 (models → schemas → services → endpoints),前端分层 (api → hooks → pages) 2. **现代技术栈** — FastAPI async、React 19、TypeScript 严格模式 3. **安全基础到位** — JWT + bcrypt + 角色权限 + CORS + SQL 关键词过滤 4. **UI 统一美观** — shadcn/ui + dark/light 主题 + CSS 变量体系完善 5. **API 层完整** — 前端 API 模块和后端端点一一对应 ### ⚠️ 问题 | # | 级别 | 问题 | 影响 | 建议 | |---|------|------|------|------| | 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(空仓库) | 版本风险 | 立即初始提交 | | 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 规范 | | 代码质量 | **6** | 结构好但缺乏测试和类型严格性 | | 功能完成度 | **4** | 核心骨架在,但前后端未打通 | | 安全性 | **5** | 基础安全到位,密码明文存储是大问题 | | 可维护性 | **7** | 目录结构规范,命名清晰 | | UI/UX | **8** | 精致的双主题 UI,shadcn 组件运用好 | | 生产就绪度 | **2** | mock 数据、无测试、无部署配置 | | **综合** | **5.7** | 基础不错,距可用还有一定距离 | --- ## 六、下一步行动 (Top 5) 1. 🔴 **初始化 git** — 提交所有代码作为 v0.1.0 基线 2. 🔴 **Vite proxy** — 配置开发环境 API 代理 3. 🔴 **Dashboard 对接 API** — 替换 mock → 真实 API 4. 🔴 **Instance 密码加密** — AES 加密存储 5. 🟡 **编写第一个测试** — pytest 后端认证模块