Skip to content

Commit 1e0d789

Browse files
committed
modified 登录接口返回登录菜单数据
1 parent 0e60408 commit 1e0d789

1 file changed

Lines changed: 21 additions & 12 deletions

File tree

application/admin/controller/Login.php

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public function index() {
6464
return $this->buildFailed(ReturnCode::LOGIN_ERROR, '用户名密码不正确');
6565
}
6666
$userInfo['access'] = $this->getAccess($userInfo['id']);
67+
$userInfo['menu'] = $this->getAccessMenu($userInfo['id']);
6768

6869
$apiAuth = md5(uniqid() . time());
6970
cache('Login:' . $apiAuth, json_encode($userInfo), config('apiadmin.ONLINE_TIME'));
@@ -98,30 +99,38 @@ public function logout() {
9899

99100
/**
100101
* 获取当前用户的允许菜单
102+
* @param int $uid
103+
* @return array
104+
* @throws \think\db\exception\DataNotFoundException
105+
* @throws \think\db\exception\ModelNotFoundException
106+
* @throws \think\exception\DbException
101107
* @author zhaoxiang <zhaoxiang051405@gmail.com>
102108
*/
103-
public function getAccessMenu() {
104-
$isSupper = Tools::isAdministrator($this->userInfo['id']);
109+
public function getAccessMenu($uid = 0) {
110+
if ($uid == 0) {
111+
$uid = $this->userInfo['id'];
112+
}
113+
$returnData = [];
114+
$isSupper = Tools::isAdministrator($uid);
105115
if ($isSupper) {
106116
$access = (new AdminMenu())->where('router', '<>', '')->select();
107-
$access = Tools::listToTree(Tools::buildArrFromObj($access));
108-
109-
return $this->buildSuccess($access);
117+
$returnData = Tools::listToTree(Tools::buildArrFromObj($access));
110118
} else {
111-
$groups = AdminAuthGroupAccess::get(['uid' => $this->userInfo['id']]);
119+
$groups = AdminAuthGroupAccess::get(['uid' => $uid]);
112120
if (isset($groups) && $groups->group_id) {
113121
$access = (new AdminAuthRule())->whereIn('group_id', $groups->group_id)->select();
114122
$access = array_unique(array_column(Tools::buildArrFromObj($access), 'url'));
115123
array_push($access, "");
116124
$menus = (new AdminMenu())->whereIn('url', $access)->where('show', 1)->select();
117-
$menus = Tools::listToTree(Tools::buildArrFromObj($menus));
118-
RouterTool::buildVueRouter($menus);
119-
120-
return $this->buildSuccess($menus);
121-
} else {
122-
return $this->buildSuccess();
125+
$returnData = Tools::listToTree(Tools::buildArrFromObj($menus));
126+
RouterTool::buildVueRouter($returnData);
123127
}
124128
}
129+
if ($uid == 0) {
130+
return $this->buildSuccess($returnData);
131+
} else {
132+
return $returnData;
133+
}
125134
}
126135

127136
/**

0 commit comments

Comments
 (0)