getAllData(['uid' => UID],'id,name','sort desc')->toArray(); array_unshift($category, ['id' => 0, 'name' => '推荐']); return sendMessage(['category'=>$category]); } /** * 新闻列表 */ public function getNewsList() { $param = input('post.'); $news_model = new \app\news\model\News(); $where = [['uid','=',UID],['is_publish','=',1]]; $hasWhere = []; if($param['category_id']){ $hasWhere[] = ['category_id','=',$param['category_id']]; }else{ $where[] = ['is_recommend','=',1]; } if($param['keyword']){ $where[] = ['name', 'like', '%' . $param['keyword'] . '%']; } $where = $news_model->whereChange($where); $list = $news_model::hasWhere('categoryRelation',$hasWhere,'id,name,author,img_path,is_top,review_num,create_time') ->where($where)->order('is_top desc,id desc')->paginate([ 'list_rows' => 20, 'page' => $param['page'], ], false) ->each(function ($item) { if($item['img_path']) { $image_path = []; foreach($item['img_path'] as $value) { $image_path[] = ['type'=>2,'image_url'=>$value]; } $item['img_path'] = $image_path; } $item['publish_time'] = timeRefine(strtotime($item['create_time']),2); return $item; }); return sendMessage(['list'=>$list]); } /** * 新闻详情 */ public function getNewsDetail() { $param = input('post.'); $news_model = new \app\news\model\News(); $interactive_model = new NewsInteractive(); $where = ['id'=>$param['news_id']]; $detail = $news_model->getOneData($where,'id,name,author,(browse_num + browse_actual) as browse,browse_actual,(praise_num + praise_actual) as praise,content,review_num,create_time'); $detail['publish_time'] = timeRefine(strtotime($detail['create_time']),2); $detail['is_praise'] = $interactive_model->getNumber(['user_id'=>$param['user_id'],'info_id'=>$param['news_id'],'type'=>1]); $detail['is_collect'] = $interactive_model->getNumber(['user_id'=>$param['user_id'],'info_id'=>$param['news_id'],'type'=>2]); $detail['is_share'] = $interactive_model->getNumber(['user_id'=>$param['user_id'],'info_id'=>$param['news_id'],'type'=>3]); $detail['share_url'] = ''; //增加新闻浏览数 $res = $news_model->where([['id','=',$param['news_id']]])->update(['browse_actual'=>$detail['browse_actual']+1]); return sendMessage(['detail'=>$detail]); } /** * 新闻点赞 */ public function newsPraise() { $param = input('post.'); $news_model = new \app\news\model\News(); $interactive_model = new NewsInteractive(); $news = $news_model->getOneData(['id'=>$param['news_id']]); if(!$news){ return sendErrorMessage(1,'新闻不存在'); } $where = ['uid'=>UID,'user_id'=>$param['user_id'],'type'=>1,'info_id'=>$param['news_id']]; $is_praise = $interactive_model->getNumber($where); if($is_praise) { $res = $interactive_model->destroy($where,true); if($res === false) { return sendErrorMessage(1,'取消失败'); } $res = $news_model->update(['praise_actual'=>$news['praise_actual']-1],['id'=>$news['id']]); if(!$res) { return sendErrorMessage(1,'点赞失败'); } return sendSuccessMessage([],'取消成功'); }else{ $res = $interactive_model->dataUpdate($where); if(!$res) { return sendErrorMessage(1,'点赞失败'); } $res = $news_model->update(['praise_actual'=>$news['praise_actual']+1],['id'=>$news['id']]); if(!$res) { return sendErrorMessage(1,'点赞失败'); } return sendSuccessMessage([],'点赞成功'); } } /** * 获取新闻评论列表 */ public function getNewsEvaluateList() { $param = input('post.'); $new_evaluate = new NewsEvaluate(); } }