tp3+aliyun发送短信
前台
<form action="" method="post" name="form" id="form" enctype="multipart/form-data">
<div class="register">
<div class="registeript">
<p>账号</p>
<input type="text" name="tel" id="phone_input" />
</div>
<div class="registeript">
<p>验证码</p>
<input name="smscode" type="text" id="smscode" placeholder="请输入验证码">
<input type="button" value="发送验证码" id="sendsms" >
</div>
</div>
<input class="button" value="立即提交" type="button" lay-submit="" lay-filter="form"/>
</form>
<script>
layui.use('form', function () {
var form = layui.form;
//监听提交
form.on('submit(form)', function (data) {
var smscode = $("input[name='smscode']").val();
var tel = $("input[name='tel']").val();
if (smscode == '') {
layui.use('layer', function () {
var layer = layui.layer;
layer.msg('请填写验证码');
});
return false;
}
$.ajax({
url: "<{:U('Public/login')}>",
data: $('#form').serialize(),
type: "post",
dataType: "json",
async: false,
success: function (data) {
if (data.status == "1") {
layer.msg(data.msg, function () {
location.reload();
});
} else {
layer.msg(data.msg);
}
}
})
return false;
});
});
</script>
<script>
$('#sendsms').on('click', function (obj) {
$('#phone_input').keyup(function(){
if($(this).val().trim()!=''){
$('#sendsms').prop('disabled', false)
}
});
$('#sendsms').click(function () {
var tel = $('#phone_input').val().trim();
var re = /^1[3-9]\d{9}$/;
if(!re.test(tel)){
layer.msg('手机号格式错误!');
return
}
var num = 59
$('#sendsms').val(num+'秒');
var t = setInterval(()=>{
$(this).prop('disabled', true);
num -= 1;
$('#sendsms').val(num+'秒');
if(num==0){
clearInterval(t);
$('#sendsms').val('发送验证码');
$(this).prop('disabled', false);
}
},1000);
$.ajax({
url: "<{:U('Public/getsmscode')}>",
type: "post",
dataType: "json",
data: {'tel': tel},
success: function (data) {
if(data.status == "1"){
layer.msg(data.msg);
}else {
layer.msg(data.msg);
}
}
})
})
})
</script>
控制器
public function getsmscode(){
require './Common/Class/aliyun-dysms-php-sdk/api_demo/SmsDemo.php';
$tel = I('tel');
if($tel){
$rand = rand(100000,999999);
//print_r($smscode);exit;
$data=[
'tel' =>$tel,
'rand'=>$rand,
'signName'=>'短信签名',
'code'=>'SMS_*********',
];
$res =SmsDemo::sendSms($data);
if($res){
$_SESSION['code'] = $rand;
$this->ajaxReturn(array('status' =>1, 'msg' => "发送成功"));
}else{
$this->ajaxReturn(array('status' =>0, 'msg' => "发送失败"));
}
}
}