记一次Yii扩展开发之整合阿里大鱼通信包

起始

       最近工作不是很忙,在闲暇之余也有了时间搞之前开始的一个小东西。那个项目用的是YII2,需要用到一个通信包,主要需要用到语音服务。加之我的所有服务都是阿里系,所以就选择了大鱼。

准备

下载阿里大鱼的PHP sdk

初始化composer

 composer init 

info
之后具体填写的信息如上图

接下来需要给文件加上命名空间,提交到github,
然后去composer,提交你写的脚本,用composer提供的key,为github项目添加service具体位置如下图
service
这样一个基本的扩展就完成了。

yii-taobao

我写的yii-taobao已经发布到了composer上,
安装方法

composer require itsyc/yii2-taobao dev-master

使用

发送短信验证码的接口

TopSdk::set();
$taobao = new Autoloader();
$c = new TopClient();
$c->appkey = $appkey;     //自己阿里大鱼的appkey
$c->secretKey = $secretKey;   //自己阿里大鱼的secretKey
$req = new AlibabaAliqinFcSmsNumSendRequest();
$req->setExtend("123456");
$req->setSmsType("normal");
$req->setSmsFreeSignName("有票了");
$req->setSmsParam("{\"code\":\"123123\"}");
$req->setRecNum("13023232323");
$req->setSmsTemplateCode("SMS_22910019");
$resp = $c->execute($req);

最后,欢迎大家使用以及吐槽

记一次Yii扩展开发之整合阿里大鱼通信包》有14个想法

  1. 应该感谢你,做了这个扩展~, 我之前也遇到过全站https, 然后图片不是就显示不出来,下面这个提示应该就是这意思,配置下rewrite规则就行了Mixed Content: The page at ‘https://songyichao.com/%e8%ae%b0%e4%b8%80%e6%ac%a1yii%e6%89%a9%e5%b1%95%e5%…4%e5%90%88%e9%98%bf%e9%87%8c%e5%a4%a7%e9%b1%bc%e9%80%9a%e4%bf%a1%e5%8c%85/’ was loaded over HTTPS, but requested an insecure script ‘http://songyichao.com/wp-content/plugins/wp-tagcanvas/tagcanvas.js’. This request has been blocked; the content must be served over HTTPS.

    1. 直接调用就可以了啊use yiitaobaotoprequestAlibabaAliqinFcSmsNumSendRequest;use yiitaobaotoprequestAlibabaAliqinFcTtsNumSinglecallRequest;use yiitaobaotopTopClient;use yiitaobaoAutoloader;use yiitaobaoTopSdk;public static function sendCode($phone, $code) { TopSdk::set(); $taobao = new Autoloader(); $c = new TopClient(); $c->appkey = Yii::$app->params[‘ali_dayu’][‘m_appkey’]; $c->secretKey = Yii::$app->params[‘ali_dayu’][‘m_secretKey’]; $req = new AlibabaAliqinFcSmsNumSendRequest(); $req->setExtend(“123456”); $req->setSmsType(“normal”); $req->setSmsFreeSignName(Yii::$app->params[‘ali_dayu’][‘m_sign_name’]); $req->setSmsParam(“{“code”:”$code”}”); $req->setRecNum($phone); $req->setSmsTemplateCode(Yii::$app->params[‘ali_dayu’][‘m_template_code’]); $resp = json_decode(json_encode($c->execute($req)), true); if (isset($resp[‘result’][‘err_code’]) && $resp[‘result’][‘err_code’] === ‘0’) { return true; } return false; }

发表评论

电子邮件地址不会被公开。