最近在做类似的功能,遇到几个问题:
1. 动态类型多样性;
2. 数据模块化存储,各模块间通过rest调用数据,造成拉取动态列表响应时间变长;
3. 数据层级复杂,编码逻辑通用性差。例如:转发一篇文章后,评论该转发,然后回复该评论时的对象层级为: 回复->评论->文章。
求有相关经验者分享一下经验为谢!
以下是现有的设计:
动态的结构:
1 2 3 4 5 6 7 8 9 10 11 |
|
场景列表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
|
天蓬老师2017-04-10 14:57:55
http://www.oschina.net/question/12_70587 这个比较符合我的问题意思
最终我参考开源中国做了调整,以完成我们的需求:
动态的结构:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
说明:
1. object_*
只存储主要模块内容信息,不含评论;
2. parent_object_*
存储有嵌套关系的对象,比如当object_*
为答案时,parent_object_*
为问题;
3. reply_id
用于直接回复评论时用到;
4. parent_reply_id
父回复ID;
5. 两个回复ID,使用情况是:当回复了别人的回复时,根据comment_id
拉取评论与全部回复,在模板显示时只显示对话的两个回复。
场景列表:
一级结构:
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 8 |
|
二级结构:
1 2 3 4 5 |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
三级结构:
1 2 3 4 5 6 7 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
四级结构:
说明:问题信息从答案接口取回
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
说明:问题信息从答案接口取回
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
欢迎各位指正!