diff --git a/app/Controller/admin/WebsiteController.php b/app/Controller/admin/WebsiteController.php new file mode 100644 index 0000000..cc25b92 --- /dev/null +++ b/app/Controller/admin/WebsiteController.php @@ -0,0 +1,47 @@ +render('website/index'); + } + + /** + * @url /admin/website/config/insert + * @param RenderInterface $render + * @return ResponseInterface + */ + #[RequestMapping(path: 'config/insert', methods: 'get')] + public function insert(RenderInterface $render): ResponseInterface + { + return $render->render('website/insert'); + } + + /** + * @url /admin/website/config/view + * @param RenderInterface $render + * @return ResponseInterface + */ + #[RequestMapping(path: 'config/view', methods: 'get')] + public function view(RenderInterface $render): ResponseInterface + { + return $render->render('website/view'); + } +} \ No newline at end of file diff --git a/app/Controller/admin/api/WebsiteController.php b/app/Controller/admin/api/WebsiteController.php new file mode 100644 index 0000000..3f48e30 --- /dev/null +++ b/app/Controller/admin/api/WebsiteController.php @@ -0,0 +1,107 @@ +where('is_delete', 0)->get()->toArray(); + return $this->response->json([ + 'code' => 0, + 'data' => $query + ]); + } + + /** + * @url /admin/api/website/config/insert + * @return ResponseInterface + */ + #[RequestMapping(path: 'config/insert', methods: 'post')] + public function configInsert(): ResponseInterface + { + $model = new AppWebsiteConfig(); + $model->app_company = $this->request->post('app_company'); + $model->app_description = $this->request->post('app_description'); + $model->app_name = $this->request->post('app_name'); + $model->app_domain = $this->request->post('app_domain'); + $model->save(); + + return $this->response->json([]); + } + + /** + * @url /admin/api/website/config/delete + * @return ResponseInterface + */ + #[RequestMapping(path: 'config/delete', methods: 'post')] + public function configDelete(): ResponseInterface + { + $id = $this->request->post('id'); + + $query = AppWebsiteConfig::find($id); + if (!$query) { + return $this->response->json(['code' => 400, 'msg' => 'id 有误']); + } + + $query->is_delete = 1; + $query->save(); + return $this->response->json([ + 'code' => 0, + 'data' => $query + ]); + } + + /** + * @url /admin/api/website/config/view + * @return ResponseInterface + */ + #[RequestMapping(path: 'config/view', methods: 'get')] + public function configView(): ResponseInterface + { + $id = $this->request->input('id'); + + $query = AppWebsiteConfig::query()->where(['id' => $id])->first()->toArray(); + if (!$query) { + return $this->response->json(['code' => 400, 'msg' => 'id 有误']); + } + + return $this->response->json(['code' => 0, 'msg' => 'ok', 'data' => $query]); + } + + /** + * @url /admin/api/website/config/save + * @return ResponseInterface + */ + #[RequestMapping(path: 'config/save', methods: 'post')] + public function configSave(): ResponseInterface + { + $id = $this->request->post('id'); + + $query = AppWebsiteConfig::find($id); + if (!$query) { + return $this->response->json(['code' => 400, 'msg' => 'id 有误']); + } + + $query->app_company = $this->request->post('app_company'); + $query->app_description = $this->request->post('app_description'); + $query->app_name = $this->request->post('app_name'); + $query->app_domain = $this->request->post('app_domain'); + + $query->save(); + + return $this->response->json(['code' => 0, 'msg' => 'ok', 'data' => $query]); + } +} \ No newline at end of file diff --git a/app/Controller/api/expose/v1/ToolsController.php b/app/Controller/api/expose/v1/ToolsController.php index 40a345a..6e01251 100644 --- a/app/Controller/api/expose/v1/ToolsController.php +++ b/app/Controller/api/expose/v1/ToolsController.php @@ -86,10 +86,15 @@ var_dump($requestData); continue; } - list($title, $desc) = call_user_func(function () use ($value) { + list($title, $desc) = call_user_func(function () use ($value, $requestData) { $content = $value['content']; - $ex = explode(PHP_EOL . PHP_EOL, $content); + if ($requestData['platform'] == 3) { + $de = PHP_EOL; + } else { + $de = PHP_EOL . PHP_EOL; + } + $ex = explode($de, $content); if (count($ex) > 1) { return [$ex[0], $ex[1]]; } diff --git a/app/Rpc/v1/WebsiteService.php b/app/Rpc/v1/WebsiteService.php new file mode 100644 index 0000000..0fae69e --- /dev/null +++ b/app/Rpc/v1/WebsiteService.php @@ -0,0 +1,29 @@ +where('app_domain', $host)->where('is_delete', 0)->first()?->toArray(); + + if (!$query) { + return $this->getResponse()->setCode(404)->send(); + } + + return $this->getResponse()->setData($query)->setCode(0)->send(); + } +} \ No newline at end of file