美文网首页ThinkPHP
ThinkPHP5 实现短信验证码注册功能

ThinkPHP5 实现短信验证码注册功能

作者: kzj1994 | 来源:发表于2018-10-06 00:32 被阅读79次

    在现在这个短信通知泛滥的年代,干啥都要短信验证码,短信验证码平台也是各种各样,参差不齐的。也不知道哪个好,哪个赖。刚开始的事后就入了几个坑,这里推荐用云之讯的吧,速度还不错,延迟没有,还送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即可。

    下载地址

    相关文章

      网友评论

        本文标题:ThinkPHP5 实现短信验证码注册功能

        本文链接:https://www.haomeiwen.com/subject/fvycaftx.html