zoukankan      html  css  js  c++  java
  • PHP后台评论 接口

    /**
    * 添加评论
    * content 评论内容
    * addtime 评论时间
    * uid 评论作品
    */
    public function padd(){
    $param=input('param.');
    $param['pid']=session('tid');
    if(empty($param['uid'])){
    return json(['code'=>2,'message'=>'uid不能为空']);
    }

    $data=db('comments')->insertGetId(['uid'=>$param['uid'],'content'=>$param['content'],'addtime'=>$param['addtime'],'pid'=>$param['pid']]);
    if($data){
    return json(['code'=>1,'message'=>'评论成功']);
    }else{
    return json(['code'=>2,'message'=>'评论失败']);
    }
    }

    /**
    * 评论展示
    * uid comments表
    * page 页数
    * num 条数
    */
    public function comment(){
    $param=input('param.');
    $param['pid']=session('tid');//用户id
    if(empty($param['page'])){
    $param['page']=1;
    }

    if(empty($param['num'])){
    $param['num']=5;
    }
    if(empty($param['uid'])){
    return json(['code'=>2,'message'=>'uid不能为空']);
    }

    $data=db('comments')->where('uid',$param['uid'])->page($param['page'],$param['num'])->select();

    $commentslike=db('commentslike');
    $people=db('people');
    foreach ($data as $k=>$value) {
    //查看评论点赞表的状态
    $state=$commentslike->where(['pid'=>$param['pid'],'uid'=>$param['uid'],'cid'=>$value['data']])->value('state');
    if(empty($state)){
    $state = '还未点赞';
    }
    $data[$k]['state']=$state;

    //获取评论人的手机号
    $people=$people->where('id',$value['pid'])->value('tel');
    $data[$k]['tel']=$people;


    //把二级评论添加到数组数据中
    if($value['rpid'] !== 0){
    // $r_pid = $commentslike->where(['id'=>$value['rpid']])->value('pid');
    $r_tel = $people->where('id',$value['rpid'])->value('tel');
    $data[$k]['r_tel'] = $r_tel;
    }else{
    $data[$k]['r_tel'] = '';
    }

    }
    return json(['code'=>1,'data'=>$data]);
    }

    /**
    * 评论点赞
    * uid 作品id
    */
    public function commentslike(){
    $param=input('param.');
    $param['pid']=session::get('tid');

    if(empty($param['uid'])){
    return json(['code'=>2,'message'=>'uid不能为空']);
    }
    //判断该作品有没有评论
    $comments=db('comments')->where('uid',$param['uid'])->select();
    if(!empty($comments)){
    //判断他有没有点赞
    $data=db('commentslike')->where(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id']])->find();
    if(empty($data)){
    $like=db('commentslike')->insertGetId(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id'],$param['state']=>'点赞']);
    if($like){
    return json(['code'=>1,'message'=>'点赞成功']);
    }else{
    return json(['code'=>1,'message'=>'点赞失败']);
    }
    }else{
    if($data['state']=='取消点赞'){
    $like=db('commentslike')->where(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id']])->update([$param['state']=>'点赞']);
    }elseif($data['state']=='点赞'){
    $like=db('commentslike')->where(['uid'=>$param['uid'],'pid'=>$param['pid'],'cid'=>$comments['id']])->update([$param['state']=>'取消点赞']);
    }
    }

    }else{
    return json(['code'=>2,'message'=>'此作品还未评论']);
    }
    }

    /**
    * 回复评论
    * uid 作品id
    * content 回复内容
    * cid 这条评论的id
    * uid 作品id pid 评论人id
    */
    public function reply(){
    $param['pid'] = session('tid');
    $param = input('param.');
    //被评论的id $param['cid']
    $data = db('comments')->where(['id'=>$param['rid']])->find();
    if($data['rid'] !== 0){
    $param['rid'] = $data['rid'];//被回复人的pid.
    }
    $param['rid'] = $data['id'];//被回复人的pid.

    $param['rpid'] = $data['pid'];

    //评论内容 $param['content']
    //作品id $param['uid']
    $param['addtime'] = date('Y-m-d H:i:s');
    $id = db('comments')->insertGetId(['uid'=>$param['uid'],'content'=>$param['content'],'addtime'=>$param['addtime'],'pid'=>$param['pid'],'rid'=>$param['rid']]);
    if($id){
    return json(['code'=>1,'messgae'=>'回复成功']);
    }else{
    return json(['code'=>2,'message'=>'回复失败']);
    }
    }


    /**
    * 查看二级评论
    * uid 作品id
    * rid 这条评论的id
    */
    public function GetRCommtens($value='')
    {
    $data = db('comments')->where(['rid'=>$param['rid']])->select();
    }

  • 相关阅读:
    https原理以及golang基本实现
    关于Goroutine与Channel
    Golang中log与fmt区别
    liteide使用中的注意点
    Golang中的error类型
    关于linux中的目录配置标准以及文件基本信息
    Godep的基本使用
    Golang基本类型整理
    ssh使用技巧
    看完让你彻底搞懂Websocket原理
  • 原文地址:https://www.cnblogs.com/mcll/p/9262774.html
Copyright © 2011-2022 走看看