From 6f88bab46324934b075e517278ea4574dd83140e Mon Sep 17 00:00:00 2001 From: liutong <836164388@qq.com> Date: Mon, 24 Mar 2025 15:55:12 +0800 Subject: [PATCH] =?UTF-8?q?feat(api):=20=E6=B7=BB=E5=8A=A0=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=9C=B0=E5=8C=BA=E6=A0=91=E5=BD=A2=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 getAreaTree 方法,获取启用状态的地区数据并构建树形结构 - 在路由中添加对应的 API端点 --- niucloud/app/api/controller/sys/Area.php | 19 +++++++++++++++++++ niucloud/app/api/route/route.php | 3 +++ 2 files changed, 22 insertions(+) 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');