all(); $page_size=$input['page_size']; $page_index=$input['page_index']; $num = ($page_index - 1) * $page_size; $search_name=$input['search_name']; $where=[]; $wheres=[]; if (isset($input['group_id'])){ $group_id=$input['group_id']; $wheres=function ($q)use($group_id){ $q->where('group_id',$group_id); }; } $count=Article::where('title', 'like', '%' . $search_name . '%') ->where(function ($query) { $query->where('type', '=', '1') ->orWhere('type', '=', '0'); }) ->where($where) ->where($wheres) ->count(); if($count==0){ $this->error('400001','没有数据'); } $list=Article::where('title', 'like', '%' . $search_name . '%') ->where(function ($query) { $query->where('type', '=', '1') ->orWhere('type', '=', '0'); }) ->where($where) ->where($wheres) ->orderBy('id','desc') ->skip($num)->take($page_size) ->get(); if(empty($list)){ return $this->error('400002','没有获取到数据'); } return $this->success_list($list,'success',$count); } //获取直播信息列表 public function getLiveViewList(Request $request){ $input=$request->all(); $page_size=$input['page_size']; $page_index=$input['page_index']; $num = ($page_index - 1) * $page_size; $search_name=$input['search_name']; $where=[]; $where['type']=2; $count=Article::where('title', 'like', '%' . $search_name . '%') ->where($where) ->count(); if($count==0){ $this->error('400001','没有数据'); } $list=Article::where('title', 'like', '%' . $search_name . '%') ->where($where) ->orderBy('id','desc') ->skip($num)->take($page_size) ->get(); if(empty($list)){ return $this->error('400002','没有获取到数据'); } return $this->success_list($list,'success',$count); } //上传图片 public function uploadArticleImage(Request $request){ $path = $request->file('file')->store('articel'); $url = Storage::url($path); if($url){ return $this->success($url); } return $this->error(); } //添加直播信息 public function uploadLiveView(Request $request){ $input=$request->all(); $data['title']=$input['title']; $data['label']=2;// 1表示clwz,2表示其他 $data['aid']=Auth::user()->id; $data['status']=1; // 0为草稿 1为正常 2为删除 $data['type']=2;// 1表示视频, 0表示文章 ,2直播 $data['imgurl']=$input['thumb']; $data['avatar']=$input['avatar']; $data['contents']=$input['link']; $data['summary']=$input['desc']; $data['startime']=$input['start_time']; $row=Article::create($data); if($row){ Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')添加直播成功,id:'.$row->id); return $this->success([]); } return $this->error(); } //添加社区信息 public function uploadArticle(Request $request){ $input=$request->all(); $data['title']=$input['title']; $data['label']=$input['label'];// 1表示clwz,2表示其他 $data['aid']=Auth::user()->id; $data['author']=$input['author']; $data['avatar']=$input['avatar']; if (isset($input['is_top'])){ $data['is_top']=$input['is_top']; $data['recommended']=$input['recommended']; if ($input['recommended']==1){ Article::where('status',1)->update(['recommended'=>0]); } $data['group_id']=$input['group_id']; $data['issue']=$input['issue']; $re=ArticleGroup::find($input['group_id']); $data['group_name']=$re->group_name; } $data['status']=1; $data['type']=$input['type'];// 1表示视频,0表示文章 $data['contents']=$input['contents']; $data['summary']=$this->make_excerpt($input['contents']); $row=Article::create($data); if($row){ Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')添加文章成功,id:'.$row->id); return $this->success([]); } return $this->error(); } //截取简介 function make_excerpt($value, $length = 200) { $excerpt = trim(preg_replace('/\r\n|\r|\n+/', ' ', strip_tags($value))); return str_limit($excerpt, $length); } //修改社区信息 public function updateArticle(Request $request){ $input=$request->all(); $data['title']=$input['title']; $data['label']=$input['label'];// 1表示clwz,2表示其他 $data['aid']=Auth::user()->id; $data['author']=$input['author']; $data['avatar']=$input['avatar']; $data['type']=$input['type'];// 1表示视频,0表示文章 if (isset($input['is_top'])){ $data['is_top']=$input['is_top']; $data['recommended']=$input['recommended']; if ($input['recommended']==1){ Article::where('status',1)->update(['recommended'=>0]); } $data['group_id']=$input['group_id']; $data['issue']=$input['issue']; $re=ArticleGroup::find($input['group_id']); $data['group_name']=$re->group_name; } // $data['imgurl']=$input['imgurl']; $data['contents']=$input['contents']; $data['summary']=$this->make_excerpt($input['contents']); $row=Article::where('id',$input['id'])->update($data); if($row){ Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改文章成功,id:'.$input['id']); return $this->success([]); } return $this->error(); } //删除社区信息 public function destoryArticle(Request $request){ $input=$request->all(); $article=Article::find($input['id']); $row=$article->delete(); if($row){ Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')删除文章成功,id:'.$input['id']); return $this->success([]); } return $this->error(); } //修改直播信息 public function updateArticleLive(Request $request){ $input=$request->all(); $data['title']=$input['title']; // $data['label']=2;// 1表示clwz,2表示其他 $data['aid']=Auth::user()->id; // $data['status']=1; // 0为草稿 1为正常 2为删除 // $data['type']=2;// 1表示视频, 0表示文章 ,2直播 $data['imgurl']=$input['thumb']; $data['contents']=$input['link']; $data['summary']=$input['desc']; $data['startime']=$input['start_time']; $row=Article::where('id',$input['id'])->update($data); if($row){ Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改直播成功,id:'.$input['id']); return $this->success([]); } return $this->error(); } //删除直播信息 public function destoryArticleLive(Request $request){ $input=$request->all(); $article=Article::find($input['id']); $row=$article->delete(); if($row){ Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')删除直播成功,id:'.$input['id']); return $this->success([]); } return $this->error(); } /* * 上传音频 * ***/ public function upload_audio(Request $request,AudioUploadHandler $audioUploadHandler){ $re=$audioUploadHandler->save($request->audio,'audio','audio'); if ($re){ return $this->success(['path'=>$re['path']]); } return $this->error(50024,'长传失败'); } /* * 上传视频 * ***/ public function upload_video(Request $request,VideoUploadHandler $videoUploadHandler){ $re=$videoUploadHandler->save($request->video,'video','video'); if ($re){ return $this->success(['path'=>$re['path']]); } return $this->error(50024,'长传失败'); } /* * 获取分组 * ***/ public function GetArticleGroup(Request $request){ $input=$request->all(); // $page_index=$input['page_index']; // $page_size=$input['page_size']; $status=$input['status']; $search_content=$input['search_content']; $g=ArticleGroup::where('status',$status); if ($search_content){ $g->where('group_name','like','%'.$search_content.'%'); } $data=$g->select('group_name','id','sort')->orderBy('sort')->get(); return $this->success_list($data); } public function AddArticleGroup(Request $request){ $input=$request->all(); $re=ArticleGroup::where('group_name',$input['group_name'])->first(); if ($re){ return $this->error(50021,'已有当前分组'); } $g=new ArticleGroup(); $g->group_name=$input['group_name']; $g->status=$input['status']; $g->save(); return $this->success([]); } /* * 设置置顶 * **/ public function SetArticleTop(Request $request){ $data=Article::find($request->id); if ($data->is_top==1){ $data->is_top=0; }else{ $data->is_top=1; } $data->save(); return $this->success([]); } /* * 设置推荐 * ***/ public function SetArticleRecom(Request $request){ $data=Article::find($request->type); Article::update(['recommended'=>0]); $data->recommended=1; $data->save(); return $this->success([]); } }