Files
wecom_it_smart_desk/docs/01-产品文档/05-用户端H5/PRD-REQ-用户-002-文件上传-v1.0.md
T
Simon facc04aa65 chore: docs 结构整改 + compose 双目录对齐(合并重建提交)
本提交为 .git 对象库损坏后的重建提交,内容等价于原先三个本地提交
(5e2fd4c2 / 57a53c98 / 5d7e1873)的累积结果,未做任何额外改动。

一、docs 结构整改(整改 #14)
根因:重构时新结构为 untracked 文件,执行 git stash(未带 -u)未纳入,
随后 git reset 拉回 HEAD 旧 tracked 树,导致旧树复活、新旧两棵目录
树并存于 docs/,共 791 文件、双分类体系冲突。

修复动作:
- b2 同名异主题文件改名迁移保全 9 个
- C 类 39 个孤立文件按主题正确归类
- A/B1 类 222 个重复文件删除(新结构已有内容副本)
- 9 个旧独有空目录删除
- 270 处内部引用按 verified 映射改写
- 整改记录 #14 登记于 04-运维文档/部署运维

结果:docs 791 → 569 文件,顶层仅规范 8 类 + 治理文件,单树恢复。
残留:约 20 处指向从未存在文件的陈旧死链,归入独立文档卫生任务。

二、compose 双目录对齐(消除踩坑 A)
- docker-compose.yml:nginx 前端挂载全部由根目录 frontend-*/dist
  改为 src/frontend-*/dist(h5 / agent / admin / terminal)
- docker-compose.dev.yml:dev 服务 build context 与卷同步改 src/
- 效果:本地 docker compose up 不再把根目录 stale dist 挂回,
  与线上一致,分叉隐患消除(已 docker compose config 校验通过)

防复发铁律:
- 重构须提交;仓库修复须 git stash -u 或先 commit
- 新结构须 git add 并提交,避免再次 untracked 复活
- H5 改动只动 src/frontend-h5/,禁改根目录遗留 frontend-*/
2026-08-07 22:31:32 +08:00

125 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PRD - 文件上传
> **REQ编号**: REQ-用户-002
> **版本**: v1.0
> **优先级**: P0
> **阶段**: 近期(1-2个月)
> **作者**: 宋献
> **日期**: 2026-07-19
---
## 一、问题陈述
**用户问题**
- 员工无法在 H5 端上传截图/文件
- 遇到问题时只能文字描述,无法提供错误截图、日志文件等
- 限制了 AI 多模态理解能力
**业务目标**
- 员工可上传图片、文档、日志等文件
- 坐席端可查看上传的文件
- 为后续多模态 AI 能力铺路
---
## 二、需求范围
### 2.1 核心功能
| 功能 | 描述 |
|------|------|
| H5图片上传 | 支持拍照、相册选择上传图片 |
| H5文件上传 | 支持上传文档、日志等文件 |
| 坐席端查看 | 坐席可查看会话中上传的文件 |
| 文件预览 | 支持图片、PDF、TXT 等常见格式预览 |
### 2.2 非目标
- 不支持大文件(>10MB)直接上传
- 不支持文件编辑/协作
- 不支持文件夹上传
---
## 三、用户故事
| 角色 | 用户故事 | 验收标准 |
|------|----------|---------|
| 员工 | 我可以拍照或选择相册图片上传 | 点击上传按钮,可选择拍照或相册,上传成功后在消息中显示缩略图 |
| 员工 | 我可以上传文档或日志文件 | 上传后显示文件名,点击可预览或下载 |
| 坐席 | 我可以查看会话中的文件 | 文件作为消息的一部分显示,点击可查看详情 |
| 坐席 | 我可以下载原始文件 | 支持下载到本地 |
---
## 四、功能详情
### 4.1 H5 端
**入口**
- 聊天输入框右侧增加「附件」按钮
- 点击弹出操作菜单:拍照、相册、文件
**交互**
- 图片:选择后显示缩略图预览,支持删除重选
- 文件:选择后显示文件名、大小,支持删除重选
- 上传中显示进度条
- 上传失败显示错误提示,支持重试
**限制**
- 单文件最大 10MB
- 每天最多上传 20 个文件
### 4.2 坐席端
**展示**
- 图片显示为缩略图,点击放大
- 文件显示文件名、类型、大小
- 支持下载到本地
**预览**
- 图片:支持缩放、旋转
- PDF:内嵌 PDF 查看器
- TXT/LOG:文本内容预览
### 4.3 后端
**存储**
- 本地存储(/opt/wecom-it-desk/uploads
- 文件名使用 UUID 重命名
- 保留原始文件名和扩展名
**接口**
- `POST /api/file/upload` - 上传文件
- `GET /api/file/{id}` - 获取文件信息
- `GET /api/file/{id}/download` - 下载文件
- `DELETE /api/file/{id}` - 删除文件
---
## 五、指标设计
| 指标 | 目标 | 测量方式 |
|------|------|---------|
| 上传成功率 | ≥ 99% | 上传成功次数/上传总次数 |
| 平均上传时间 | ≤ 3s | 1MB以内文件上传耗时 |
| 日上传量 | 统计 | 每日上传文件数 |
---
## 六、技术方案
| 端 | 技术选型 |
|----|---------|
| H5端 | van-uploader 组件 |
| 坐席端 | el-upload 组件 |
| 后端 | FastAPI + 静态文件服务 |
---
## 七、关联文档
- 前置需求: 无
- 后续需求: REQ-AI-003 多模态视觉理解