Php短视频源码接口之视频评论模块实现

发布来源:云豹科技
发布人:云豹科技
2021-05-17 10:07:09

评论是连接作品观看者和在短视频源中,不管是视频功能亦或是动态功能都少不了对应的用户评论模块,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短视频源码

由此,便实现了在PHP短视频源码中实现评论区功能的全部步骤,如您需要购买短视频源码,欢迎联系【云豹科技】更多精彩内容会在日后逐渐放出,敬请期待。

声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com

声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任