@@ -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