Переглянути джерело

feat(region): 新增省份数据接口

- 添加获取省份数据的 getProvince 方法
- 在 RegionController 中实现 province 接口
- 配置 province 接口路由并设置缓存时间 600 秒
- 引入 province.json 数据文件用于返回省份信息
runphp 3 місяців тому
батько
коміт
82cf86c8ec
3 змінених файлів з 10 додано та 0 видалено
  1. 1 0
      route/admin.php
  2. 5 0
      src/Controller/Admin/RegionController.php
  3. 4 0
      src/Extension.php

+ 1 - 0
route/admin.php

@@ -8,6 +8,7 @@ use SixShop\LimitPurchase\Controller\Admin\{
 use think\facade\Route;
 use SixShop\System\Middleware\MacroPageMiddleware;
 
+Route::get('region/province', [RegionController::class, 'province'])->cache(600);
 Route::get('region/city/:id', [RegionController::class, 'city'])->cache(600);
 Route::get('region/area/:id', [RegionController::class, 'area'])->cache(600);
 Route::resource('rule', RuleController::class)->middleware(['auth', MacroPageMiddleware::class]);

+ 5 - 0
src/Controller/Admin/RegionController.php

@@ -8,6 +8,11 @@ use function SixShop\Core\success_response;
 
 class RegionController
 {
+    public function province(Extension $extension): Response
+    {
+        return success_response($extension->getProvince());
+    }
+
     public function city(int $id, Extension $extension): Response
     {
         return success_response($extension->getCity($id));

+ 4 - 0
src/Extension.php

@@ -24,6 +24,10 @@ class Extension extends ExtensionAbstract
         return dirname(__DIR__);
     }
 
+    public function getProvince():array
+    {
+        return json_decode(file_get_contents(__DIR__ . '/province.json'), true);
+    }
     public function getCity(int $province): array
     {
         $province = substr((string)$province, 0, 2);