From 4949a52ed4d7beb12e5006fb04c119cf51e14047 Mon Sep 17 00:00:00 2001 From: liaofei <136327134@qq.com> Date: Thu, 21 Jan 2021 10:10:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9Bswagger=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/crmeb/app/swagger/controller/Index.php | 19 +++++++++++ src/crmeb/app/swagger/route/route.php | 38 +++++----------------- 2 files changed, 27 insertions(+), 30 deletions(-) diff --git a/src/crmeb/app/swagger/controller/Index.php b/src/crmeb/app/swagger/controller/Index.php index 55c26aad..bdd8109e 100644 --- a/src/crmeb/app/swagger/controller/Index.php +++ b/src/crmeb/app/swagger/controller/Index.php @@ -13,4 +13,23 @@ class Index { return view(); } + + /** + * 获取应用下的jsonApi + * @return false|string + */ + public function getApiContent(string $api_name = 'api') + { + if (!in_array($api_name, ['api', 'kefuapi', 'adminapi'])) { + return []; + } + $swaggerJsonPath = app()->getAppPath() . 'view/json/' . $api_name . '_swagger.json'; + if (file_exists($swaggerJsonPath)) { + return json_decode(file_get_contents($swaggerJsonPath), true); + } else { + $openapi = \OpenApi\scan(root_path('app/' . $api_name))->toJson(); + @file_put_contents($swaggerJsonPath, $openapi); + return json_decode($openapi, true); + } + } } diff --git a/src/crmeb/app/swagger/route/route.php b/src/crmeb/app/swagger/route/route.php index e42fa613..47dfac49 100644 --- a/src/crmeb/app/swagger/route/route.php +++ b/src/crmeb/app/swagger/route/route.php @@ -1,34 +1,12 @@ toJson(); - $swagger_json_path = '../app/swagger/view/json/api_swagger.json'; - @file_put_contents($swagger_json_path, $openapi); - }); - Route::get('api', function() { //获取api json数据 - header('Content-Type: application/json'); - $swagger_json_path = '../app/swagger/view/json/api_swagger.json'; - if(file_exists($swagger_json_path)){ - $jsonStr = file_get_contents($swagger_json_path); - echo $jsonStr; - } - }); - Route::get('create_adminapi', function() { //生成adminapi文件 - $openapi = \OpenApi\scan('../app/adminapi')->toJson(); - $swagger_json_path = '../app/swagger/view/json/adminapi_swagger.json'; - @file_put_contents($swagger_json_path, $openapi); - }); - - Route::get('adminapi', function() { //获取adminapi json 数据 - header('Content-Type: application/json'); - $swagger_json_path = '../app/swagger/view/json/adminapi_swagger.json'; - if(file_exists($swagger_json_path)){ - $jsonStr = file_get_contents($swagger_json_path); - echo $jsonStr; - } - }); - Route::get('index', 'Index/index'); -}); + +Route::get('api', 'Index/getApiContent')->append(['api_name' => 'api']); +Route::get('adminapi', 'Index/getApiContent')->append(['api_name' => 'adminapi']); +Route::get('index', 'Index/index'); +Route::get('/', 'Index/index'); +