d973c714f0
Co-Authored-By: Claude Code <noreply@anthropic.com>
3.8 KiB
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 权限速查
| 角色 | 管理范围 |
|---|---|
| 公司管理员 | 用户同步、账号激活、相册、照片、展示位和负责人转移 |
| 相册创建者 | 自己创建的相册、协作者、全部相册照片及获授权展示位 |
| 相册协作者 | 已加入相册的上传权限,管理自己上传的照片 |
| 匿名观众 | 浏览、连续点赞、分享,按相册设置下载 |
长期保存不等于永久公开。关闭公开开关不删除原图;关闭上传也不自动关闭观众页面。