get('phone'); // 生成4位随机数,左侧补0 if (!app()->environment('production')) { $code = '1234'; } else { try { $code = str_pad(random_int(1, 9999), 4, 0, STR_PAD_LEFT); $result = $easySms->send($phone, [ 'content' => "【Lbbs社区】您的验证码是{$code}。如非本人操作,请忽略本短信" ]); } catch (\GuzzleHttp\Exception\ClientException $exception) { $response = $exception->getResponse(); $result = json_decode($response->getBody()->getContents(), true); return $this->response->errorInternal($result['msg'] ?? '短信发送异常'); } } $key = 'verificationCode_' . str_random(15); $expiredAt = now()->addMinutes(10); // 缓存验证码 10分钟过期。 \Cache::put($key, ['phone' => $phone, 'code' => $code], $expiredAt); return $this->response->array([ 'key' => $key, 'expired_at' => $expiredAt->toDateTimeString(), ])->setStatusCode(201); } }