59 lines
2.7 KiB
Markdown
59 lines
2.7 KiB
Markdown
|
|
# 卡若AI 网站全站测试 v2 经验沉淀
|
|||
|
|
|
|||
|
|
> 日期:2026-03-14 | 执行者:卡若AI · 火炬(全栈开发)
|
|||
|
|
> 项目:卡若AI 官网(Next.js 14 + MongoDB)| 端口:3102
|
|||
|
|
> SKILL 版本:全栈测试 v2.0(本次同步升级)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 一、测试范围
|
|||
|
|
|
|||
|
|
18 个页面(15 控制台 + 1 登录 + 2 营销)、66 个 API 端点、MongoDB 数据一致性、安全审计。
|
|||
|
|
|
|||
|
|
## 二、本次发现并修复的问题
|
|||
|
|
|
|||
|
|
### 数据库连接(P0)
|
|||
|
|
|
|||
|
|
| 问题 | 根因 | 修复 |
|
|||
|
|
|:-----|:-----|:-----|
|
|||
|
|
| MongoDB 容器无端口映射 | Docker 容器创建时未加 `-p 27017:27017` | 重建容器并映射端口 + `--restart unless-stopped` |
|
|||
|
|
| 数据库连接异常(better-sqlite3 报错) | MongoDB 不可达时 fallback 到 SQLite,但 SQLite 缺 native binding | 修复 MongoDB 连接后问题消失 |
|
|||
|
|
|
|||
|
|
### 错误处理补全(P1)
|
|||
|
|
|
|||
|
|
| 页面 | 缺失 | 修复 |
|
|||
|
|
|:-----|:-----|:-----|
|
|||
|
|
| docs | load/add/runAction 全无 try/catch | 已补全 |
|
|||
|
|
| users | load/updateRole 全无 try/catch | 已补全 |
|
|||
|
|
| platform | toggleApi/toggleLimit 无 try/catch | 已补全 |
|
|||
|
|
| scheduler | saveTask/toggle/runAll/runSelected/batchToggle 无 try/catch;clearHistory 无确认 | 已补全全部 + 确认弹窗 |
|
|||
|
|
| skills | addSkill/toggleSkill/deleteSkill/saveEdit/batchSetEnabled 无 try/catch | 已补全 |
|
|||
|
|
| workflows | addWorkflow/deleteWorkflow/toggleStatus/saveWorkflowEdit 无 try/catch | 已补全 |
|
|||
|
|
| gene-capsule | toggleEnabled/deleteCapsule/addCapsule 无 try/catch | 已补全 |
|
|||
|
|
| heartbeat | runAll/toggle/approveAction/save/triggerLearn/depositAll 无 try/catch | 已补全 |
|
|||
|
|
|
|||
|
|
## 三、SKILL v2.0 升级要点
|
|||
|
|
|
|||
|
|
将全栈测试 SKILL 从 v1.0 升级为 v2.0 通用版,核心变化:
|
|||
|
|
|
|||
|
|
1. **十步法替代五维度**:更系统的执行流程
|
|||
|
|
2. **逐按钮清单**:每个页面的每个按钮、链接、表单都有检查项
|
|||
|
|
3. **UI/UX 检查维度**:布局挤压、文案误导、解释性小问号、间距统一
|
|||
|
|
4. **安全审计清单**:11 项必查安全点
|
|||
|
|
5. **重复功能清理**:废弃功能检测
|
|||
|
|
6. **经验库持续沉淀**:两个项目的完整经验表
|
|||
|
|
|
|||
|
|
## 四、通用教训
|
|||
|
|
|
|||
|
|
1. **Docker 容器创建必须加 `-p` 端口映射**,且加 `--restart unless-stopped` 防止重启丢失
|
|||
|
|
2. **每个 fetch 调用都要 try/catch + res.ok**——这是全站最普遍的遗漏
|
|||
|
|
3. **MongoDB 重建后数据丢失**——需要 seed 接口快速恢复默认数据
|
|||
|
|
4. **clearHistory 等批量破坏性操作必须 confirm**
|
|||
|
|
|
|||
|
|
## 五、页面最终状态
|
|||
|
|
|
|||
|
|
全部 15 个控制台页面 + 登录页 HTTP 200 通过:
|
|||
|
|
- 技能 73 项 ✅ | 网关 7 项 ✅ | 任务 24 项 ✅
|
|||
|
|
- 调度 8 项 ✅ | 心跳 3 项 ✅ | 集成 2 项 ✅
|
|||
|
|
- 接口 7 项 ✅ | 限流 3 项 ✅ | 用户 1 项 ✅
|