影像类产品照片体积大,原图直存会导致存储与加载都吃紧
项目概览
项目背景
这是一个成长记录类小程序,2 个仓库。接口端用 Go 写,带 Docker 部署配置;应用端用 TypeScript 加 Vue。最后提交在 2025 年 9 月。要做的事情不复杂:按时间轴记录影像,照片与印迹都能进同一条记录,家庭成员共享同一个记录空间。
客户当时的状态
看起来很简单的功能,落到实现上有两个实际约束。一是图片:家庭记录里照片是主力内容,原图体积大,直接存原图,存储和加载都吃不消;压得太狠,画质又没法看。二是时间轴:记录是按时间累积的,越到后面数据越多,一次性把几年的记录渲染出来,页面会卡。这两件事不定策略,功能做得再全也用不住。还有一点是时限:记录类产品的数据只增不减,任何一次「先跑起来再说」的技术选择,两三年后都要连本带利还回来。
我们的做法与取舍
第一个取舍是图片做压缩与多规格存储,而不是只存原图。展示用压缩后的规格,需要看细节时再取原图。代价是存多份、多一步处理,收益是加载速度可控。
第二个取舍是时间轴按需加载,不做一次性全量渲染。时间轴这类界面必须假设数据会一直长下去,按段加载是唯一能长期用的做法。
第三个取舍是把「共享同一个记录空间」做成核心模型,而不是给每个人各建一份再想办法合并。多成员共享是这类产品的本质,模型一开始就要按这个来。
系统怎么承载这条链路
接口端负责用户与家庭空间、记录与影像的存储,以及图片处理;应用端负责时间轴展示与录入。两端之间是常规的前后端分离结构,接口端带 Docker 配置,部署不依赖人工逐台配环境。图片处理与记录存储都在接口端统一完成,应用端不承担计算,这样不同终端的展示效果也能保持一致。
交付状态与边界
代码处于维护状态,最近一次提交在 2025 年 9 月。边界说明:存储与流量成本随记录量增长,影像类产品这是必须提前算的账,我们只能通过压缩策略把它控制在合理范围;我们做的是记录与管理,不做影像的编辑与美化;家庭空间的数据可见范围取决于贵方的隐私约定,系统提供能力,规则由业务方制定。
项目信息
某成长记录影像项目
未披露
Go(接口端,带 Docker)/ TypeScript + Vue(小程序与应用端)
成长记录影像小程序
CHALLENGES
客户当时面对的现实
时间轴数据会持续累积,全量渲染在数据变多后必然变卡
家庭多成员共享同一记录空间,数据模型从一开始就要按共享设计
记录按时间累积,长期使用下的存储成本需要提前考虑
CAPABILITIES
我们交付的能力
图片与时间轴,是这类产品两个真正的技术约束
时间轴记录
照片与印迹进入同一条时间轴,记录按时间累积。
多成员共享
家庭成员共享同一个记录空间,共享是模型层面的设计,不是事后合并。
图片压缩与多规格
图片做压缩与多规格存储,展示用压缩规格,需要看细节时再取原图。
按需加载
时间轴按段加载,不做一次性全量渲染,适应数据持续增长的场景。
SCOPE
交付范围
以下范围按本项目实际交付内容与边界整理,不属于这次范围的部分一并列出。
已交付
- Go 接口端(用户与家庭空间、记录与影像存储、图片处理)
- TypeScript + Vue 应用端(时间轴展示与录入)
- 图片压缩与多规格存储策略
- 时间轴按需加载
不在本次范围
- 影像编辑与美化:我们做的是记录与管理,不做图像后期
- 家庭空间的数据可见范围规则:系统提供能力,规则由业务方与用户约定
- 存储与流量成本:属运营成本,需由业务方按用量规划
ARCHITECTURE
分层技术架构
公开口径归纳为三层:应用层是时间轴展示与录入;接口层是 Go 服务,承载用户、家庭空间与记录;数据层负责影像存储与图片处理。
应用层
按时间组织记录,按需加载避免卡顿
接口层
承载业务逻辑与共享空间模型
数据层
在存储与加载之间取得平衡
DELIVERY
交付过程
分阶段推进,每个阶段都有可验收的产出,客户在早期就能看到实际效果。
数据模型与共享空间
确定家庭空间与记录的数据模型,按共享场景设计。
接口端与图片策略
Go 接口端落地,图片压缩与多规格存储策略实现。
时间轴与录入
时间轴展示与记录录入落地,按需加载实现。
部署与交付
接口端容器化部署配置落地,整体交付。
FACTS
可核验的交付事实
以下内容来自本项目实际交付物;未经验证的指标不予展示。
Go 接口端 / TypeScript + Vue 应用端
接口端与应用端
接口端带 Docker 配置
TRANSFER
这套做法适不适合你
案例的用处不是证明"我们做过",而是让你判断"在我们这种条件下能不能做成"。下面三句是我们对这一单的判断,写下来供你对照自己的情况。
适合什么情况
适合以图片为主、记录按时间累积、且存在多人共享场景的记录类产品。
什么情况下别照搬
若记录量很小、且只有单人使用,图片多规格与按需加载可以简化;若需要图像编辑能力,属于另一类工具。
如果要试,第一步做什么
先把图片存储规格与压缩策略定下来。
RELATED SERVICES
相关服务
从实际业务问题出发,查看对应服务的适用场景、交付物与不含项;具体范围仍需单独确认。
FAQ
常见问题
以下是同类项目沟通中出现频率最高的问题,答案就是我们实际的做法。
为什么图片一定要压缩?
时间轴为什么不做一次性加载?
多成员共享会不会有权限问题?
存储成本高吗?
做这类记录产品第一步做什么?
本页最后更新:2026年9月24日