input('page_index'); $page_size=$request->input('page_size'); $search_name=$request->input('search_name'); $num=$page_size*($page_index-1); $status=$request->input('status'); $data=CompanyAudio::query(); if($status != 'all'){ $data->where('status',$status); } if($search_name){ $data->where('title','%'.$search_name.'%'); } $count=$data->count(); $list=$data->orderByDesc('rank')->orderByDesc('created_at') ->skip($num)->take($page_size)->get(); return $this->success_list($list,'成功',$count); } //添加 public function add(Request $request){ $title=$request->input('title'); $url=$request->input('url'); $rank=$request->input('rank'); $status=$request->input('status'); $audio_url=$request->input('audio_url'); $duration=$this->getTime($audio_url); $res=CompanyAudio::create([ 'title'=>$title, 'url'=>$url, 'rank'=>$rank, 'audio_url'=>$audio_url, 'status'=>$status, 'op_name'=>Auth::user()->name, 'duration'=>$duration ]); if($res){ return $this->success([]); } return $this->error(); } //修改 public function edit(Request $request){ $id=$request->input('id'); $title=$request->input('title'); $url=$request->input('url'); $rank=$request->input('rank'); $status=$request->input('status'); $audio_url=$request->input('audio_url'); $duration=$this->getTime($audio_url); $res=CompanyAudio::where('id',$id)->update([ 'title'=>$title, 'url'=>$url, 'rank'=>$rank, 'audio_url'=>$audio_url, 'status'=>$status, 'op_name'=>Auth::user()->name, 'duration'=>$duration ]); if($res){ return $this->success([]); } return $this->error(); } //删除 public function delete(Request $request){ $id=$request->input('id'); $res=CompanyAudio::where('id',$id)->delete(); if($res){ return $this->success([]); } return $this->error(); } //上传文件 public function uploadFile(Request $request){ $type=$request->input('type'); $file= $request->file('file'); if($type=='img'){ $path_url='company_audio/image'; $t="image"; }else{ $path_url='company_audio/audio'; $t="audio"; } $upload= new UploadFilesHandler(); $result= $upload->save($file, $path_url, null, $t); if($result){ return $this->success($result['path']); } return $this->error(); // $type=$request->input('type'); // if($type=='img'){ // $path_url='company/image'; // }else{ // $path_url='company/audio'; // } // $path = $request->file('file')->store($path_url); // $url = Storage::url($path); // if($url){ // return $this->success($url); // } // return $this->error(); } //详情 public function detail(Request $request){ $id=$request->input('id'); $info=CompanyAudio::where('id',$id)->first(); return $this->success($info); } //获取音频时长 public function getTime($url){ $getID3 = new getID3; $pathinfo=explode("storage/",$url); $fileUrl=storage_path('app/public/'.$pathinfo[1]); $ThisFileInfo = $getID3->analyze($fileUrl); // $fileduration = $ThisFileInfo['playtime_seconds']; //这个获得的便是音频文件的时长(秒) // $playtime_string = $ThisFileInfo['playtime_string']; //这个获得的便是音频文件的时长(分) if(array_key_exists('playtime_string',$ThisFileInfo)){ return $ThisFileInfo['playtime_string']; }else{ return 0; } } //客户端音频列表 public function audio_list(Request $request){ $page_index=$request->input('page_index'); $page_size=$request->input('page_size'); $num=$page_size*($page_index-1); $data=CompanyAudio::query()->where('status',1); $count=$data->count(); $list=$data->orderByDesc('rank')->orderByDesc('created_at') ->skip($num)->take($page_size)->get(); return $this->success_list($list,'成功',$count); } }