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

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

下载地址

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 阿里大鱼短信配置非常简单,只需引入阿里大鱼完整SDK,然后在自己的项目里面引用SDK目录autoload.php文...
    480a895cc5bf阅读 1,459评论 0 2
  • Laravel 学习交流 QQ 群:375462817 本文档前言Laravel 文档写的很好,只是新手看起来会有...
    Leonzai阅读 8,103评论 2 12
  • PhpSms 可能是目前最聪明、优雅的php短信发送库了。从此不再为各种原因造成的个别短信发送失败而烦忧! php...
    小漠不漠阅读 1,322评论 0 0
  • “最后的约定” 2018最好的礼物,莫过于这一场突如其来的雪;下的那么意外,那么深情。 ...
    拾取记忆阅读 173评论 0 0
  • 企业的衰退,都是人的原因。 研究生毕业快一周年了,去年这个时候,微信群里还是辅导员发的关于毕业事项的各种通知。 作...
    慕思意阅读 1,466评论 0 1