关于小程序的登录,那指定受不了JWT,大家要记得在框架中装好JWT去配置
下面就直接上代码
控制器:
<?php
namespace App\Http\Controllers\api;
use App\Http\Controllers\Controller;
use App\Models\Fillable;
use App\Models\User;
use App\Service\SendCode;
use App\Service\Token;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
class LoginController extends Controller
{
protected $param;
public function __construct(Request $request)
{
$this->param = $request;
}
/**
* 发送手机验证码
*/
public function sendCode()
{
$phone = $this->param['phone'];
//验证
if(!$phone || empty($phone)){
return ['code'=>4000,'msg'=>'手机号不能为空','data'=>''];
}
//判断手机号格式
$pregRes = preg_match_all('/^1[358]\d{9}$/',$phone);
if(!$pregRes){
return ['code'=>4000,'msg'=>'手机号格式不正确','data'=>''];
}
//判断该手机号是否为白名单
$fillableId = Fillable::where('phone',$phone)->first();
if(empty($fillableId)){
return ['code'=>4000,'msg'=>'手机号无法登录','data'=>''];
}
//获取缓存
$time = date('Y-m-d',cache()->get($phone.'_time'));
$count = cache()->get($phone.'_count') ? : 0;
//判断每天发送次数
if($count>5){
return ['code'=>4000,'msg'=>'发送已达上限','data'=>''];
}
//当天的时间
$newDay = date('Y-m-d',time());
if($newDay>$time){
$count = 1;
}else{
$count++;
}
/