1.发送短信封装类
<?phpnamespace App\Tools;use Redis;
use App\Tools\ChuanglanSmsApi;
use App\Tools\WeilinkSmsApi\SmsCommitSender;
use Log;class SmsSender {protected $mobile;protected $type;protected $smsToken;protected $expire = 300;protected $channel;protected $param;/*** [__construct description]* @param $mobile   手机号码* @param $type     发送验证码类型1注册2修改手机号码3修改密码4登录* @param $smsToken 唯一标示* @param $channel  渠道1创蓝2微网通* @param $param*/public function __construct($data=null) {$this->mobile = $data['mobile'];$this->type = $data['type'];$this->smsToken = $data['smsToken'];$this->channel = $data['channel'];$this->param = $data['param'];$this->handle();}/*** Execute the job.** @return void*/public function handle() {$sms = new ChuanglanSmsApi();$code = $this->generateCode();$token = $this->smsToken;$redis = new Redis();$redis->connect('127.0.0.1', 6379);switch ($this->type) {case 1://注册$redis->set('register' . $token, $code);$redis->expire('register' . $token, $this->expire);break;case 2://修改手机号码$redis->set('updatePhone' . $token, $code);$redis->expire('updatePhone' . $token, $this->expire);break;case 3://修改密码$redis->set('updatePass' . $token, $code);$redis->expire('updatePass' . $token, $this->expire);break;case 4://登录$redis->set('login' . $token, $code);$redis->expire('login' . $token, $this->expire);break;default:$redis->set('sms' . $token, $code);$redis->expire('sms' . $token, $this->expire);break;}if($this->type > 4){$template =  $this->templateBorrow($this->param);}else{$template =  $this->template($this->type, $code);}switch ($this->channel) {case 1://创蓝短信发送调用try{$clapi = new ChuanglanSmsApi();$result = $clapi->sendSMS($this->mobile, $template);$rsp = json_decode($result, true);if(array_key_exists('code', $rsp) && $rsp["code"] == '0' ){return true;}}catch(\Exception $e){Log::error('创蓝短信发送失败'.$e);return false;}break;case 2://微网通短信发送try {$send = new SmsCommitSender('dljjjh00', 'jjjh02071');$result = $send->send(30304, '1012808', [$this->mobile], '【久久聚合】'.$template, '', '');$rsp = json_decode($result, true);if(array_key_exists("Result", $rsp) && $rsp["Result"] == "succ" ){return true;}} catch (\Exception $e) {Log::error('微网通短信发送失败'.$e);return false;}break;default:break;}}public function generateCode($length = 4, $characters = null){$characters = $characters ?: '0123456789';$charLength = strlen($characters);$randomString = '';for ($i = 0; $i < $length; ++$i) {$randomString .= $characters[mt_rand(0, $charLength - 1)];}return $randomString;}/**1注册2修改手机号码3修改密码4本人登陆*/public function template($type, $code=null){$Template = [1 => '您好,您的验证码为'.$code.'。5分钟内有效,请及时完成验证。此验证码仅用于您本人注册使用,打死也不要告诉别人哦!',2 => '您好,您的验证码为'.$code.'。5分钟内有效,请及时完成验证。此验证码仅用于您本人修改绑定手机号,打死也不要告诉别人哦!',3 => '您好,您的验证码为'.$code.'。5分钟内有效,请及时完成验证。此验证码仅用于您修改密码使用,打死也不要告诉别人哦!',4 => '您好,您的验证码为'.$code.'。5分钟内有效,请及时完成验证。此验证码仅用于您本人登录使用,打死也不要告诉别人哦!',];return $Template[$type];}/*** 发送模版消息* 5月付审核通过 */public function templateBorrow($param){$arr = ['type'=>$param['type'],'partnername'=>$param['partnername'],'reason'=>$param['reason'],'periods'=>$param['periods'],'money'=>$param['money'],'time'=>$param['time'],'banknum'=>$param['banknum'],'uname'=>$param['uname'],'directorName'=>$param['directorName'],];$Template = [5 => "您在{$arr['partnername']}订单审核已通过。友情提示:1.请注意查收短信并保证交费日当天银行卡内余额充足,届时系统将自动从账户中扣除。如有疑问,请拨打客服热线咨询,感谢您对久久聚合的支持",];return $Template[$param['type']];}}

2、调用短信发送

// 1.短信通知
$template['type'] = $templatetype;
$params['mobile'] = $UserLogin['mobile'];
$params['type'] = $templatetype;
$params['smsToken'] = $UserLogin['mobile'];
$params['param'] = $template;
$smscontroller = new SmsController();
$res = $smscontroller->sendTemplate($params);

laravel框架发送短息消息(微网通短信和创蓝短息)相关推荐

  1. PHP Laravel框架 微信模板消息发送

    laravel框架 微信模板消息发送 /*** 发送模板消息*/public function add(Request $request,$id){$house_data = House::find( ...

  2. 阿里大于发送短信(用户微服务--消息微服务)

    阿里大于官网 官网流程文档: https://help.aliyun.com/document_detail/55284.html?spm=a2c4g.11186623.6.567.77f914d1Q ...

  3. GMP聚合消息服务平台新版上线——主打融合短信、微信、邮件、App push的一站式消息发送与管控

    随着我国经济高质量的发展和人口红利效应放缓,"降本增效"成为企业可持续发展与增加竞争力的关键.但在企业运营管理中,各领域的消耗内卷屡见不鲜,企业通信也不例外. 互联网进入全新发展时 ...

  4. 极光 php 自定义消息,laravel框架使用极光推送消息操作示例

    本文实例讲述了laravel框架使用极光推送消息.分享给大家供大家参考,具体如下: 最近需要使用极光推送往客户端推消息,所以这里记录下使用过程. 极光推送的服务端文档: https://docs.ji ...

  5. php极光推送教程,laravel框架使用极光推送消息操作示例

    本文实例讲述了laravel框架使用极光推送消息.分享给大家供大家参考,具体如下: 最近需要使用极光推送往客户端推消息,所以这里记录下使用过程. 极光推送的服务端文档: https://docs.ji ...

  6. 公纵号发送提示信息(用户微服务--消息微服务)

    公纵号发送提示信息(用户微服务–消息微服务) 微信消息的集成(微信公众号) 场景:主要用于商城购买提示,金额提醒,活动广告等 申请微信测试号(和微信小程序有区别) https://mp.weixin. ...

  7. springboot实现短信发送验证码及消息队列发送注册成功短信

    需要源码小伙伴可以到微信小程序:"MINIIT资源库"获取,作者承诺免费 PS:在编写功能之前,需要得到阿里云短信服务API: 使用消息队列(mq)可以将主业务和副业务分离,主业务 ...

  8. laravel框架中微信公众号推送消息

    首先呢,大家都知道微信公众号是我们现在微信的一个重要功能,那么下面到带大家分享一下微信公众号的基本消息推送,如图首先访问 https://mp.weixin.qq.com/debug/cgi-bin/ ...

  9. php laravel 框架 APP_KEY 的作用

    目录 Laravel 安全修复 什么是 APP_KEY? 关于密码哈希的常见误解 加密与散列 对称加密 单向哈希 更改密钥 多台服务器 现有用户的 sessions (cookies) 您已加密的其他 ...

最新文章

  1. 解决windows显示开启HDR后chrome内截图泛白问题
  2. Elasticsearch之search搜索入门
  3. java 安装报错2503_Windows安装Node.js报错:2503、2502的解决方法
  4. 【PHP】php生成一个不重复的数字(订单号、会员号)
  5. 华南农业大学计算机专业学硕20,2020年华南农业大学计算机应用技术考研经验分享...
  6. key_t IPC键和ftok函数详解和剖析
  7. 赫夫曼树编码的算法及应用习题--数据结构
  8. 可信云十年,重磅研究成果与2021云计算十大关键词悉数发布
  9. 动态规划 NOIP经典问题 开心的金明(洛谷P1060题题解,Java语言描述)
  10. JS-数据类型转换-运算符
  11. PL/SQL编程的简单学习
  12. android软件欢迎界面,Android应用中实现一个软件启动的欢迎界面
  13. FFMpeg写MP4文件例子分析
  14. Win7如何修改开机动画
  15. 第二章 02 天牛质感
  16. 穿女装上班的大厂程序员:我知道自己是个男生
  17. LeetCode题解目录
  18. 中年网易,生存像是一种幸运
  19. 柯西导数与鲁宾逊导数之比较
  20. 12pm 是中午12点 还是晚上12点 ??

热门文章

  1. 控制浏览器自带返回按钮
  2. Redis学习之hincrby命令
  3. 微信小程序文本查看更多和收起
  4. 如何应用6种领导风格提升领导力
  5. 研华工控机硬盘灯不长亮 【转自微信公众号网管爱好者】
  6. 成语词典 API数据接口
  7. Vue微信公众号分享全过程
  8. 板绘人物侧脸怎么画?新手一看就会!
  9. 微信小程序第六篇:元素吸顶效果实现
  10. linux移植过程注意事项,linux移植过程的错误记录