Files
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

3.0 KiB
Raw Permalink Blame History

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 多模态视觉理解