route()->getAction(); $controller = class_basename($action['controller']); list($controller, $action) = explode('@', $controller); $token = $request->headers->get('Authorization'); if (strpos($token, 'Bearer ') !== false) { $token = str_replace("Bearer ", null, $token); $token = trim($token); if($token){ // JWT解密token $jwt = new Jwt('jwt_ok_app'); $userId = $jwt->verifyToken($token); }else{ return response()->json(message(1035, false, [], 403))->setEncodingOptions(256); } } else { $userId = 0; } // 接口验证 $params = $request->except('s'); $key = $request->header('sign'); if(empty($key)){ $key = isset($params['key'])? $params['key'] : ''; } $data = api_decrypt($key); $ctime = isset($data['ctime']) ? $data['ctime'] : 0; if ($ctime>0 && $ctime < time() - 30) { return response()->json(message(1012, false, null, 403))->setEncodingOptions(256); } // 站点升级检测返回 $isUpgrade = ConfigService::make()->getConfigByCode('dapp_upgrade',0); if(intval($isUpgrade) == 1){ $updateDate = ConfigService::make()->getConfigByCode('dapp_upgrade_date',date('Y-m-d H:i',time() + 3600)); return response()->json(message(1037, false, ['date'=> $updateDate], 405))->setEncodingOptions(256); } // 接口加密验证 if ($userId<=0) { // 在这里可以定制你想要的返回格式, 亦或者是 JSON 编码格式 return response()->json(message(1035, false, [], 403))->setEncodingOptions(256); } $request->headers->set('token_uid' , $userId); $request->merge($data!=NULL && !empty($data)?$data: []); //如果已登录则执行正常的请求 return $next($request); } }