diff --git a/crmeb/app/adminapi/controller/v1/setting/SystemRoute.php b/crmeb/app/adminapi/controller/v1/setting/SystemRoute.php index 66208ac36..a8d175401 100644 --- a/crmeb/app/adminapi/controller/v1/setting/SystemRoute.php +++ b/crmeb/app/adminapi/controller/v1/setting/SystemRoute.php @@ -80,12 +80,12 @@ class SystemRoute extends AuthController */ public function tree() { - $where = $this->request->getMore([ + [$name, $appName] = $this->request->getMore([ ['name_like', ''], ['app_name', 'adminapi'] - ]); + ], true); - return app('json')->success($this->services->getTreeList($where)); + return app('json')->success($this->services->getTreeList($appName, $name)); } diff --git a/crmeb/app/services/system/SystemRouteServices.php b/crmeb/app/services/system/SystemRouteServices.php index 56c76d472..077a9d903 100644 --- a/crmeb/app/services/system/SystemRouteServices.php +++ b/crmeb/app/services/system/SystemRouteServices.php @@ -76,20 +76,21 @@ class SystemRouteServices extends BaseServices /** * 获取tree数据 * @param string $appName - * @return array - * @author 等风来 - * @email 136327134@qq.com - * @date 2023/4/7 + * @param string $name + * @return mixed + * @author 吴汐 + * @email 442384644@qq.com + * @date 2023/05/06 */ - public function getTreeList(array $where, string $appName = 'adminapi') + public function getTreeList(string $appName = 'adminapi', string $name = '') { - return $this->cacheDriver()->remember('ROUTE_LIST', function () use ($where, $appName) { + return $this->cacheDriver()->remember('ROUTE_LIST' . strtoupper($appName), function () use ($name, $appName) { $list = app()->make(SystemRouteCateServices::class) ->selectList(['app_name' => $appName], '*', 0, 0, 'id asc,sort desc', [ - 'children' => function ($query) use ($where) { - $query->where('app_name', $where['app_name']) - ->when('' !== $where['name_like'], function ($q) use ($where) { - $q->where('name|path', 'LIKE', '%' . $where['name_like'] . '%'); + 'children' => function ($query) use ($name, $appName) { + $query->where('app_name', $appName) + ->when('' !== $name, function ($q) use ($name) { + $q->where('name|path', 'LIKE', '%' . $name . '%'); }); } ])