laravel8 根据手机号获取验证码 存到redis
public function getCode(Request $request)
{
$phone = $request->input('phone');
$code = (new Server())->sendMsg($phone);
if ($code) {
Cache::store('redis')->put('code_' . $phone, $code, 600);
return $this->ok($code, 200, '发送成功');
}
}
登录处理逻辑
public function login(Request $request)
{
$phone = $request->input('phone');
$phoneCode = $request->input('phoneCode');
$data = [
'phone' => $phone
];
if (Cache::store('redis')->has('code_' . $phone) == false) {
return $this->fail('验证码已过期');
}
if ($phoneCode !== Cache::store('redis')->get('code_' . $phone)) {
return $this->fail('验证码错误');
} else {
//判断数据表是否有当前手机号
$res = \App\Models\UserModel::where('phone', $phone)->first();
if ($res) {
$jwt = (new Server())->createToken($res['phone']);
//然后调用生成token的方法,将生成的token带到小程序当中
return ['code' => 200, 'data' => $res, 'jwt' => $jwt, 'msg' => '登录成功'];
} else {
$add = \A