input('code'); $app = EasyWeChat::miniApp(); $utils = $app->getUtils(); try { $response = $utils->codeToSession($code); }catch (\Throwable $th) { return $this->error($th->getMessage()); } if (Arr::get($response, 'errcode')) { return $this->error(Arr::get($response, 'errmsg')); } $openid = Arr::get($response, 'openid'); // $sessionKey = Arr::get($response, 'session_key'); // Cache::put($openid, $sessionKey, 48*60*60); $user = $this->service->register($openid); $apiToken = $this->service->login($user); return $this->success([ 'user' => UserResource::make($user)->resolve(), 'api_token' => $apiToken, 'expire_in' => Carbon::parse()->addDay()->toDateTimeString() ]); } /** * */ public function refreshToken(Request $request) { $user = auth('api')->user(); //撤销当前令牌 $request->user()->currentAccessToken()->delete(); //颁发新令牌 return $this->success([ 'api_token' => $user->createToken( name: 'api', expiresAt: now()->addDay(), )->plainTextToken, 'expire_in' => Carbon::parse()->addDay()->toDateTimeString() ]); } }