Browse Source

全局校验

wufeng 2 years ago
parent
commit
5a3d537e6d
1 changed files with 28 additions and 35 deletions
  1. 28 35
      app/admin/controller/Base.php

+ 28 - 35
app/admin/controller/Base.php

@@ -32,41 +32,34 @@ class Base extends \app\BaseController
     {
 
         //这个地方不能用return json_show()方法,无法阻止代码继续执行
-        $val = Validate::rule([
-            'token' => 'require',
-//            'supplierNo'=>'length:18',
-        ]);
-
-        if (!$val->check($this->post)) return error_show(1004, $val->getError());
-
-//        $token = isset($this->post['token']) ? trim($this->post['token']) : "";
-//        if($token==""){
-//            return error_show(101,'token不能为空');
-//        }
-        $effetc = VerifyTokens($this->post['token']);
-        if (!empty($effetc) && $effetc['code'] != 0) return error_show($effetc['code'], $effetc['message']);
-//        if ((isset($this->post['supplierNo'])) && ($this->post['supplierNo'] != '') && !in_array($this->post['supplierNo'], array_column($effetc['data']['company_relaton'], 'companyCode'))) return error_show(1004, '尚未关联企业');
-
-        $this->uid = isset($effetc['data']['id']) ? $effetc['data']['id'] : "";
-        $this->uname = isset($effetc['data']['nickname']) ? $effetc['data']['nickname'] : "";
-
-        $where_role = [['a.uid', '=', $this->uid], ['a.is_del', '=', 0]];
-        if (isset($this->post['supplierNo']) && $this->post['supplierNo'] != '') {
-            $where_role[] = ['a.companyNo', '=', $this->post['supplierNo']];
-//            $where_role[] = ['b.level', '<>', 1];
-        } //else $where_role[] = ['b.level', '=', 1];
-
-        $role = Db::name('user_role')
-            ->alias('a')
-            ->field('a.id,a.status,a.roleid,b.role_name,b.level')
-            ->leftJoin('role b', 'b.id=a.roleid')
-            ->where($where_role)
-            ->findOrEmpty();
-
-        if (empty($role) || $role['status'] == 0) return error_show(102, '账户已禁用');
-
-        $this->roleid = $role['roleid'];//权限id
-        $this->level = $role['level'];//权限等级
+        //这个地方不能用return json_show()方法,无法阻止代码继续执行
+        $token = isset($this->post['token']) ? trim($this->post['token']) : "";
+        $companyNo = isset($this->post['relaComNo']) ? trim($this->post['relaComNo']) : "";
+        if($token==""){
+            return ["code"=>101,"message"=>"参数token不能为空"];
+        }
+        $effetc = VerifyTokens($token);
+        if(!empty($effetc) && $effetc['code']!=0) {
+            return ["code"=>$effetc['code'],"message"=>$effetc['message']];
+        }
+        $this->uid=$effetc['data']['id']??"";
+        $this->uname=$effetc['data']['nickname']??"";
+        $where=[];
+        if($companyNo!=""){
+            $where=["companyNo"=>$companyNo];
+        }
+        $role = Db::name("user_role")->where(["uid"=>$this->uid,"is_del"=>0])->where($where)->findOrEmpty();
+        if(empty($role)){
+            return ["code"=>101,"message"=>"账户已禁用"];
+        }
+        $this->roleid=$role['roleid'];
+        $level =Db::name("role")->where(["id"=>$role['roleid']])->find();
+        if($role['status']==0 || $level['status']==0 ){
+            $this->level='';
+        }else{
+            $this->level=$level['level']>1 ?2 :($level['level']??1);
+        }
+        return ["code"=>0,"message"=>"验证通过"];
     }