auth = $auth; } /** * Handle an incoming request. * * @param Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next, ...$guards) { // try { $token = $request->bearerToken(); $result = $this->parseToken($token); if (!$result) return $this->fail('验证失败,请重新登录', 2); $key = explode('-', $result); $merchant = MerchantAccount::where('id', $key[0])->first(); if (!$merchant) return $this->fail('验证失败,请重新登录', 2); if (time() - $key[2] > 60480000) return $this->fail('请重新登录', 2); if ($key[0]) { if (!empty($key[4])) { $admin = MerchantAdmins::where('id', $key[4]) ->first(); $admin_link = MerchantAdminLinks::where('mch_id', $key[0]) ->where('admin_id', $key[4]) ->first(); if (!$admin || !$admin_link) { return $this->fail('验证失败,请重新登录', 2); } $request->merchant_admin_id = $key[4]; } $request->account_id = $key[0]; } $method = $request->method(); $path = $request->path(); if ($method != 'GET' && config('app.env') == 'production') { $admin_log = new MerchantLog(); $admin_log->path = $path; $admin_log->method = $method; $admin_log->m_id = $key[0]; $admin_log->admin_id = $request->merchant_admin_id ?? 0; $admin_log->param = json_encode($request->all()); $admin_log->save(); } return $next($request); // } catch (\Exception $e) { // return $this->fail('信息有误,请重新登录', 2); // } } //接口返回失败 public function fail($msg, $code = 5, $path = '', $operate = '', $notice = '') { $result = [ 'code' => $code, 'path' => $path, 'message' => $msg, 'operate' => $operate, 'notice' => $notice, ]; return Response()->json($result); } //陈彬,用于本地的调试,固定商户为1,adminid为6 public function parseToken($token) { if (env('APP_LOCAL', false)) { return '1-0-' . time() . '-0-6'; } else { try { $res = decrypt($token); } catch (\Exception $e) { $res = false; } return $res; } } }