融信(仿微信)项目朋友圈相关接口需求
功能概况:
阉割功能 : 1: 朋友圈 来自XX应用的分享 、 2:朋友圈发送小视频展示、3:该条朋友圈发送的地理位置展示
准备开发功能: 1 朋友圈头像 昵称、2 朋友圈 发文字、多张图片 3 朋友圈 点赞 删除点赞 、4 朋友圈 评论(评论是否可回复待讨论)
注:上述相关开发功能 和 阉割功能非完全合理有待讨论。
朋友圈更新机制 :
(1)实时性:
笔者考虑朋友圈实时更新机制: 当和该用户相关的朋友圈信息有变动(包括新增朋友圈,某条朋友圈的评论 点赞 评论回复有变动时)、服务端向客户端 推送一条 约定好的自定义消息 CircleOfFriendsMessage、客户端监听收到这条消息后主动调用下文 getFriendships 接口去更新 UI 和 数据、以此来保证朋友圈数据的实时性
(2)关于数据:
笔者观察微信的朋友圈 发现数据是下拉刷新 上拉加载、考虑朋友圈数据很多每次去加载所有该用户的朋友圈数据相当不合理,耗时,浪费流量、此处应该是在后台做分页查询
接口需求:
一、 一条朋友圈 Item 包含:
- 朋友圈发布时间 :(当前时间 和 发布时间的差值)
- 朋友圈发布的时间戳
- 朋友圈发布人 :userid 头像 url 地址 和 昵称(昵称是否需要考虑好友备注)
- 该条朋友圈 id : 好友对某条朋友圈点赞 或者 评论
- 朋友圈文字内容: content (字数限制)
- 朋友圈照片 :(集合)
- 朋友圈点赞 :(点赞次数以及点赞成员昵称(集合))
- 朋友圈评论:(评论人昵称以及评论内容 评论回复人 和 评论回复内容(集合))(评论字数限制)
注:
1 服务端需要考虑 好友关系间的点赞可见 和 评论 及 评论回复 可见
2 发布人相关用户信息 和 发布时间 为必有项 , 发布照片 和 文字两者至少有一项、其余皆非必须项
二、API 接口
发朋友圈 publishFriendship
可以分为两接口 或者 一个 接口(哪个合理需讨论)
1 一个接口:publishFriendship
2 两个接口: publishFriendshipByText , publishFriendshipByPhoto
注:
1 本地时间可能不准确 发布时间以服务端时间为佳
2 好友关系中 某人可见该朋友圈(需求待讨论)获取朋友圈 getFriendships
上文接口需求 一 的 一条朋友圈内容的集合对某条朋友圈点赞 或者 取消点赞 operationPraise
对某条朋友圈 评论 commentsByFriendshipId
删除对朋友圈的某条评论 deleteCommentsByFriendshipId
根据用户 userid 获取该用户发布的朋友圈 getFriendshipById
注:
1 操作评论回复接口上文未写, 删除某条朋友圈接口未写
2 朋友圈权限 (1)不让他看我的朋友圈 (2)不看她的朋友圈 接口未写
上文只是初步的以一个 客户端开发人员的视角去写的接口需求、难免有很多不成熟,以及不合理的地方。敬请大家多多包涵帮忙拾遗补漏 Thanks