[ 'title' => sysconfig('site', 'logo_title'), 'image' => sysconfig('site', 'logo_image'), 'href' => __url('index/index'), ], 'homeInfo' => $menuService->getHomeInfo(), 'menuInfo' => $menuService->getMenuTree(), ]; Cache::tag('initAdmin')->set('initAdmin_' . session('admin.id'), $data); return json($data); } /** * 清理缓存接口. */ public function clearCache() { Cache::clear(); $this->success('清理缓存成功'); } /** * 上传文件. */ public function upload() { $this->checkPostRequest(); $data = [ 'upload_type' => $this->request->post('upload_type'), 'file' => $this->request->file('file'), ]; try { $upload_service = new UploadService($data['upload_type']); $upload_service->validateException($data['file']); $result = $upload_service->save($data['file']); } catch (\Exception $e) { if(App::isDebug()){ throw $e; } $this->error($e->getMessage()); } $this->success('上传成功', $result); } /** * 上传图片至编辑器. * @return \think\response\Json */ public function uploadEditor() { $this->checkPostRequest(); $data = [ 'upload_type' => $this->request->post('upload_type'), 'file' => $this->request->file('upload'), ]; try { $upload_service = new UploadService($data['upload_type']); $upload_service->validateException($data['file']); $result = $upload_service->save($data['file']); } catch (\Exception $e) { if(App::isDebug()){ throw $e; } $this->error($e->getMessage()); } return json([ 'error' => [ 'message' => '上传成功', 'number' => 201, ], 'fileName' => '', 'uploaded' => 1, 'url' => $result['url'], ]); } /** * 获取上传文件列表. * @return \think\response\Json * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function getUploadFiles() { $get = $this->request->get(); $page = isset($get['page']) && !empty($get['page']) ? $get['page'] : 1; $limit = isset($get['limit']) && !empty($get['limit']) ? $get['limit'] : 10; $title = isset($get['title']) && !empty($get['title']) ? $get['title'] : null; $this->model = new SystemUploadfile(); $count = $this->model ->where(function (Query $query) use ($title) { !empty($title) && $query->where('original_name', 'like', "%{$title}%"); }) ->count(); $list = $this->model ->where(function (Query $query) use ($title) { !empty($title) && $query->where('original_name', 'like', "%{$title}%"); }) ->page($page, $limit) ->order($this->sort) ->select(); $data = [ 'code' => 0, 'msg' => '', 'count' => $count, 'data' => $list, ]; return json($data); } }