Files
FruitServer/docs/plans/2026-10-21-K100-episode-batch-upload.md

1.7 KiB
Raw Permalink Blame History

K100 后台剧集多选上传(分片 + 断点续传 + 批量建集)

日期:2026-10-21
范围:仅 ReelShortWeb;不改 FruitServer 后端、不改 ReelShort 客户端、不改接口契约。

目标

剧集管理页「批量上传」:多选视频 → 队列分片上传(文件并发 2 / 分片并发 3)→ 单项与字节加权总进度 → 失败隔离/可重试 → localStorage 断点续传 → 上传完成后批量创建分集。

步骤

  1. 从 develop 拉 feature/episode-batch-upload。
  2. 新建 src/views/contentManagement/upload/uploadSessions.ts:reel_upload_sessions 读写/过滤/清理。
  3. 新建 useUploadQueue.ts:状态机、文件并发泵、进度加权、pause/retry/remove、complete 写回 assetId/url、挂接 session。
  4. 新建 UploadTaskRow.vue / BatchUploadDialog.vue / CreateEpisodesDialog.vue。
  5. EpisodeManagementView.vue 仅加「批量上传」入口,保留原单文件上传。
  6. zh-CN.ts / en.ts 补齐文案;白名单 mp4/mov/mkv/webm;超限标红不入队;beforeunload。
  7. 门禁:pnpm lint:eslint + pnpm build:dev。
  8. 提交 feat(admin): 剧集多选分片上传与断点续传 → --no-ff 合回 develop 并 push。

风险 / 待确认

  • 续传需用户重新选择本地文件才能匹配;换机器/改名无法自动续传(产品已接受)。
  • 暂停不 abort 进行中分片,已在传任务会跑完再停派发。
  • EpisodeManagementView.vue 存量已超 500 行,本轮只加入口,不整体拆旧编辑器。
  • 手工联调(多选/暂停/刷新续传/建集)由 PM 在 8080+3005 复核,本轮不操作真机、不 kill 已运行端口。