阿里大鱼 短信使用

字号+ 编辑: 国内TP粉 修订: 种花家 来源: ThinkPHP 2023-09-07 我要说两句(0)

阿里大鱼短信代码demo

我在做毕设,项目中想用短信验证功能,就找到了阿里大鱼,价格貌似目前最低,其他什么都好弄,就是导入到项目中,不知道怎么用,一直报错,网上查了,大都是和文档案例一样,没用,tp里还有专栏范例,估计都是旧版本,也没用。最后搞出来了,特在此记录一下。

下载SDK,解压引入Autoload.php、TopSdk.php及aliyun和top两个文件夹。

我引入的位置是 APP_PATH/Common/Lib/Alidayu/,不动tp文件我觉得好些。

新建一个类文件 SendMSM.class.php,这个根据自己需求来。

<?php
namespace Lib\Alidayu;
include('TopSdk.php');
// 就是下面两句把我搞惨了,别嫌弃,我只是入门了而已
use TopClient;
use AlibabaAliqinFcSmsNumSendRequest;
class SendMSM
{
    public function send($recNum='', $smsParam='', $smsTemplateCode='SMS_8525079', $smsFreeSignName='短信测试'){
        $c = new TopClient;
        $c->format = "json";
        $c->appkey = C('AlidayuAppKey');
        $c->secretKey = C('AlidayuAppSecret');
        $req = new AlibabaAliqinFcSmsNumSendRequest;
        //$req->setExtend("123456");
        $req->setSmsType("normal");
        $req->setSmsFreeSignName($smsFreeSignName);
        $req->setSmsParam($smsParam);
        $req->setRecNum($recNum);
        $req->setSmsTemplateCode($smsTemplateCode);
        $resp = $c->execute($req);
        return $resp;
    }
}

我把AppKey 和 secret 放到了单独的配置文件,以便后期重置了可以在后台修改。


然后就是使用了,

<?php
namespace Admin\Controller;

use Think\Controller;
use Lib\Alidayu\SendMSM;

class IndexController extends Controller
{
    public function index()
    {
        $this->sendMSM();
    }

    protected function sendMSM()
    {
        $alidayu = new SendMSM();
        $result = $alidayu->send('13000000000','{"code":"123456"}');
        dump($result);
    }
}

测试结果:

object(stdClass)[11]
  public 'result' =>
    object(stdClass)[12]
      public 'err_code' => string '0' (length=1)
      public 'model' => string '101550887105^1102084861016' (length=26)
      public 'success' => boolean true
  public 'request_id' => string '12cl9hupqvkgh' (length=13)


阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • mac开发接入微信公众号接口返回报错 cURL error 56: SSLRead() return error -9806

  • pecl安装程序时报错Array and string offset access syntax with curly braces is no longer supported

  • PHP的换行符是什么

  • 由于商家传入的H5交易参数有误,该笔交易暂时无法完成,请联系商家解决

我要说说
网上宾友点评