request->param(); $role = $this->auth->getRuleIds()[0] ?? ''; $menu_rule = $params['menu_rule']; $menu_id = Db::name('auth_rule')->where('name', $menu_rule)->where('ismenu', 1)->value('id'); $btn_list = Db::name('auth_rule')->where('pid', $menu_id)->where('ismenu', 0); if ($role != '*') { $role_menus_ids = explode(',',$role); $btn_list->whereIn('id', $role_menus_ids); } $btn_list = $btn_list->where('status', 'normal')->field(['id', 'title as name', 'name as path', 'name as action', 'icon'])->select(); $btn = []; foreach ($btn_list as $value) { $action = explode('/',$value['action']); $action = end($action); $btn[$action] = [ 'name' => $value['name'], 'path' => $value['path'], 'action' => $action, 'icon' => $value['icon'], ]; } return AppResult::response200('success', $btn); } }