Browse Source

feat(api): 添加获取地区树形结构接口

- 新增 getAreaTree 方法,获取启用状态的地区数据并构建树形结构
- 在路由中添加对应的 API端点
master
liutong 1 year ago
parent
commit
6f88bab463
  1. 19
      niucloud/app/api/controller/sys/Area.php
  2. 3
      niucloud/app/api/route/route.php

19
niucloud/app/api/controller/sys/Area.php

@ -11,6 +11,8 @@
namespace app\api\controller\sys; namespace app\api\controller\sys;
use addon\zhjw\app\service\admin\common\CommonService;
use app\model\sys\SysArea;
use app\service\api\sys\AreaService; use app\service\api\sys\AreaService;
use core\base\BaseApiController; use core\base\BaseApiController;
use think\Response; use think\Response;
@ -60,4 +62,21 @@ class Area extends BaseApiController
]); ]);
return success((new AreaService())->getAddressByLatlng($data)); return success((new AreaService())->getAddressByLatlng($data));
} }
//获取地区树形结构
public function getAreaTree()
{
// 获取所有地址数据
$areas = SysArea::where('status', 1)
->order('sort', 'asc')
->select()
->toArray();
// 构建树形结构
$tree = (new CommonService())->areaBuildTree($areas);
return success($tree);
}
} }

3
niucloud/app/api/route/route.php

@ -122,6 +122,9 @@ Route::group(function() {
// 通过经纬度查询地址 // 通过经纬度查询地址
Route::get('area/address_by_latlng', 'sys.Area/getAddressByLatlng'); Route::get('area/address_by_latlng', 'sys.Area/getAddressByLatlng');
// 获取地区树形结构
Route::get('area/getAreaTree', 'sys.Area/getAreaTree');
/***************************************************** 海报管理 ****************************************************/ /***************************************************** 海报管理 ****************************************************/
//获取海报 //获取海报
Route::get('poster', 'poster.Poster/poster'); Route::get('poster', 'poster.Poster/poster');

Loading…
Cancel
Save