1
0
mirror of https://gitee.com/apiadmin/ApiAdmin.git synced 2025-04-06 03:58:00 +08:00

modified 完成前端动态数据准备

This commit is contained in:
zhaoxiang 2020-06-10 18:11:23 +08:00
parent 76568c334b
commit 1b8d2d50d9

@ -102,23 +102,43 @@ class Login extends Base {
public function getAccessMenu() {
$isSupper = Tools::isAdministrator($this->userInfo['id']);
if ($isSupper) {
$access = AdminMenu::all(['router' != '']);
$access = Tools::buildArrFromObj($access);
$access = (new AdminMenu())->where('router', '<>', '')->select();
$access = Tools::listToTree(Tools::buildArrFromObj($access));
return $this->buildSuccess($access);
} else {
$groups = AdminAuthGroupAccess::get(['uid' => $this->userInfo['id']]);
if (isset($groups) && $groups->group_id) {
$access = (new AdminAuthRule())->whereIn('group_id', $groups->group_id)->select();
$access = Tools::buildArrFromObj($access);
$access = array_unique(array_column(Tools::buildArrFromObj($access), 'url'));
array_push($access, "");
$menus = (new AdminMenu())->whereIn('url', $access)->where('show', 1)->select();
$menus = Tools::listToTree(Tools::buildArrFromObj($menus));
$menus = $this->rebuildMenu($menus);
return array_unique(array_column($access, 'url'));
return $this->buildSuccess($menus);
} else {
return [];
return $this->buildSuccess();
}
}
}
private function rebuildMenu($menus) {
foreach ($menus as $key => $menu) {
if (isset($menu['children'])) {
foreach ($menu['children'] as $cKey => $child) {
if (!isset($child['children'])) {
}
}
} else {
unset($menus[$key]);
}
}
return $menus;
}
/**
* 获取用户权限数据
* @param $uid