<?php namespace app\api\controller; use Illuminate\Support\Env; use support\Request; use plugin\admin\app\model\Admin; use plugin\admin\app\controller\Base; use support\exception\BusinessException; use plugin\admin\app\common\Util; use plugin\admin\app\model\Project as ProjectModel; use plugin\admin\app\model\Projectdata as ProjectdataModel; use think\facade\Db; class Project extends Base { public function list(Request $request){ $select=ProjectModel::paginate(); return json(['code'=>200,'msg'=>'获取成功','count'=>$select->total(),'data'=>$select->items()]); } public function edit(Request $request){ Db::name('Projects')->where('id', $request->post('id'))->update(['indexImage'=>$request->post('indexImage')]); return json(['code'=>200,'msg'=>'更新成功']); } public function create(Request $request){ $data = $request->post(); $id= ProjectModel::insertGetId($data); $res=ProjectModel::where('id',$id)->first(); $res['CreateTime']=$res['created_at']; $res['CreateUserId']=1; $res['id']=$res['Id']; return $this->json(200,'ok',$res->toArray()); } public function publish(Request $request){ $data = $request->post(); $find=ProjectModel::find($data['id']); $find['state']=$data['state']; $find->save(); if($find){ return $this->json(200,'操作成功'); }else{ return $this->json(500,'操作失败'); } } public function getData(Request $request){ $data = $request->get(); $find=ProjectModel::find($data['projectId']); $ProjectdataModel=ProjectdataModel::where('projectId',$data['projectId'])->first(); if($ProjectdataModel){ $find['content']=$ProjectdataModel['content']; }else{ $find['content']=''; } return $this->json(200,'ok',$find->toArray()); } public function data(Request $request){ $data = $request->post(); $find=Db::name('projectdatas')->where('projectId', $data['projectId'])->find(); if($find){ Db::name('projectdatas')->where('projectId',$data['projectId'])->update(['content'=>$data['content']]); }else{ $id=Db::name('projectdatas')->insertGetId(['projectId'=>$data['projectId'],'content'=>$data['content']]); $find=Db::name('projectdatas')->where('id', $id)->find(); } return $this->json(200,'ok',$find); } public function upload(Request $request){ $file = current($request->file()); if (!$file || !$file->isValid()) { return $this->json(1, '未找到文件'); } $relative_dir='/upload/img/'.date('Ymd'); $relative_dir = ltrim($relative_dir, '/'); $file = current($request->file()); if (!$file || !$file->isValid()) { throw new BusinessException('未找到上传文件', 400); } $base_dir = base_path() . '/plugin/admin/public/'; $full_dir = $base_dir . $relative_dir; if (!is_dir($full_dir)) { mkdir($full_dir, 0777, true); } $ext = strtolower($file->getUploadExtension()); $ext_forbidden_map = ['php', 'php3', 'php5', 'css', 'js', 'html', 'htm', 'asp', 'jsp']; if (in_array($ext, $ext_forbidden_map)) { throw new BusinessException('不支持该格式的文件上传', 400); } $relative_path = $relative_dir . '/' . bin2hex(pack('Nn',time(), random_int(1, 65535))) . ".$ext"; $full_path = $base_dir . $relative_path; var_dump($full_path); $file_size = $file->getSize(); $file_name = $file->getUploadName(); $file->move($full_path); return $this->json(200, '上传成功', [ 'fileName' => "/app/admin/$relative_path", 'name' => $file_name, 'size' => $file_size, ]); } }