thinkphp6 lib短信宝短信验证码封装
//获取验证码 Route::get('getPhone','Login/getPhone');
扩展包安装:composer require mrwanghongda/sms-sdk
ajax发送
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> <script>$('#dyMobileButton').click(function (){var tel=$('#phone').val();$.ajax({url:"getPhone",data:{tel:tel},type:'get',dataType:'json',success:function(e){console.log(e);}});}) </script>
<?phpnamespace app\lib;use Mrwanghongda\SmsSdk\Sms\SmsFactory;class Msg {public static function getPhone($tel){//工厂模式$smsObj = (new SmsFactory(SmsFactory::SMS_BAO))->getSmsService();$code=rand(10000,99999); // dd($tel);$config = [/* 填写平台对应的CAM密匙secretId,短信宝填写平台账号*/'secretId' => '',/* 填写平台对应的CAM密匙secretKey,短信宝填写平台密码*/'secretKey' => '',/* 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666 ,短信宝默认为空*/'smsSdkAppId' => '',/* 填写腾讯、阿里平台对应的签名内容,短信宝则默认为空 */'signName' => '',/* 发送的手机号,示例如17899873465 */'tel' => $tel,/* 模板 ID: 必须填写已审核通过的模板 ID。模板ID可登录 [短信控制台] 查看 */'templateId' => "",/* 模板发送的短信内容,短信宝则需要填写 如:"【短信宝】您的验证码是"5390",3分钟有效。", 腾讯、阿里默认为空 */'content' => '【短信宝】您的验证码是'.$code.'您好',//]; // 连接本地redis服务$redis=new \Redis();$redis->connect('127.0.0.1',6379); // 设置redis字符串数据$redis->set($tel.'code',$code,60); // cache($tel."code",$code,60);cache($tel.'checkCode',$code,300);return success($code,200,'验证码发送成功'); // $result = $smsObj->send($config); // dd($result); // $result='短信发送成功'; // if($result=='短信发送成功'){ // cache('code',$tel.$code,60); // }}}
逻辑处理business
<?phpnamespace app\business;class CheckCode { // 获取验证码public static function getCode($tel){//连接本地的 Redis 服务$redis = new \Redis();$redis->connect('127.0.0.1', 6379);// 获取存储的数据并输出$code=$redis->get($tel.'code'); // $code = cache($tel."code");if (!empty($code)) {return false;}return true;} // 验证验证码public static function checkCode($tel,$code){$checkCode = cache($tel.'checkCode'); // dd($checkCode);if (empty($checkCode)) {return '验证码已过期';}if ($code!=$checkCode) {return fail('验证码错误');}return success($tel,200,'登录成功');} }
核心 //发送验证码function getPhone(Request $request){$postData=$request->param();$checkData=\app\model\Login::searchPwd($postData['tel']);if(!$checkData){return fail('手机号不存在');}$tel=$request->get('tel');$code=CheckCode::getCode($tel);if(!$code){return fail("短信发送频繁");}$result=Msg::getPhone($tel);return $result;}//验证验证码function telData(Request $request){$postData=$request->param();try {$checkData=\app\model\Login::searchPwd($postData['tel']);if(!$checkData){return fail('手机号不存在');}$code=CheckCode::checkCode($postData['tel'],$postData['code']);return $code;}catch (DbEventException $exception){return fail('数据库异常');}}
thinkphp6 lib短信宝短信验证码封装相关推荐
- NIUSHOP商城系统短信宝短信插件
配置方式: 一:本插件针对NIUSHOP商城程序开发,插件内的所有文件除Smsbao.php文件外,均为对原文件的修改,如果你的系统经过二次开发,安装本插件之前,请仔细核对修改. 二:把下载好的NIU ...
- 彩虹易支付新增短信宝短信接口
彩虹易支付系统,专注于聚合支付网站解决方案提供.小编对这款系统还比较了解,今天就以替换短信接口为例为大家讲解一下如何进行二次开发,使用的短信接口是我们短信宝短信群发平头的短信接口,我们短信宝短信群发平 ...
- DsMall商城新增短信宝短信接口
DSMall基于国内优秀开源框架THinkPHP.打造出的一套开源的B2B2C电子商务系统.小编带着大家一起开发DSMall商城2.5.3的短信宝插件接口.我们使用的短信接口是短信宝短信群发平台的短信 ...
- WordPress安装短信宝短信插件教程
wordpress v4.x utf8 短信宝插件-1.0基础版下载 wordpress v4.x utf8 短信宝插件-1.1加强版下载 wordpress v5.x utf8 短信宝插件-1.2下 ...
- WordPress短信宝短信插件
WordPress是使用PHP语言开发的博客平台,也可以把 WordPress当作一个内容管理系统(CMS)来使用.它是使用PHP语言和MySQL数据库开发的.WordPress有许多第三方开发的免费 ...
- ThinkPHP6集成腾讯云、短信宝短信发送的工具类
composer安装 composer require mrwanghongda/sms-sdk 代码: use Mrwanghongda\SmsSdk\Sms\SmsFactory;/*** 短信宝 ...
- 思途旅游CMS短信宝短信插件
思途旅游CMS是一款旅游网站建设的管理系统,二次开发进行功能扩展很方便.我们公司最近接到了一个客户的二次开发业务.需求中有一项就是替换原来的短信接口,因为原来的短信接口不稳定,我这里给他推荐了短信宝的 ...
- php对接短信宝,DEDECMS短信宝短信插件
配置方式: 一. 登入dedecms的后台,选择系统 -> 会员设置 -> 在是否开启会员功能选择"是".保存. 二.在系统 -> sql命令行工具 –> ...
- 青柚im安装短信宝短信插件教程
青柚im短信宝插件下载 1:安装本插件直接覆盖系统原文件,本插件内所有文件均系短信宝在系统原文件的基础上进行了部分修改,如果您的系统经过二次开发,安装本插件之前请您仔细核对插件文件,以免造成不便. 2 ...
最新文章
- C++负数、小数如何保存
- android ios 上传图片到服务器,.net 接收ios, android的上传图片
- 如何解决get和post乱码问题?
- Netflix 的上线工具 Spinnaker
- 【Python学习】 - 手写数字识别 - python读入mnist数据集的多种方法
- 数字类型转换 --Python3
- python des加密文件_Python DES加密解密方法 pyDes库 兼容中文
- n对括号问题,(求n对括号的正确排列有多少)
- rails与mysql之间中文数据显示不一致的问题
- Oracle数据库中scott用户不存在的解决方法
- activity的跳转
- mybatis foreach标签的使用
- 一款开源的截图神器,支持 macOS/Windows/Linux
- 在线Api接口,网易云音乐api数据完整接口文档,QQ音乐在线api接口文档,电商api开放数据接口文档分享,小说ap接口,漫画api接口
- 计算机综述论文能发期刊吗,发表计算机算法论文的sci期刊
- 5种最流行的密码破解工具:保护您的账号
- 使用STK卫星轨道无法显示——解决方法
- Ubuntu还需要做什么才能替代Windows
- LeetCode 322. 零钱兑换***
- 帝国cms html广告,帝国后台管理-广告系统插件 - 搜外设计社
热门文章
- ACS712中文资料_描述(电流传感器)
- App邀请注册如何提高效率
- vivoiqooz1鸿蒙系统,vivoiqooz1x参数配置详情_iqoo z1x详细参数跑分
- 天道酬勤系列之C++ 循环介绍
- 计算机图形学(四)几何变换_3_矩阵逆变换
- python实现双屏情况下,第二个屏播发视频
- SVN常用命令之merge(合并)
- 2021.1.26课程摘要(逻辑教育-王劲胜)
- Azure VM加速网络
- 微型计算机原理与接口课后习题,求《微型计算机原理与接口技术》的课后习题答案。...