Files
photo-live/docs/02-项目计划.md
T
浅念 d973c714f0 chore: init repository skeleton
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-17 16:13:49 +08:00

17 KiB

图片直播项目计划

版本:V1.3
日期:2026-09-17
关联文档:需求说明书 · 技术实施方案 · 优化方案

本计划把第一版拆成可交付任务,并优先验证双平台后台上传。完成目标是交付 Flutter App、管理后台、观众网页、网站 JS 组件和支撑服务,跑通活动创建到照片传播的完整流程。

1 排期假设

目前没有确认开发人员和上线日期,因此采用相对周次 W1 至 W16,不设具体日历承诺。

用于估算的团队配置为:1 名 Flutter 工程师、1 名后端工程师、1 名 Web 工程师;另配兼职产品设计、测试和运维支持。测试在早期参与,不能只在最后一周介入。人员减少、缺乏原生移动端经验或外部审批延误,都需要重新排期。

增加海外服务及双向业务同步后,原 12 周基线暂增加 2 至 4 周,按 14 至 16 周估算,以 16 周安排为工作基线,W15 至 W16 用于试运行、修复与发布。以下工作量是规划估算,单位为角色人日,不含等待外部审核时间,不代表固定报价。W2 技术验证结束后重估。

2 交付清单

编号 交付物 完成标准
P01 需求和原型 角色权限、三端页面、上传和互动状态明确
P02 技术验证报告 Android 和 iOS 真机后台上传方案可行,异常边界有记录
P03 后端与管理后台 账号、相册、人员、照片及 OSS 处理闭环
P04 Flutter App 账号密码登录、相册配置、协作、上传记录和照片管理
P05 观众网页 多语言活动页、浏览次数、瀑布流、大图、下载分享、点赞气泡
P06 JS 嵌入组件 可复制代码接入、悬浮轮播、自动更新和跳转
P07 验证材料 权限、弱网、兼容、大相册、实时互动测试报告
P08 上线与运维交接 国内海外部署配置、数据库迁移、备份恢复、监控和回滚步骤
P09 海外同步与全球分发 内容推送补漏、统计回传、CDN 与冷缓存地域测试报告

3 阶段安排

阶段 周次 主要工作 退出条件
S1 需求原型 W1 字段、权限、页面原型、账号分发条件确认 需求基线与待确认负责人明确
S2 技术验证 W1 至 W2 原生后台传输、OSS、用户接口、海外网络与 CDN 验证 核心风险有实测结果,确定实施方式
S3 基础链路 W3 至 W6 身份、相册、上传、处理、公开列表,基础 App 和后台 单张和批量上传自动发布端到端可用
S4 功能建设 W7 至 W10 协作管理、队列恢复、大图、语言、点赞、下载分享 主要需求完成并通过模块测试
S5 优化与集成 W11 至 W14 展示位、交接、双向同步、CDN、访问保护与跨地域测试 新增优化通过验收,功能冻结
S6 试运行发布 W15 至 W16 模拟或真实活动、故障演练、修复、分发和交接 业务验收通过,发布检查和回滚准备完成

后台、App 和 Web 可在接口契约稳定后并行。多语言、日志和权限随各模块实施,不在末期集中补做。App 分发资格与域名准备从 W1 启动,外部审核周期另计。

4 工作分解

表中主责为岗位而非已指定人员。估算区间涵盖实现与开发自测,联调测试单列。依赖项表示开始或完成前所需条件。

WBS 工作包 主责 估算人日 依赖 交付证据
T01 字段权限原型与验收清单 产品设计 4 至 6 无 原型、R01 至 R31 对应清单
T02 仓库工程环境与构建流水线 全端运维 3 至 5 技术选型 三端基础构建、环境说明
T03 双平台后台上传与 OSS 验证 Flutter 后端 8 至 12 测试 Bucket 路径、真机 锁屏弱网过期恢复报告
T04 用户接口契约与同步验证 后端 测试 3 至 5 用户接口文档和测试凭据 稳定 ID、分页增量、异常和停用语义验证
T05 账号会话权限与后台账号管理 后端 Web 6 至 8 T01 T04 登录、停用、重置和越权用例
T06 相册分类语言与协作接口 后端 5 至 7 T05 API 契约及权限测试
T07 OSS 授权处理发布与失败恢复 后端 7 至 10 T03 T06 幂等上传发布、后台补偿
T08 App 登录相册配置和协作页面 Flutter 7 至 9 T04 T06 双平台可操作页面
T09 App 上传队列与记录正式实现 Flutter 10 至 14 T03 T07 重启恢复、失败重试、账号隔离
T10 后台相册照片和用量管理 Web 6 至 8 T06 T07 配置、筛选、隐藏删除和用量
T11 观众活动页瀑布流和大图 Web 7 至 9 T06 T07 大相册分页与滑动定位
T12 分享下载与浏览器适配 Web 后端 3 至 5 T11 照片链接、下载开关和微信引导
T13 点赞计数与实时气泡 后端 Web 6 至 8 T07 T11 去重、广播隔离和断线恢复
T14 JS 悬浮组件与配置生成 Web 4 至 6 T06 T11 独立网站接入样例
T15 全端语言验收与文案补齐 全端产品 3 至 5 各功能 语言切换与缺失回退检查
T16 全链路测试容量与缺陷修复 测试全端 10 至 15 T08 至 T15、T19 至 T24、T26 至 T28、T30 测试报告、阻断问题关闭
T17 部署备份回滚与监控 运维后端 4 至 6 T02 T07 部署和恢复演练记录
T18 试运行App分发与交接 全端测试 4 至 6 T16 T17 T29 业务验收和发布记录
T19 相册浏览计数与前台展示 后端 Web 2 至 3 T06 T11 幂等计数、窗口去重及展示核对
T20 连拍活动控制交接与水印规则增量 Flutter 后端 Web 10 至 15 T06 T08 T10 A15 至 A18 验收,含历史水印任务
T21 准备状态与跨设备记录增量 Flutter 后端 6 至 9 T03 T09 A19 验收与锁屏长队列恢复
T22 原图不可变与资源访问增量 后端 Web 运维 5 至 8 T07 T12 A20 验收与签名缓存失效测试
T23 展示位管理与不可见暂停增量 后端 Web 3 至 5 T06 T14 A22 A23 验收,换相册不改站点
T24 气泡批次去重与动画偏好增量 后端 Web 3 至 5 T13 A21 验收,自己的动画不重复
T25 海外部署与全球 CDN 可行性验证 后端 运维 测试 3 至 5 T02、海外测试资源 目标地区冷缓存和服务直读报告
T26 国内到海外元数据同步与补漏 后端 Web 测试 8 至 12 T06 T07 T25 版本去重、隐藏删除、补漏与同步状态
T27 海外计数权威与统计回传 后端 测试 运维 4 至 6 T13 T19 T26 重复回传不加计、国内最终一致
T28 全球 CDN 接入与访问策略增量 运维 后端 Web 3 至 5 T22 T25 域名鉴权、缓存失效、冷缓存测量
T29 跨地域故障与上线验收 测试 后端 Web 运维 4 至 6 T16 T26 T27 T28 中断恢复、下线传播、地域时延与告警
T30 用户定期同步与后台同步管理 后端 Web 运维 测试 5 至 8 T04 T05 幂等更新、水位、定时补拉、日志与失败告警

合计约 156 至 231 角色人日。V1.3 用 T04 用户接口验证替代飞书验证,并增加 T30 同步实现,较 V1.2 增加 5 至 9 人日,仍按 16 周基线安排,接口契约未提供前不能视为固定工期。T04 在 W1 至 W2,T30 在 W3 至 W6 完成并纳入核心账号验收。V1.2 历史估算为 151 至 222 人日。V1.1 的 129 至 188 人日保留;T25 至 T29 是海外架构增量,增加 22 至 34 人日,不重复计算基础计数和 OSS 上传。T25 在 W1 至 W2 验证,T26 从 W3 起随核心接口推进,T27 和 T28 在功能期联调,T29 于 W13 至 W14 完成跨地域验收。T19 调整为 W7 至 W8。同步异常不得留到上线后补做。

4A 岗位工作量与资源检查

以下按各任务估算上限分配,单位为人日;这是估算分配,不是已落实人员。每行合计等于上方任务上限,避免多人主责被误认为每个人都要投入整项工作量。

任务 Flutter 后端 Web 产品设计 测试 运维
T01 0 0 0 6 0 0
T02 1 1 1 0 0 2
T03 8 3 0 0 1 0
T04 0 3 0 0 2 0
T05 0 4 3 0 1 0
T06 0 6 0 0 1 0
T07 0 8 0 0 1 1
T08 8 0 0 1 0 0
T09 12 0 0 0 2 0
T10 0 0 7 0 1 0
T11 0 0 8 1 0 0
T12 0 1 3 0 1 0
T13 0 4 3 0 1 0
T14 0 0 5 0 1 0
T15 1 0 1 2 1 0
T16 2 2 2 0 9 0
T17 0 1 0 0 1 4
T18 1 0 1 0 3 1
T19 0 1 1 0 1 0
T20 4 4 4 1 2 0
T21 6 1 0 0 2 0
T22 0 4 1 0 1 2
T23 0 1 3 0 1 0
T24 0 1 3 0 1 0
T25 0 2 0 0 1 2
T26 0 8 1 0 2 1
T27 0 4 0 0 1 1
T28 0 1 1 0 1 2
T29 0 1 1 0 3 1
T30 0 4 2 0 1 1
合计 43 65 51 11 43 18

16 周按每周 5 个工作日约 80 人日计算,三名开发各自均需保留会议、评审、外部等待和非项目工作的空间。后端总量最高,需优先保障双向同步;Web 避免同时推进后台、观众页与组件三条主线;兼职测试也需要在集成期集中投入,不能假设仅偶尔验收。

排期容量检查还需按周落实到人:W1 至 W2 优先验证,W3 至 W6 核心链路,W7 至 W10 功能,W11 至 W14 优化集成,W15 至 W16 试运行发布。总量有余量并不证明所有依赖可在 14 周内完成;W2 后根据实际速度发布细化到人的排期。

5 关键路径与里程碑

关键路径为:后台上传验证 → 持久化上传队列 → OSS 核验和自动发布 → 海外可见与同步恢复验证 → 双平台恢复验证 → 试运行 → 发布。若后台上传验证未通过,不应把功能标记为完成后继续承诺原上线日期。

里程碑 建议时间 验收内容 验收岗位
M1 需求基线 W1 结束 已确认范围、建议项和未决策项明确 业务负责人、技术负责人
M2 技术可行 W2 结束 后台上传、凭证过期、用户接口同步验证通过 技术负责人、测试
M3 核心链路 W6 结束 国内上传后海外观众页自动看到照片 业务负责人、测试
M4 功能齐备 W14 结束 App、后台、观众、组件和多语言可用 产品、测试
M5 试运行通过 W15 结束 多人现场操作、弱网及权限行为符合要求 业务负责人
M6 发布交接 W16 结束 生产部署、App 分发、监控、回滚和交接完成 项目负责人、运维

6 首轮容量验证建议

业务尚未提供容量,以下仅是待评审的测试阶梯,不是生产承诺。采用固定图片大小、清晰度、网络和设备条件记录结果。

层级 相册照片数 同时上传人数 在线观众 目的
L1 基础 1,000 3 100 验证完整流程和初步稳定性
L2 目标候选 10,000 10 1,000 评估首版资源与优化需求
L3 扩展探测 50,000 20 5,000 查找瓶颈,不作为默认上线门槛

照片数量测试可使用测试数据;实际上传吞吐和缩略图处理必须另用真实尺寸图片验证。在线数和点赞频率分别施压,避免只验证连接数而忽略消息负载。

建议候选指标:普通列表 API P95 小于 500ms;约定网络下活动页首批照片 P95 小于 3 秒;传输完成到发布 P95 小于 10 秒;点赞确认及广播 P95 小于 2 秒。W2 根据样本、部署规格和成本重新确认,上传耗时单独统计,不包含在图片处理时延内。

7 测试计划

7.1 开发阶段

核心权限、上传幂等、点赞幂等、排序分页和语言回退编写服务端测试。每个功能提交时验证对应验收编号,不编写只重复页面实现的低价值测试。

7.2 集成阶段

  • Android 和 iOS 真机:前台、后台、锁屏、系统中止、强制退出、重启、低电量模式。
  • 网络:离线入队、上传中断网、Wi-Fi 与移动网络切换、临时授权过期。
  • 数据:同名不同文件、重复任务、HEIC、超限和损坏文件、处理失败、回调重复。
  • 权限:移除协作者、账号停用、相册下线、直接调用他人照片 API。
  • 观众:微信内浏览器、Android Chrome、iOS Safari 和桌面主流浏览器。
  • 实时:同相册多窗口、不同相册隔离、密集点赞、断线重连、隐藏照片后旧链接。
  • 嵌入:不同 CSS 框架、窄屏、组件多次加载、无图、宿主 CSP 限制。
  • 语言:中英切换、长英文排版、时区、未填写翻译和不同宣传图。
  • 优化:连拍切相册、准备失败、负责人转移、上传公开独立、历史水印失败、旧授权覆盖、跨标签浏览、自己气泡重复、展示位切换和用量告警。

用户同步专项:重复记录、改名改账号、分页中断、空响应、超时重试、并发补拉、旧版本覆盖、显式停用、本地锁定、密码权限不被覆盖及水位恢复。

7.3 发布门槛

需求文档 A01 至 A29 完成映射。浏览统计需验证首次访问、短时刷新、单图入口、跨窗口访问、重复请求和嵌入轮播排除。无数据丢失、越权、无法恢复上传等阻断缺陷;其他遗留问题写明影响和处理时间。完成一次数据库恢复与发布回滚演练,并形成容量实测报告。

跨境专项:断开内容同步、乱序重放、重复计数回传、重建海外副本、隐藏删除优先传递、同步积压告警;从确认的目标地域分别测新图冷缓存和缓存命中,不能只测国内网络。同步延迟与图片传输时延分开报告。

8 资源与外部依赖

资源 用途 提供时间
现有 OSS 地域与项目路径 临时授权、上传、资源分发 W1
用户接口文档和测试凭据 字段、唯一 ID、鉴权、分页、周期、停用语义 W1
域名和测试部署环境 API、观众页、组件与回调 W1 至 W2
Android 和 iOS 真机 后台上传和浏览器验收 W1
macOS 构建环境与 Apple 开发资质 iOS 编译签名与分发 W1 启动
活动样例与中英文案 原型和真实试运行 W2
海外服务器与测试节点 海外 API、数据库、同步接收和真实地域测试 W1
全球 CDN 域名和权限 OSS 回源、观众鉴权、缓存失效与按需预热 W1 至 W2
开发和测试负责人 确认实际排期与缺陷责任 启动前

密钥通过安全配置渠道提供,不写入代码、文档或聊天记录。长期云资源费用另行测算,费用包括 OSS 容量、请求和出网流量、CDN、图片处理、数据库、服务实例与日志。

9 风险及处置

风险 影响 处置
后台传输与系统限制不匹配 上传中断、延误 W1 至 W2 原生验证,保留可恢复队列
图片量和流量未知 性能及成本失控 分级压测、用量统计、容量告警
OSS 凭证过期 长任务失败 验证刷新与后台恢复,不无限延长授权
多人权限变更 越权发布 完成上传时再次校验权限
匿名连续点赞被滥用 计数及广播负载 基础限速、幂等、动画聚合
App 分发或用户接口联调延迟 功能完成但无法使用 W1 准备分发与接口样本,外部等待单独跟踪
用户同步异常或语义不明 重复账号或误停用 稳定 ID、完整快照判断、本地权限隔离及审计
海外地区与冷缓存 CDN 回源及 API 远距离延迟 确认用户地区,分别测试冷缓存与命中
跨境同步中断或乱序 新图延迟、旧状态覆盖 持久事件、版本校验、补漏及墓碑
统计重复回传 国内计数虚增 海外权威累计快照,版本替换,不重复相加

10 项目跟踪方式

每个任务记录负责人、需求编号、依赖、预计完成周、状态、验收证据和风险。状态使用待开始、进行中、待联调、待验收、完成、阻塞。

每周检查里程碑和关键路径,每阶段演示真实完整流程。新增需求需先评估涉及页面、接口、存储和测试的影响,明确替换现有范围、延长排期或进入后续版本。

项目启动先完成 D01 至 D03、D08 的决策,并落实资源负责人;W2 结束后发布修订后的工期和容量基线。