diff --git a/niucloud/app/api/controller/sys/Area.php b/niucloud/app/api/controller/sys/Area.php index bb9c0a5f..5bbe776f 100644 --- a/niucloud/app/api/controller/sys/Area.php +++ b/niucloud/app/api/controller/sys/Area.php @@ -11,6 +11,8 @@ 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 core\base\BaseApiController; use think\Response; @@ -60,4 +62,21 @@ class Area extends BaseApiController ]); 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); + + } } diff --git a/niucloud/app/api/route/route.php b/niucloud/app/api/route/route.php index 16c26538..29033d83 100644 --- a/niucloud/app/api/route/route.php +++ b/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/getAreaTree', 'sys.Area/getAreaTree'); + /***************************************************** 海报管理 ****************************************************/ //获取海报 Route::get('poster', 'poster.Poster/poster');