最近这6年,大约做了2套类似朋友圈或微博的系统,提炼一些干货,如下:
A. 首先要有一套存储系统:
我们使用 主贴+子贴模式。
一个主贴下面挂载着若干个有序的不同类型的子贴,比如说文字子贴,图片子贴,歌曲子贴,商品子贴,短视频子贴 等。
主贴放一些数据的基本信息,一般在列表展示时使用,比较重要的有:标题,摘要,主图,语言,扩展JSON字段(根据不同子贴类型定义),主帖类型。
子贴的类型可以无限扩展,所以它的设计一般只有4个字段:位置,子贴类型,主体内容(根据不同子贴类型定义),扩展JSON字端(根据不同子贴类型定义)。
一个内容丰富的帖子的子贴可能是如下样式排列的:文字子贴,图片子贴,文字子贴,商品子贴,文字子贴,短视频子贴。
在做的过程中,随着业务接入的越来越多,我们的主贴类型也越来越多,但前端的业务展示基本一致,为了以后新增帖子类型不用重新让客户端发版本也能展示出来,我们增加了帖子模版的概念,让客户端根据模版值来渲染页面。为什么要有不同的页面展示?因为需求有时对不同主贴类型要求的展示不一样。
B. 接着我们要有一套用户系统:
存储用户的基本信息 和 他们的关系。
关于关注关系,不同的业务要求实现方案截然不同。最主要的就是要不要标示让他们互相申请成为朋友,还是只是关注关系。</