Quellcode durchsuchen

两个获取菜单接口优化

wufeng vor 2 Jahren
Ursprung
Commit
eb0b95eef5
1 geänderte Dateien mit 43 neuen und 42 gelöschten Zeilen
  1. 43 42
      app/admin/controller/Menu.php

+ 43 - 42
app/admin/controller/Menu.php

@@ -58,48 +58,49 @@ class Menu extends Base
 //        });
 //        return app_show(0,"获取成功",array_values($list));
 //    }
-    public function MenuList(){
-        $condition =["status"=>1,"is_del"=>0];
-        if($this->level=='') return json_show(10000,"账户角色账户已禁用",[]);
-        if ($this->level!=1){
-            $role = Db::name("role_action")->where("role_id","=",$this->roleid)->find();
+    public function MenuList()
+    {
+        $condition = ["status" => 1, "is_del" => 0];
+        if ($this->level == '') return json_show(10000, "账户角色账户已禁用", []);
+        if ($this->level != 1) {
+            $role = Db::name("role_action")->where("role_id", "=", $this->roleid)->find();
 
-            if($role==false)  return json_show(0,"获取成功",[]);
+            if ($role == false) return json_show(0, "获取成功", []);
 
             $action = Db::name("action")
-                ->where(['id'=>explode(",",$role['action_conllect']),"status"=>1])
+                ->where(['id' => explode(",", $role['action_conllect']), "status" => 1])
                 ->column("id,menuid,action_code");
-            if (empty($action)) return json_show(0,"获取成功",[]);
+            if (empty($action)) return json_show(0, "获取成功", []);
 
-            $MenuAction=[];
-            foreach ($action as $value){
-                $MenuAction[$value['menuid']][]=$value['action_code'];
+            $MenuAction = [];
+            foreach ($action as $value) {
+                $MenuAction[$value['menuid']][] = $value['action_code'];
             }
 
-            $menuid= array_column($action,"menuid");
-            $condition['id']=$menuid;
-        }else{
-            $action = Db::name("action")->where(["status"=>1,"is_del"=>0])->column("id,action_code,menuid");
-            $MenuAction=[];
-            foreach ($action as $value){
-                $MenuAction[$value['menuid']][]=$value['action_code'];
+            $menuid = array_column($action, "menuid");
+            $condition['id'] = $menuid;
+        } else {
+            $action = Db::name("action")->where(["status" => 1])->column("id,action_code,menuid");
+            $MenuAction = [];
+            foreach ($action as $value) {
+                $MenuAction[$value['menuid']][] = $value['action_code'];
             }
-            $menuid= array_column($action,"menuid");
-            $condition['id']=$menuid;
+            $menuid = array_column($action, "menuid");
+            $condition['id'] = $menuid;
         }
-        $menuAll =Db::name("admin_menu")
+        $menuAll = Db::name("admin_menu")
             ->where($condition)
-            ->where("level",">=",$this->level)
+            ->where("level", ">=", $this->level)
             ->column("id,menu_name,menu_img,menu_route,menu_url,pid,is_show,is_private,menu_type,level,status,weight");
-        $list=[];
-        foreach ($menuAll as $value){
-            $value['action']=$MenuAction[$value['id']]??[];
-            makeMenu($value,$list);
+        $list = [];
+        foreach ($menuAll as $value) {
+            $value['action'] = $MenuAction[$value['id']] ?? [];
+            makeMenu($value, $list);
         }
-        $keys =array_column($list, 'weight');
-        array_multisort($keys,SORT_DESC,$list);
-        $list=MenuTree($list,0);
-        return json_show(0,"获取成功",$list);
+        $keys = array_column($list, 'weight');
+        array_multisort($keys, SORT_DESC, $list);
+        $list = MenuTree($list, 0);
+        return json_show(0, "获取成功", $list);
     }
 
     /**
@@ -206,19 +207,19 @@ class Menu extends Base
      * @throws \think\db\exception\ModelNotFoundException
      * @throws \think\exception\DbException
      */
-    public function   MenuAllList(){
-        $post  =$this->request->post();
+    public function MenuAllList()
+    {
+        $role = Db::name("role_action")->where("role_id", "=", $this->roleid)->find();
+        if ($role == false) return json_show(0, "获取成功", []);
 
-        $data = Db::name("admin_menu")->where(['pid'=>0,'is_del'=>0])->order("weight desc,id asc")->select();
-        $l=[];
-        foreach ($data as $key=>$value){
-            $temp=[];
-            $temp =  Db::name("admin_menu")->where(['pid'=>$value['id'],'is_del'=>0])->order("weight desc,id asc")
-                ->select();
-            $value['child']=$temp;
-            $l[]=$value;
-        }
-        return app_show(0,"获取成功",$l);
+        $data = Db::name("admin_menu")
+            ->where([["is_del", "=", 0], ["level", ">=", $this->level]])
+            ->field("id,menu_name,menu_img,menu_route,menu_url,pid,is_show,is_private,menu_type,level,status,weight")
+            ->order("weight desc,id asc")
+            ->select()
+            ->toArray();
+        $l = MenuTree($data, 0);
+        return json_show(0, "获取成功", $l);
     }
 
     /**