第一步:
控制器
一个空的前端显示控制器
//代理注册
public function proxyreg(){
$this->display();
}
短信后台代码
//随机数产生函数
private function GetRandStr($len, $rtype = 0){
if ($rtype == 0) {
$chars = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
"l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
"w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
"S", "T", "U", "V", "W", "X", "Y", "Z", "1", "2",
"3", "4", "5", "6", "7", "8", "9");
}else{
$chars = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
}
$charsLen = count($chars) - 1;
shuffle($chars);
$output = "";
for ($i=0; $i<$len; $i++){
$output .= $chars[mt_rand(0, $charsLen)];
}
return $output;
}
// 发送短信
public function sms(){
$mobile_code = $this->GetRandStr(4,1);
//$this->logger("aaaaaa");
$unifiedOrder = new \UnifiedOrder_pub();
$mobile = $_POST['mobile'];
if($mobile=="18128826867" || $mobile=="15992875599"){
$gets = array('code' => 2, 'msg' => '提交成功');
$mobile_code = '1234';
}else{
$target = "http://106.ihuyi.cn/webservice/sms.php?method=Submit";
$post_data = "account=cf_chenqiang&password=chenqiang&mobile=".$mobile."&content=".rawurlencode("您的验证码是:".$mobile_code."。请不要把验证码泄露给其他人。");
//密码可以使用明文密码或使用32位MD5加密
// $send = $this->Post($post_data, $target);
$wechatUser = $this->wechatUser;
$send = $wechatUser->request_post($target, $post_data);
$gets = $unifiedOrder->xmlToArray($send);
}
if($gets['code']==2){
$smsjson="{\"rcode\":".$gets['code'].",\"rmsg\":".$mobile_code."}";
}else{
$smsjson="{\"rcode\":".$gets['code'].",\"rmsg\":\"".$gets['msg']."\"}";
}
$this->ajaxReturn($smsjson,'json');
}
//日志记录
private function logger($content){
$logSize=100000;
$log="log.txt";
if(file_exists($log) && filesize($log) > $logSize){
unlink($log);
}
file_put_contents($log,date('H:i:s')." ".$content."\n",FILE_APPEND);
}
第二部:
前端部分
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>代理注册</title>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/Daikuan/New/js/duanxin.js">
<script type="text/javascript">
// 确认当前用户端的信息是否发生修改
function vertifyModify(){
var modify="";
var passStyle = $('input:radio[name="passStyle"]:checked').val();
if(''!=$.trim($('#telPhone').val())){
modify = modify+"9,";
}
if(''!=passStyle){
modify = modify+"10,";
}
modify = modify+"0";
return modify;
}
// 注册提交
var smsData;
function proxyreg1() {
var passStyle = $('input:radio[name="passStyle"]:checked').val();
var jsdata=JSON.parse(smsData);
var vertifystr = jsdata.rmsg;
if($.trim(vertifystr)!=$.trim($('#vertifyCode').val())){
alert("您输入的验收证码不对!");
return false;
}else{
$.ajax({
type : "POST",
dataType:"text",
url : "/Daikuan/Weixin/proxyreg1/",
data : {
telPhone : $('#telPhone').val(),
flag : 1,
modify : vertifyModify()
},
success : function(res) {
var jsondata = eval('(' + res + ')');
var jsdata=JSON.parse(jsondata);
alert(jsdata.smsresult);
if(jsdata.result > 0){
WeixinJSBridge.call('closeWindow');
}
}
});
}
}
// 短信发送
function get_mobile_code(){
var mobile = jQuery.trim($('#telPhone').val());
var zphone = document.getElementById('zphone');
if(mobile.length != 11){
alert('手机号码!');
$('#telPhone').focus();
}else{
if(vertifyModify()=="0"){
alert("您的注册信息未发任何修改!");
}else{
document.getElementById('zphone').disabled = true;
$.ajax({
type : "POST",
dataType:"text",
url : "Daikuan/Weixin/sms",
data : {mobile:mobile},
success : function(res) {
// alert(res);
var json = eval('(' + res + ')');
var jsonstr=JSON.parse(json);
if(jsonstr.rcode==2){
smsData = json;
RemainTime();
}else{
alert("发送短信失败原因:"+jsonstr.rmsg);
document.getElementById('zphone').disabled = false;
document.getElementById('showTooltips').disabled = true;
}
}
});
}
}
}
var iTime = 59;
var Account;
function RemainTime(){
var iSecond,sSecond="",sTime="";
if (iTime >= 0){
document.getElementById('zphone').disabled = true;
document.getElementById('showTooltips').disabled = false;
$('#telPhone').attr("readonly","readonly")//将input元素设置为readonly
iSecond = parseInt(iTime%60);
iMinute = parseInt(iTime/60);
if (iSecond >= 0){
if(iMinute>0){
sSecond = iMinute + "分" + iSecond + "秒";
}else{
sSecond = "重新获取(" +iSecond + "S)";
}
}
sTime=sSecond;
if(iTime==0){
clearTimeout(Account);
sTime='获取验证码';
iTime = 59;
document.getElementById('zphone').disabled = false;
document.getElementById('showTooltips').disabled = true;
$("#telPhone").removeAttr("readonly");//去除input元素的readonly属性
}else{
Account = setTimeout("RemainTime()",1000);
iTime=iTime-1;
}
}else{
sTime='没有倒计时';
}
document.getElementById('zphone').value = sTime;
}
</script>
</head>
<body>
<div class="weui_cells weui_cells_form">
<div class="tab-content">
<div class="weui_cell">
<div class="weui_cell_hd"><label class="weui_label">手机号码</label>
</div>
<div class="weui_cell_primary">
<input class="weui_input" type="number" id="telPhone" pattern="[0-9]*" placeholder="手机号">
</div>
</div>
</div>
<div class="weui_cell">
<div class="weui_cell_hd"><label class="weui_label">验证码</label>
</div>
<div class="weui_cell_bd weui_cell_primary">
<input class="weui_input" type="number" id="vertifyCode" pattern="[0-9]*" placeholder="请输入验证码">
</div>
<input id="zphone" type="button" value=" 获取验证码 " class="weui_btn weui_btn_mini weui_btn_primary" οnclick="javascript:get_mobile_code();"/>
</div>
<div class="weui_cell1">
<input class="weui_btn weui_btn_primary" type="button" id="showTooltips" value="提交" οnclick="javascript:proxyreg1();"/>
</div>
</div>
</form>
</body>
</html>
注:
1:引入前端jquery
2.在引入Thinkphp\library\vendor 下引入demo和自己短信封装包