TP3.2 配置最新的阿里大于sdk
TP3.2 配置最新的阿里大于sdk
最近公司买了阿里云的阿里大于短信验证 ,这里记录下本人接入短信验证的过程和心得。
大家是不是一开始都是和本人一样直接去百度下怎么有没有现成的demo 或者是封装好了的类库
就像是 :http://www.thinkphp.cn/topic/46029.html
但是兴高采烈的接入好了 , 最后会发现 ISV 什么开发这权限不足 , 其实后台都是好了的 , 根本就不是权限不足, 而是搬家了
以前的接口是有taobao 的,就像https://api.alidayu.com/apitools/apiTools.htm?spm=a3142.7395905.4.29.z1Hkms&catId=20711&apiId=25450&apiName=alibaba.aliqin.fc.sms.num.send&scopeId=#
没错这个是过期了的 但是官方并没有说明这种情况,这就很坑了。
这里作者建议 大家直接去官方下载最新的sdk:
https://help.aliyun.com/document_detail/55451.html?spm=5176.doc55288.6.556.sIOJUV
下载好了直接配置demo

这里配置

这里务必看清楚,那些参数签名什么的,不然就是各种报错, 你懂的,很难受
如果你的demo 成功的话 那么封装就变得简单了
/*
* 阿里大鱼手机验证码发送函数
*
*
*/ function sendphone($m)
{
Vendor('Alidayu.api_demo.SmsDemo');
header('Content-Type: text/plain; charset=utf-8');
$demo = new \SmsDemo(
C('Alidayu.Appkey'),
C('Alidayu.SecretKey')
); // echo "SmsDemo::sendSms\n";
$randStr = str_shuffle('1234567890');
$code = substr($randStr,0,4);
$_SESSION['sendphonecode']=$code;
$_SESSION['expire']=1800;
$response = $demo->sendSms(
C('Alidayu.SignName'), // 短信签名
C('Alidayu.SmsTemplate'), // 短信模板编号
$m, // 短信接收者
Array( // 短信模板中字段的值
"code"=> $code,
"product"=>"dsd"
),
"666"
);
// echo "SmsDemo::queryDetails\n";
$response = $demo->queryDetails(
"1234567890", // phoneNumbers 电话号码
date('Ymd',time()), // sendDate 发送时间
10, // pageSize 分页大小
1, // currentPage 当前页码
"abcd" // bizId 短信发送流水号,选填
); return $code;
}
下面的参数
$demo->queryDetails
具体怎么使用 , 我也是不清楚的,如果有知道的可以告诉下,谢谢。
到在下一步就是获取和验证了
/*
* 发送验证码
* @param mobile purpose 手机号 状态
* @return 0 1
*
*/
public function setphone()
{
$mobile = '15779675455';
// $mobile = I('post.mobile');
// $purpose = I('post.purpose');
$purpose = '1';
if(isset($mobile) && empty($mobile)){
error_r('手机号码不能为空!');
}
if(isset($purpose) && empty($purpose)){
error_r('验证类型不能为空!');
}
$a = sendphone( $mobile );
$yn = (empty($a))? '0' : '1' ;
$data = array(
'phone'=>$mobile,
'purpose'=>$purpose,
'status'=>$yn,
'add_time'=>time(),
'time_date'=>date('Y-m-d',time())
);
M('phonecode')->add($data);
if(empty($a)){
error_r('发送失败');
}else{
success_s('发送成功');
}
} /*
* 验证验证码是否正确
* @param mobile 手机号
* @return 0 1
*
*/
public function thancode()
{
$phone = I('post.phone');
$a = $_SESSION['sendphonecode'];
if($phone == $a)
{
success_s('验证码正确');
}else{
error_r('验证码错误');
}
}
到了这里这功能就基本封装了好
TP3.2 配置最新的阿里大于sdk的更多相关文章
- 一百一十六:CMS系统之使用阿里大于sdk发送短信验证码
阿里大于短信平台:https://dysms.console.aliyun.com/dysms.htm#/overview 使用教程:https://blog.csdn.net/qq103189393 ...
- Python2-Django配置阿里大于的短信验证码接口
1.短信发送开发指南地址:https://help.aliyun.com/document_detail/55491.html?spm=a2c4g.11186623.6.568.l5zTwH 2.SD ...
- .NET Core阿里大于短信发送SDK修改以及使用
一.问题背景 继上次七牛云SDK的问题之后(参考:http://www.cnblogs.com/OMango/p/8447480.html),在发送短信的功能上又出现了问题,我们短信服务使用的是阿里大 ...
- asp.net mvc短信接口调用——阿里大于API开发心得
互联网上有许多公司提供短信接口服务,诸如网易云信.阿里大于等等.我在自己项目里需要使用到短信服务起到通知作用,实际开发周期三天,完成配置.开发和使用,总的说,阿里大于提供的接口易于开发,非常的方便,短 ...
- 阿里大于验证码发送 (ThinkPhp框架)
1.登录平台 阿里大于2.登陆之后我们可以看到资费,使用场景等,在进入正题之前我们需要一些准备工作,首先我们先了解下短信的请求参数,在这里我们需要注意的是sms_param这个参数,在接下来我们申请短 ...
- Thinkphp5使用阿里大于短信验证
现在各种平台登录验证很多时候会使用短信验证,快捷安全,有很多平台提供短信验证服务,相比较而言阿里大于价格比较便宜,快捷,所以在在千锋日常的php教学中多以此为例来说明短信验证的使用.下面我们在tp5中 ...
- laravel+阿里大于实现发送验证码短信
一.短信服务使用阿里大于提供的短信接口 阿里大于官方网站上的接入流程: 在阿里大于申请接口后,需要做以下操作: 申请签名 申请短信模板 创建Accesskey,可以通过权限最大的Accesskey创建 ...
- 利用阿里大于实现发送短信(JAVA版)
本文是我自己的亲身实践得来,喜欢的朋 友别忘了点个赞哦! 最近整理了一下利用阿里大于短信平台来实现发送短信功能. 闲话不多说,直接开始吧. 首先,要明白利用大于发送短信这件事是由两部分组成: 一.在阿 ...
- 基于ThinkPHP与阿里大于的PHP短信验证功能
https://blog.csdn.net/s371795639/article/details/53381274 PHP阿里大鱼短信验证 第一步 登陆阿里大于注册账号,在用户管理中心创建应用,确定A ...
随机推荐
- java中的注解总结
1. 什么是注解 注解是java5引入的特性,在代码中插入一种注释化的信息,用于对代码进行说明,可以对包.类.接口.字段.方法参数.局部变量等进行注解.注解也叫元数据(meta data).这些注解信 ...
- ASP.NET Core 源码学习之 Options[1]:Configure
配置的本质就是字符串的键值对,但是对于面向对象语言来说,能使用强类型的配置是何等的爽哉! 目录 ASP.NET Core 配置系统 强类型的 Options Configure 方法 源码解析 ASP ...
- unity3d项目导入android studio
第一步 拿到unity3d项目,里面包含以下文件 第二步 在android studio下新建一个project 第三步 将unity3d项目目录下的libs下的jar文件复制黏贴到android s ...
- 解决Socket粘包问题——C#代码
解决Socket粘包问题——C#代码 前天晚上,曾经的一个同事问我socket发送消息如果太频繁接收方就会有消息重叠,因为当时在外面,没有多加思考 第一反应还以为是多线程导致的数据不同步导致的,让他加 ...
- php后台数组foreach嵌套循环
<?php foreach($list as $key=>$val){ ?> <tr class="over_odd"> <td align=& ...
- (cljs/run-at (JSVM. :browser) "命名空间就这么简单")
前言 一个cljs文件定义一个命名空间,通过命名空间可以有效组织代码,这是构建大型系统必备的基础设施.本篇我们就深入理解cljs中的命名空间吧! 好习惯从"头"开始 每个cljs ...
- [leetcode-583-Delete Operation for Two Strings]
Given two words word1 and word2, find the minimum number of steps required to make word1 and word2 t ...
- JAVA基础——编程练习(一)
java编程练习(一) 编程题目: 请根据所学知识,编写一个 JAVA 程序,实现输出考试成绩的前三名. 要求: 1. 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 6 ...
- Java程序性能优化-读书笔记(一) 单例模式
单例模式: 目的: 确保系统中一个类只产生一个实例. 好处: 1.对于频繁使用的对象,可以省略创建对象所花费的时间,这对于那些重量级对象而言,是非常可观的一笔系统开销. 2.由于new操作的次数减少, ...
- eclipse 配置ssh
用maven 新建工程 ,然后在src 下面的main 文件夹下新建 java文件夹,在src新建test 文件夹,然后再在下面新建java文件夹然后在pom.xml中引入ssh的依赖, 最后在res ...