在现在这个短信通知泛滥的年代,干啥都要短信验证码,短信验证码平台也是各种各样,参差不齐的。也不知道哪个好,哪个赖。刚开始的事后就入了几个坑,这里推荐用云之讯的吧,速度还不错,延迟没有,还送10块钱(100多条吧,测试够用了)。基本概念就不说了,下面直接进入正题吧。
1.注册。
2.进入到:开发者控制台->短信->产品总览,记录下右下角的api接口中的AppID,Account Sid,Auth Token
再去 模板库 记录下要使用的 模板id,以备后续使用。这些都是必须要有。
3.把AppID,Account Sid,Auth Token,模板id 填到配置项/application/extra/sms.php 中
<?php
return [
'sms_appid' => 'xxxxxxxxxxx',// 应用id
'sms_accountsid' => 'xxxxxxxxxxx',// 填写在开发者控制台首页上的Account Sid
'sms_authtoken' => 'xxxxxxxxxxx', // 填写在开发者控制台首页上的Auth Token
'sms_templateid' => 'xxxxxxxxxxx',// 模板id
];
4.下载 phpsdk,
在/extend目录下新建一个“sms”文件夹,把下载的sdk解压到/extend/sms中
5.修改里面的文件代码,在/extend/sms/lib/Ucpass.class.php里加上命名空间并重命名为Ucpass.php.
6.在/extend/sms目录新建一个类文件Send.php
将serverSid.php和smsyzm.php中的代码合并到Send.php文件中:(当然你懒得弄也就无所谓了,记得把前面提到的id和token修改好就行了。)
<?php
/**
* User: Xunm
* Date: 2018/10/5
* Time: 17:40
*/
namespace sms;
use sms\lib\Ucpaas;
class Send
{
public static function SendSms($pin, $phone)
{
//填写在开发者控制台首页上的Account Sid
$options['accountsid'] = config('sms.sms_accountsid');
//填写在开发者控制台首页上的Auth Token
$options['token'] = config('sms.sms_authtoken');
//初始化 $options必填
$appid = config('sms.sms_appid'); //应用的ID,可在开发者控制台内的短信产品下查看
$templateid = config('sms.sms_templateid'); //可在后台短信产品→选择接入的应用→短信模板-模板ID,查看该模板ID
//以下是发送验证码的信息
$param = $pin; //验证码 多个参数使用英文逗号隔开(如:param=“a,b,c”),如为参数则留空
$mobile = $phone; // 手机号
$uid = config('sms.sms_uid');
$ucpass = new Ucpaas($options);
$result = $ucpass->SendSms($appid, $templateid, $param, $mobile, $uid);
return $result;
}
}
7.在需要的控制器中
use sms\Send
调用SendSms(‘验证码’,‘手机号’)函数并传入验证码及手机号即可。
也可以直接去github下载修改完的,clone下后直接放在/extend即可。