Files
浅念 d973c714f0 chore: init repository skeleton
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-17 16:13:49 +08:00

3.8 KiB

图片直播项目全景导图

版本:V1.3 · 日期:2026-09-17
依据:需求说明书 · 优化方案
相关:业务流程 · 实施计划

以下导图描述第一版规划范围,不表示功能已经实现。中文和英文为建议首发语种,服务端技术栈和容量参数待验证。

1 项目思维导图

mindmap
  root((公司图片直播项目))
    工作人员 App
      Flutter 双平台
        Android
        iOS
      登录与权限
        账号密码登录
        接口同步用户 不开放注册
      相册与协作
        创建配置 时间地点宣传图
        邀请同事 多人上传
        自己照片管理
      拍摄与上传
        连续拍摄和相册选图
        准备状态与上传队列
        后台锁屏上传与异常恢复
        本机队列与服务端历史
    管理后台
      定期拉取用户接口
        稳定 ID 幂等更新
        失败重试与手动补拉
      用户同步与账号激活停用
      全部相册与照片管理
      上传公开独立开关
      批量隐藏与负责人交接
      下载权限与水印版本
      网站展示位与用量告警
    观众网页
      扫码或分享链接免登录
      宣传图与活动信息
      浏览次数与跨标签去重
      瀑布流与分类
      全屏大图与左右滑动
      分享与按权限下载
      连续点赞与全相册气泡
        自身动画去重
        后台暂停与减少动画
    网站悬浮组件
      一段 JS 绑定展示位
      后台切换活动相册
      右侧悬浮轮播
      自动获取最新公开照片
      点击打开观众页
      不可见时暂停更新
    支撑服务
      内部身份与相册权限
      国内 OSS 直传和全球 CDN
      原图防覆盖与衍生图处理
      海外 API 与实时模块合并部署
      独立图片处理进程
      国内元数据推送与定时补漏
      海外浏览点赞与统计回传
      两地数据库 备份监控
    共用规则
      全端多语言
      无修图 无人工审核
      上传完成处理后自动公开
      隐藏删除与公开状态一致
      匿名计数不等于真实人数

2 系统组成与数据关系

Flutter 和现有 OSS 已确定;其余组件为实施方案基线。国内管理与海外观众服务分区部署;海外实时模块与观众 API 同部署,国内 worker 独立;轮播读海外,图片经全球 CDN。

flowchart TB
  APP["工作人员 App"] --> CN["国内管理 API"]
  ADM["国内管理后台"] --> CN
  USRC["用户信息接口"] -->|国内定时拉取| USYNC["用户资料同步任务"]
  USYNC --> CN
  APP -->|临时授权直传| OSS["国内 OSS 原图与浏览资源"]
  CN --> CDB[("国内主数据库")]
  CN --> WORKER["国内图片处理 worker"]
  WORKER --> OSS
  WORKER --> CDB
  CDB --> OUT["持久事件与定时补漏"]
  OUT -->|版本化元数据| OVER["海外观众 API 与实时模块"]
  OVER --> ODB[("海外展示副本与互动数据库")]
  ODB -->|统计快照回传| CN
  USER["海外观众"] -->|页面 查询 点赞 浏览| OVER
  SLOT["官网 JS 展示位"] -->|轮询| OVER
  OSS -->|回源| CDN["全球 CDN"]
  USER -->|图片请求| CDN
  SLOT -->|轮播图片| CDN

3 权限速查

角色 管理范围
公司管理员 用户同步、账号激活、相册、照片、展示位和负责人转移
相册创建者 自己创建的相册、协作者、全部相册照片及获授权展示位
相册协作者 已加入相册的上传权限,管理自己上传的照片
匿名观众 浏览、连续点赞、分享,按相册设置下载

长期保存不等于永久公开。关闭公开开关不删除原图;关闭上传也不自动关闭观众页面。