sugangqiang 2 年之前
父节点
当前提交
7f743bead8
共有 2 个文件被更改,包括 19 次插入17 次删除
  1. 18 16
      app/common/api/MenuApi.php
  2. 1 1
      app/common/api/UserApi.php

+ 18 - 16
app/common/api/MenuApi.php

@@ -23,24 +23,26 @@ class MenuApi {
 
 
     public static function getMenuListByRoleid($roleid) {
     public static function getMenuListByRoleid($roleid) {
         $role = Role::find($roleid);
         $role = Role::find($roleid);
-        $menu_ids = $role->sysRelation->column("menuid");
-        $where[] = ["status", "=", 1];
-        $where[] = ["ismenu", "=", 1];
-        $where[] = ["new_url", "<>", ""];
-        $where[] = ["id", "in", $menu_ids];
-        $whr[] = ["levels", "=", 1];
-        $menus = Menu::whereOr([$where, $whr])->order("levels asc,num asc")->select()->toArray();
-        $menus = self::buildMenu($menus);
         $tmp = [];
         $tmp = [];
-        for ($i = 0; $i < count($menus); $i++) {
-            $menu_items_count = count($menus[$i]["children"]);
-            $empty_url_count = 0;
-            for ($n = 0; $n < $menu_items_count; $n++) {
-                if ($menus[$i]["children"][$n]["new_url"] == null)
-                    $empty_url_count++;
+        if ($role) {
+            $menu_ids = $role->sysRelation->column("menuid");
+            $where[] = ["status", "=", 1];
+            $where[] = ["ismenu", "=", 1];
+            $where[] = ["new_url", "<>", ""];
+            $where[] = ["id", "in", $menu_ids];
+            $whr[] = ["levels", "=", 1];
+            $menus = Menu::whereOr([$where, $whr])->order("levels asc,num asc")->select()->toArray();
+            $menus = self::buildMenu($menus);
+            for ($i = 0; $i < count($menus); $i++) {
+                $menu_items_count = count($menus[$i]["children"]);
+                $empty_url_count = 0;
+                for ($n = 0; $n < $menu_items_count; $n++) {
+                    if ($menus[$i]["children"][$n]["new_url"] == null)
+                        $empty_url_count++;
+                }
+                if ($empty_url_count != $menu_items_count)
+                    $tmp[] = $menus[$i];
             }
             }
-            if ($empty_url_count != $menu_items_count)
-                $tmp[] = $menus[$i];
         }
         }
         return $tmp;
         return $tmp;
     }
     }

+ 1 - 1
app/common/api/UserApi.php

@@ -45,7 +45,7 @@ class UserApi {
     }
     }
 
 
     public function getRole() {
     public function getRole() {
-        $role = Role::find($this->info["roleid"]);
+        $role = Role::findOrEmpty($this->info["roleid"]);
         return $role->toArray();
         return $role->toArray();
     }
     }