Php短视频源码接口之视频评论模块实现
评论是连接作品观看者和在短视频源码中,不管是视频功能亦或是动态功能都少不了对应的用户评论模块,PHP接口中针对评论这块的实现相对比较简单,使用phalapi框架结合客户端即可实现,下面就接口实现方法做些简单介绍:
一、短视频源码中的数据库表结构
想要实现评论模块,要先做好评论的数据存储,首先我们创建一个单独的评论存储数据表,用来存储评论的内容、评论的上级信息、评论时间等信息。
下面是动态评论表的构成:
id | bigint | 20 | 表主键 |
uid | bigint | 20 | 用户ID |
touid | bigint | 20 | 对方ID |
did | bigint | 20 | 动态ID |
cid | bigint | 20 | 评论ID,0评论动态,非0评论评论 |
pid | bigint | 20 | 回复的评论ID |
content | longtext | 0 | 评论内容 |
addtime | bigint | 20 | 时间 |
二、短视频源码中评论接口如何实现
1、发布评论
发布评论方法需要的参数如下:
Uid:发布评论的用户ID
Touid:对方ID,评论动态为动态所有者ID,回复评论为评论发布者uid
Did:动态ID
Cid:评论ID,评论动态为0,回复评论为评论的cid,若此条评论为首条则传值为0
Pid:回复的评论主键ID(即一级评论id,若此条评论为首条则传值为0)
执行添加评论操作
参数集合:
$data=[ 'uid'=>$uid, 'content'=>$content, 'touid'=>$touid, 'did'=>$did, 'cid'=>$cid, 'pid'=>$pid, ]; if($data['cid']==0 && $data['pid']!=0){ $data['cid']=$data['pid']; } $data['addtime']=time(); //执行添加语句 $rs=\PhalApi\DI()->notorm->dynamic_comment ->insert($data);
2、获取评论列表
1)、获取列表参数:
Uid:当前用户id Did:动态ID Lastid:最后一条评论ID,没有为0
2)、查询条件
if($lastid==0){ $where="did={$did} and pid=0"; }else{ $where="did={$did} and pid=0 and id<{$lastid}"; }
3)、执行查询语句
$nums=20;//分页查询,每页查询条数 $list=\PhalApi\DI()->notorm->dynamic_comment ->select('*') ->where($where) ->order('id desc') ->limit(0,$nums) ->fetchAll();
4)、查询返回结果
{ "id": 505, "uid": 10001, "touid": "0", "did": 676, "cid": 0, "pid": 0, "content": "一级评论内容", "userinfo": {//发表评论的用户信息 "id": 10001, "user_nickname": "用户昵称", "avatar": "http://yyshejiao.yunbaozb.com/female3.png" }, "datetime": "3天前", "reply": [//回复评论的列表 { "id": 507, "uid": 10001, "touid": "0", "did": 676, "cid": 505, "pid": 505, "content": "回复一级评论的内容", "userinfo": { "id": 10001, "user_nickname": "回复评论的用户昵称", "avatar": "http://yyshejiao.yunbaozb.com/female3.png" }, "datetime": "1分钟前", "reply": [], "replycount": 0, "islike": "0", "touserinfo": {} } ], "replycount": 1, "islike": "0", "touserinfo": {} }
将获取的数据列表展示到短视频APP端即可,显示效果如下:
由此,便实现了在PHP短视频源码中实现评论区功能的全部步骤,如您需要购买短视频源码,欢迎联系【云豹科技】更多精彩内容会在日后逐渐放出,敬请期待。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com