| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | <?phpdeclare (strict_types=1);namespace app\admin\middleware;use Closure;use app\Request;use think\exception\HttpResponseException;use think\facade\Db;use think\Response;/** * 全局权限校验 * Class WriteLog * @package app\middleware */class Auth{    protected static int $CODE_SUCCESS = 0; //成功    protected static int $CODE_ERR = 999; //成功    /**     * @param Request $request     * @param Closure $next     * @return mixed     */    public function handle(Request $request, Closure $next): mixed    {        /*if ($request->admin->is_pass != 1 && $request->admin->is_root != 1 || $request->admin->valid != 1 && $request->admin->is_root != 1) {            $res = returnFormatError('无权限', 401);            throw new HttpResponseException(Response::create($res, "json"));        }*/       /* $isPass = false;        $role_id = $request->admin->role_id;        $test = Db::table('role')->where('id', $role_id)->find();        $codes = explode(',', $test['codes']);        $list = config('permission_action');        $ctrl = $request->controller();        $fun = $request->action();//        dump($ctrl.'_'.$fun);        foreach ($list as $k => $v) {            if ($ctrl . '_' . $fun == $k) {//                dump('a=>'.$v);                foreach ($codes as $kk => $vv) {                    if ($v == $vv) {//                        dump('b=>'.$vv);                        $isPass = true;                        break;                    }                }            }        }        // || $fun=='import' || $fun=='export' || $fun=='pass' || $fun=='rePass'        if ($request->admin->is_root == 1 || $fun == 'init' || $fun == 'initDetail') {            $isPass = true;        }        // 添加中间件执行代码        $admin = $request->admin;        if (!$isPass) {            $res = returnFormatError('无权限', 555);            throw new HttpResponseException(Response::create($res, "json"));        }*/        return $next($request);    }    /**     * 返回TOKEN错误代码内容     * @param $code     * @return string     */    private static function getError($code): string    {        $errArr = self::getErrorArr();        if (!key_exists($code, $errArr)) {            return "未知错误";        }        return $errArr[$code];    }    /**     * 获取TOKEN错误码数组     * @return array     */    private static function getErrorArr(): array    {        return [            self::$CODE_SUCCESS => "成功",            self::$CODE_ERR => "系统异常",        ];    }}
 |