创建应用后点击设置可查看:
App KEY—设置发送参数的时候需要用到
App Secret—设置发送参数的时候需要用到
签名名称—设置发送参数的时候需要用到
模板ID—设置发送参数的时候需要用到
3.应用管理—>测试或SDK下载(这里我是选择PHP)
4.将文件命名为Alidayu
放在tp5中extand->Alidayu
5.短信接口(php)
//引入Alidayu文件
require_once(ROOT_PATH."extend/Alidayu/TopSdk.php")
//验证码
$code=rand(100000,999999)
//APP KEY
$appkey = ''
//APP Secret
$secret = ''
$c = new \TopClient
$c->appkey = $appkey
$c->secretKey = $secret
$req = new \AlibabaAliqinFcSmsNumSendRequest
$req->setExtend('')
$req->setSmsType('normal')
//短信签名
$req->setSmsFreeSignName('短信签名')
//根据模板进行填写(就是设置模板中的变量值)
$req->setSmsParam('{"code":"'.$code.'"}')
//用户注册手机号
$req->setRecNum('12345678')
//模板ID
$req->setSmsTemplateCode('模板ID')
//如果$resp为1,则发送验证码成功
$resp = $c->execute($req)
1.1 进入官网,先登录1.2 入驻阿里大鱼
接下来是配置短信模板,和创建应用,要先创建应用才可以下载SDK。
创建应用:
1.3下载SDK:
创建应用成功后,点红色框
另外还有另一种下载SDK的方法:
1)进入管理中心
再进入 开发者控制台:
在开发者控制台可以看到刚刚创建的应用:
选择版本并下载:
2.根据需求选择需要的文件:
2.1 api文档可以看到:https://api.alidayu.com/doc2/apiDetail?spm=a3142.7791109.1.19.xfkKpE&apiId=25450
短信服务主要用到的是一下几个类文件:
根据官方api的示例代码,可以知道是这几个类文件:
其他三个分别是在一个两个类文件中调用。
所以,解压完SDK后,保留这几个文件,其他就可以删除,当然你保留也不会怎么的。
3. 将选好的文件作为第三方类库引入ThinkPHP3.2框架
引入第三方类库的方法,再次不做累述,在我的另外的一片博文有详细说明。
以下是我自己的部署,以及代码的写法:
3.1 将选好文件放在Library下的AliMsg文件夹(这个文件是自己建的),新建一个文件AliMsgSend.class.php来访问短信服务接口。
3.2 用构造函数初始化,短信需要用来的参数:
3.3 在sendMsg函数中引入需要用到的函数,下面的Log文件是我自己写的,用来打log的(以下的几幅暗色图都是来自于sendMsg函数):
设置appkey和secretkey:
下面这一段,和官方的api一样,我也是直接复制过来,改一下我参数($position是我用来打log的):
下面是对返回值的处理,返回数据的内容以及格式可以在官方文档看到:
返回值$resp,返回的是xml格式的数据。这是个坑。官方文档说是xml,所以我一开始是用simplexml_load_string()来处理$resp的,结果输出的结果是空,找了好久才发现,这货根本不需要用 simplexml_load_string() 处理,
可以直接使用的(相当于已经用 simplexml_load_string() 做处理)。
到此阿里大鱼作为第三方类库引入ThinkPHP3.2框架结束。
4 在controller中调用短信服务,以及一个我遇到的问题:
到此可以让代码跑起来。
开跑……出问题,抛出异常
为什么会这样呢,原来是因为php没有开启curl的扩展服务。
开启方法如下:
钩选php_curl即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)