代码较多所以就不做过多的文字说明了,部分说明直接作为代码注释,有问题可以评论提出
用于存放短信发送日志的数据表结构:
//接口返回Json数据
public function jsonOk($data='',$code=200,$msg="请求成功"){
return Json(array("code"=>$code,"msg"=>$msg,"data"=>$data));
}
//供前端调用的发送短信验证码接口
public function getMobileCode(){
$data = Request::param();
//用TP的验证器做接收数据的验证
$validate = Validate::rule(['mobile|手机号码'=>'require|mobile']);
$validateRes = $validate->check($data);
if(!$validateRes){
return $this->jsonOk(NULL,400,$validate->getError());
}
$verifyCode = rand(100000,999999);
//创蓝短信在平台认证后只能使用指定字段发送短信,否则创蓝接口会报签名错误,签名指的是【XXXX】部分,其中XXXX要和平台对应
$mobileMsg = "【XXXX】验证码为:".$verifyCode.",五分钟内有效。";
$mobile = $data['mobile'];
return $this->sendSMS(0,$mobile,$mobileMsg,'getPhoneVerifyCode',