refactor(arch): 信息架构升级 — 三层四角色控制面板 + 跨平台 task 交接协议
核心变化: - dashboard.md 替代 DASHBOARD + ROADMAP,人类+Arch AI 唯一入口 - DECISIONS.md 人类决策入口,≤3 条待决策 - .ai/tasks/ 14 个独立 task 文件(Coder 8 + Tester 6),弱模型自包含可独立执行 - 旧 today/queue 归档,每个角色启动 ≤2 个文件 - ADR-012 跨平台「高模型指挥小模型」协作架构落地 - 知识库补全:L-002~005、P-004~005、ADR-011~012 - Arch AI 上下文资源管理硬约束写入 principles.md Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
# Task P01-004: Upload 模块(图片上传 + S3)
|
||||
|
||||
## 元信息
|
||||
|
||||
| 字段 | 值 |
|
||||
|------|-----|
|
||||
| 状态 | `todo` |
|
||||
| 优先级 | P1 |
|
||||
| 依赖 | P01-001(DB Schema) |
|
||||
| 分配给 | Coder AI (Trae CN + GLM-4.6) |
|
||||
|
||||
## 输入
|
||||
|
||||
**要读的文件**:
|
||||
- `docs/02_系统架构/模块设计.md` — 3.5 Upload 模块(或相关 API 定义)
|
||||
- `docs/02_系统架构/数据模型.md` — error_item_images 表结构
|
||||
- `docs/02_系统架构/技术选型.md` — S3 SDK + Sharp 版本
|
||||
- `projects/app/src/db/schema/*.ts` — P01-001 产出的 Drizzle Schema
|
||||
|
||||
**参考的 ADR**:
|
||||
- 无特殊 ADR
|
||||
|
||||
**上游依赖产出**:
|
||||
- P01-001: error_item_images 表 Drizzle Schema
|
||||
|
||||
## 输出
|
||||
|
||||
**要生成/修改的文件**:
|
||||
- `projects/app/src/modules/upload/upload.module.ts`
|
||||
- `projects/app/src/modules/upload/upload.controller.ts` — POST /upload/image
|
||||
- `projects/app/src/modules/upload/upload.service.ts` — 接收文件 → 上传 S3 → 生成缩略图 → 写 DB
|
||||
|
||||
**API**:
|
||||
| 方法 | 路径 | 说明 |
|
||||
|------|------|------|
|
||||
| POST | /upload/image | multipart 上传图片 → S3 URL + 缩略图 URL |
|
||||
|
||||
**关键逻辑**:
|
||||
- 原图上传 S3(bucket: errlens-originals)
|
||||
- Sharp 生成缩略图(max 300x300)→ 上传 S3(bucket: errlens-thumbnails)
|
||||
- 写入 error_item_images 表(关联 error_item_id 可选,拍照时先上传图片再创建错题记录)
|
||||
|
||||
## 验收方法
|
||||
|
||||
```bash
|
||||
# 编译检查
|
||||
npx tsc --noEmit
|
||||
|
||||
# 上传测试图片
|
||||
curl -X POST http://localhost:3000/upload/image \
|
||||
-F "image=@test.jpg"
|
||||
# 预期: { id, originalUrl, thumbnailUrl, width, height }
|
||||
```
|
||||
|
||||
## 约束
|
||||
|
||||
- 不碰: `projects/app/tests/`、Image 模块目录、Print 模块目录
|
||||
- 技术栈: NestJS + Sharp + @aws-sdk/client-s3(或 Minio SDK)
|
||||
- 遵循: `.ai/prompts/coding/code-style.md`
|
||||
|
||||
## 完成报告
|
||||
|
||||
> Coder 完成后填写。Commit message 以 `[READY_FOR_TEST]` 结尾。
|
||||
|
||||
- [ ] 输出文件已生成
|
||||
- [ ] 验收命令通过
|
||||
- [ ] Commit: `{hash}`
|
||||
- [ ] Commit message: `feat(P01-004): Upload 模块(图片上传+S3+缩略图) [READY_FOR_TEST]`
|
||||
Reference in New Issue
Block a user