首页 网络技术
  1. 正文

修改phpcms短信发送为阿里云和腾讯云的接口

新短信平台修改方法说明:

第一步,删除自带的短信平台模块:后台模块管理里卸载自带的短信平台

然后删除:
/phpcms/modules/文件夹里sms目录
/caches文件夹里caches_sms目录
/api文件夹里:
sms.php和sms_idcheck.php文件

第四步,后台模块管理,安装短信平台模块

第五步,/phpcms/templates/default/member/register.html文件里关于短信平台发送代码:

原有代码:

					$.get("api.php?op=sms",{ mobile: mobile,session_code:session_code,random:Math.random()}, function(data){
						if(data=="0") {
							$("#mobile_send").html(mobile);
							$("#mobile_div").css("display","none");
							$("#mobile_send_div").css("display","");
							times = 120;
							$("#GetVerify").attr("disabled", true);
							isinerval = setInterval("CountDown()", 1000);
						} else if(data=="-1") {
							alert("你今天获取验证码次数已达到上限");
						} else if(data=="-100") {
							$('#code').val('');
							alert("验证码已失效,请点击图片验证码获取新的验证码!");
							$('#code').focus();
						} else if(data=="-101") {
							alert("验证码错误!");
							$('#code').focus();
						} else {
							alert("短信发送失败");
						}
					});
				}

改成:

					$.get("api.php?op=sms",{ scense: 'register',mobile: mobile,session_code:session_code,random:Math.random()}, function(data){
						if(data.code=="200") {
							$("#mobile_send").html(mobile);
							$("#mobile_div").css("display","none");
							$("#mobile_send_div").css("display","");
							times = 120;
							$("#GetVerify").attr("disabled", true);
							isinerval = setInterval("CountDown()", 1000);
						} else if(data.code=="-3") {
							alert("你今天获取验证码次数已达到上限");
						} else if(data.code=="-4") {
							alert("当前IP获取验证码次数已达到上限");
						} else if(data.code=="-2") {
							alert("手机号码错误");
						} else if(data.code=="500") {
							alert(data.error);
						} else if(data=="-100") {
							$('#code').val('');
							alert("验证码已失效,请点击图片验证码获取新的验证码!");
							$('#code').focus();
						} else if(data.code=="-1") {
							alert("验证码错误!");
							$('#code').focus();
						} else {
							alert("短信发送失败");
						}
					});
				}

此处修改说明:

1)get请求中增加了scense参数,scense为场景参数,在后台定义,注册使用register

2)增加新接口的返回判断,返回值在api文件夹的sms.php中有注释:-99短信关闭,-1验证码错误,-2手机号码错误,-3当天额度超限,-4同一个IP额度超限

其他方面的修改:

/phpcms/modules/member/templates/member_setting.tpl.php里51-52行找到


<?php echo L('yes')?> <input class="input-radio" name="info[mobile_checktype]" type="radio" />checked<?php }?> value='2' <?php if($sms_disabled) {?>disabled<?php }?> onclick="$('#sendsms_titleid').hide();"> 
<?php echo L('no')?><input class="input-radio" name="info[mobile_checktype]" type="radio" />checked<?php }?> value='0' onclick="$('#sendsms_titleid').hide();">

替换成:

松模式 <input class="input-radio" name="info[mobile_checktype]" type="radio" />checked<?php }?> value='2' <?php if($sms_disabled) {?>disabled<?php }?> onclick="$('#sendsms_titleid').hide();"> 
严模式 <input class="input-radio" name="info[mobile_checktype]" type="radio" />checked<?php }?> value='1' onclick="$('#sendsms_titleid').hide();"> 
关闭 <input class="input-radio" name="info[mobile_checktype]" type="radio" />checked<?php }?> value='0' onclick="$('#sendsms_titleid').hide();">

/phpcms/modules/member/member_setting.php里搜索(47-49行):

if(empty($this->sms_setting['userid']) || empty($this->sms_setting['productid']) || empty($this->sms_setting['sms_key'])){
$sms_disabled = 1;
}

改成:

$sms_disabled = 0;

/phpcms/modules/member/index.php里
搜索:

$sms_report_db = pc_base::load_model('sms_report_model');

共五处,全部改成

$sms_report_db = pc_base::load_model('sms_model');

搜索:

$userinfo['mobile'] = $r['mobile'];

上面增加一行:

$sms_report_db->update(array('id_code'=>''),$where);

新平台使用说明:

平台设置:负责短信平台的开关,开了之后,后台->用户->会员模块配置->手机强制验证方式 选择 是

平台管理:

添加短信平台,如腾讯云,阿里云的
腾讯云用的是应用appid和secretKey
阿里云用的是AccessKey,在短信服务的右上角,头像的下方

场景设置:

自带场景1-3不可修改和删除,可自行增加使用场景。

短信内容配置:

严格意义上讲这个在各大短信运营商里称之为短信模板。

本文标题:修改phpcms短信发送为阿里云和腾讯云的接口
本文链接:https://www.qqooo.cn/post/2185.html
版权说明:网站文章均来源于手工整理和网友投稿,若有不妥之处请来信 feelym@88.com 处理,谢谢!