时间:2021-07-01 10:21:17 帮助过:25人阅读
场景列表:
- <code><span class="hljs-comment">// A 发布 了 文章 xxx
- <span class="hljs-string">‘action‘ => <span class="hljs-keyword">NEW,
- <span class="hljs-string">‘user_id‘ => A的ID,
- <span class="hljs-string">‘object_id‘ => 文章ID,
- <span class="hljs-string">‘object_user‘ => A的ID,
- <span class="hljs-string">‘object_type‘ => ARTICLE,
- <span class="hljs-string">‘ext‘ => [],
- <span class="hljs-comment">// A 发布 了 N张 图片
- <span class="hljs-string">‘action‘ => <span class="hljs-keyword">NEW,
- <span class="hljs-string">‘user_id‘ => A的ID,
- <span class="hljs-string">‘object_id‘ => 图片ID(数组,以逗号隔开),
- <span class="hljs-string">‘object_user‘ => A的ID,
- <span class="hljs-string">‘object_type‘ => PICTURE,
- <span class="hljs-string">‘ext‘ => [],
- <span class="hljs-comment">// 4. A 提了 问题 xxxx
- <span class="hljs-string">‘action‘ => <span class="hljs-keyword">NEW,
- <span class="hljs-string">‘user_id‘ => A的ID,
- <span class="hljs-string">‘object_id‘ => 问题ID,
- <span class="hljs-string">‘object_user‘ => A的ID,
- <span class="hljs-string">‘object_type‘ => QUESTION,
- <span class="hljs-string">‘ext‘ => [],
- <span class="hljs-comment">// 5. A 在 文章 中回复了 B 的 评论
- <span class="hljs-string">‘action‘ => REPLY,
- <span class="hljs-string">‘user_id‘ => A的ID,
- <span class="hljs-string">‘object_id‘ => 评论ID,
- <span class="hljs-string">‘object_user‘ => B的ID,
- <span class="hljs-string">‘object_type‘ => COMMENT,
- <span class="hljs-string">‘ext‘ => [
- <span class="hljs-string">‘text‘ => <span class="hljs-variable">$text,
- <span class="hljs-string">‘comment_target_id‘ => <span class="hljs-string">‘文章ID‘, <span class="hljs-comment">//评论所属对象
- <span class="hljs-string">‘comment_target_type‘ => <span class="hljs-string">‘ARTICLE‘,<span class="hljs-comment">//评论所属对象类型
- <span class="hljs-string">‘reply_id‘ => 回复ID,
- ],
- <span class="hljs-comment">// 6. A 评论 了 B的 文章 xxxx
- <span class="hljs-string">‘action‘ => COMMENT,
- <span class="hljs-string">‘user_id‘ => A的ID,
- <span class="hljs-string">‘object_id‘ => 文章ID,
- <span class="hljs-string">‘object_user‘ => B的ID,
- <span class="hljs-string">‘object_type‘ => <span class="hljs-string">‘ARTICLE‘,
- <span class="hljs-string">‘ext‘ => [
- <span class="hljs-string">‘comment_id‘ => <span class="hljs-string">‘评论ID‘,
- ],
- <span class="hljs-comment">// 7. A 回答 了 B 的 提问 xxx
- <span class="hljs-string">‘action‘ => RESPOND,
- <span class="hljs-string">‘user_id‘ => A的ID,
- <span class="hljs-string">‘object_id‘ => 问题ID,
- <span class="hljs-string">‘object_user‘ => B的ID,
- <span class="hljs-string">‘object_type‘ => QUESTION,
- <span class="hljs-string">‘ext‘ => [
- <span class="hljs-string">‘answer_id‘ => <span class="hljs-string">‘答案ID‘,
- ],
- </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
最终我参考开源中国做了调整,以完成我们的需求:
动态的结构:
- <code class="lang-php"> <span class="hljs-rules">{
- <span class="hljs-rule"><span class="hljs-attribute">user_id:<span class="hljs-value"><span class="hljs-number">13,
- action: 行为,
- object_id: 对象ID,
- object_type: 对象类型,
- object_user_id: 对象用户ID,
- parent_object_id: 对象父级ID,
- parent_object_type: 对象父级类型,
- parent_object_user_id: 对象父级用户ID,
- reply_id: 回复ID, // action为回复时有用
- parent_reply_id: 回复的父级回复ID, // action为回复时有用,回复了别人对评论的回复
- text: <span class="hljs-string">‘转发或者分享时附加文字‘,
- view_count: <span class="hljs-number">0,
- created_at: 创建时间,
- deleted_at: 删除时间,
- }
- </span></span></span></span></span></span></span></code>
说明:
1. object_*
只存储主要模块内容信息,不含评论;
2. parent_object_*
存储有嵌套关系的对象,比如当object_*
为答案时,parent_object_*
为问题;
3. reply_id
用于直接回复评论时用到;
4. parent_reply_id
父回复ID;
5. 两个回复ID,使用情况是:当回复了别人的回复时,根据comment_id
拉取评论与全部回复,在模板显示时只显示对话的两个回复。
场景列表:
一级结构:
- <code class="lang-php"><br><span class="hljs-string">‘action‘ => <span class="hljs-keyword">NEW,
- <span class="hljs-string">‘user_id‘ => 安正超ID,
- <span class="hljs-string">‘object_id‘ => 文章ID,
- <span class="hljs-string">‘object_user_id‘ => 安正超ID,
- <span class="hljs-string">‘object_type‘ => ARTICLE,
- </span></span></span></span></span></span></code>
- <code class="lang-php"><br><span class="hljs-string">‘action‘ => <span class="hljs-keyword">NEW,
- <span class="hljs-string">‘user_id‘ => 安正超ID,
- <span class="hljs-string">‘object_id‘ => 图片ID(数组,以逗号隔开),
- <span class="hljs-string">‘object_user_id‘ => 安正超ID,
- <span class="hljs-string">‘object_type‘ => PICTURE,
- </span></span></span></span></span></span></code>
- <code class="lang-php"><br><span class="hljs-string">‘action‘ => <span class="hljs-keyword">NEW,
- <span class="hljs-string">‘user_id‘ => 安正超ID,
- <span class="hljs-string">‘object_id‘ => 问题ID,
- <span class="hljs-string">‘object_user_id‘ => 安正超ID,
- <span class="hljs-string">‘object_type‘ => QUESTION
- </span></span></span></span></span></span></code>
二级结构:
- <code class="lang-php"><br>展示:
- 文章: xxxxx
- 评论:xxxxx (李林评论的)
- </code>
- <code class="lang-php"><br><span class="hljs-string">‘action‘ => COMMENT,
- <span class="hljs-string">‘user_id‘ => 安正超ID,
- <span class="hljs-string">‘object_id‘ => 评论ID,
- <span class="hljs-string">‘object_type‘ => COMMENT,
- <span class="hljs-string">‘object_user_id‘ => 安正超ID
- <span class="hljs-string">‘parent_object_id‘ => 文章ID,
- <span class="hljs-string">‘parent_object_user_id‘ => 作者ID
- <span class="hljs-string">‘parent_object_type‘ => ARTICLE,
- </span></span></span></span></span></span></span></span></code>
三级结构:
- <code class="lang-php"><br>展示:
- 文章: xxxxx
- 评论:xxxxx (李林评论的)
- 回复<span class="hljs-symbol">:xxxx (安正超)
- </span></code>
- <code class="lang-php"><span class="hljs-string">‘action‘ => REPLY,
- <span class="hljs-string">‘user_id‘ => 安正超ID,
- <span class="hljs-string">‘object_id‘ => 评论ID,
- <span class="hljs-string">‘object_type‘ => COMMENT,
- <span class="hljs-string">‘object_user_id‘ => 李林ID
- <span class="hljs-string">‘parent_object_id‘ => 文章ID,
- <span class="hljs-string">‘parent_object_user_id‘ => 作者ID
- <span class="hljs-string">‘parent_object_type‘ => ARTICLE,
- <span class="hljs-string">‘reply_id‘ => 安正超的回复ID
- </span></span></span></span></span></span></span></span></span></code>
四级结构:
说明:问题信息从答案接口取回
- <code class="lang-php"><br>展示:
- 问题: xxxxx
- 答案<span class="hljs-number">1...
- 答案<span class="hljs-number">2...
- 答案<span class="hljs-number">3...(李林回答的)
- 评论:xxxxx (李文凯评论的)
- 回复<span class="hljs-symbol">:xxxx (安正超)
- </span></span></span></span></code>
- <code class="lang-php"><br><span class="hljs-string">‘action‘ => RESPOND,
- <span class="hljs-string">‘user_id‘ => 安正超ID,
- <span class="hljs-string">‘object_id‘ => 评论ID,
- <span class="hljs-string">‘object_type‘ => COMMENT,
- <span class="hljs-string">‘object_user_id‘ => 李文凯的ID
- <span class="hljs-string">‘parent_object_id‘ => 答案ID,
- <span class="hljs-string">‘parent_object_type‘ => ANSWER,
- <span class="hljs-string">‘parent_object_user_id‘ => 李林ID
- <span class="hljs-string">‘reply_id‘ => 安正超的回复ID
- </span></span></span></span></span></span></span></span></span></code>
说明:问题信息从答案接口取回
- <code class="lang-php"><br>展示:
- 问题: xxxxx
- 答案<span class="hljs-number">1...
- 答案<span class="hljs-number">2...
- 答案<span class="hljs-number">3...(李林回答的)
- 评论:xxxxx (<span class="hljs-constant">A评论的)
- 李文凯 回复 <span class="hljs-constant">A<span class="hljs-symbol">:xxxx
- 安正超 回复 李文凯<span class="hljs-symbol">:xxxx
- </span></span></span></span></span></span></span></code>
- <code class="lang-php"><br><span class="hljs-string">‘action‘ => RESPOND,
- <span class="hljs-string">‘user_id‘ => 安正超ID,
- <span class="hljs-string">‘object_id‘ => 评论ID,
- <span class="hljs-string">‘object_type‘ => COMMENT,
- <span class="hljs-string">‘object_user_id‘ => A的ID
- <span class="hljs-string">‘parent_object_id‘ => 答案ID,
- <span class="hljs-string">‘parent_object_type‘ => QUESTION,
- <span class="hljs-string">‘parent_object_user_id‘ => 李林ID,
- <span class="hljs-comment">// 以下两个回复只在模板中用到用以决定显示哪两个回复,因为根据comment_id带着回复会全部拉回来
- <span class="hljs-string">‘parent_reply_id‘ => 李文凯的回复ID,
- <span class="hljs-string">‘reply_id‘ => 安正超的回复ID,
- </span></span></span></span></span></span></span></span></span></span></span></code>
评论在数据库中存储!!
标签: