短信登录
public function note(Request $request)
{
$all = $request->all();
$statusStr = array(
"0" => "短信发送成功",
"-1" => "参数不全",
"-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",
"30" => "密码错误",
"40" => "账号不存在",
"41" => "余额不足",
"42" => "帐户已过期",
"43" => "IP地址限制",
"50" => "内容含有敏感词"
);
$send = rand(1000, 9999);
$smsapi = "http://api.smsbao.com/";
$user = "598516204"; //短信平台帐号
$pass = md5("w05216034."); //短信平台密码
$content = "您收到的短信为" . $send;//要发送的短信内容
$phone = $all['phone'];//要发送短信的手机号码
$sendurl = $smsapi . "sms?u=" . $user . "&p=" . $pass . "&m=" . $phone . "&c=" . urlencode($content);
$result = file_get_contents($sendurl);
Redis::set('code', $send);
return response()->json(['code' => 200, 'msg' => $statusStr[$result], 'data' => $send])->setEncodingOptions(JSON_UNESCAPED_UNICODE);
}
public function login(Request $request)
{
//接收用户输入的手机号
$phone = $request->all('phone');
//获取用户输入的验证码
$userCode = $request->all('yzm');
//缓存记录验证码
$cacheCode = Redis::get('code');
$result = User::where('phone', $phone)->first();
if (!$result) {
//判断用户输入的手机号是否注册过
return response()->json(['code' => 889, 'msg' => '手机号不存在', 'data' => []])->setEncodingOptions(JSON_UNESCAPED_UNICODE);
}
if ($userCode != $cacheCode) {
//判断用户输入的验证码跟缓存中的验证码是否一致
return response()->json(['code' => 889, 'msg' => '验证码错误', 'data' => []])->setEncodingOptions(JSON_UNESCAPED_UNICODE);
}
return response()->json(['code' => 200, 'msg' => '登陆成功', 'data' => []])->setEncodingOptions(JSON_UNESCAPED_UNICODE);
}
何不试试大佬的扩展包?github.com/overtrue/easy-sms
手机号码最好也缓存一下,然后做一下判断感觉更稳妥一些!~ :joy: