Laravel 阿里大鱼短信接口

转载 2016年10月16日 17:15:32

配置

从终端或命令行进入您的项目目录执行

// 拉取阿里大鱼组件composer require iscms/alisms-for-laravel

在 config/app.php 的 providers 数组中配置

iscms\Alisms\AlidayuServiceProvider::class,

在项目根目录执行

// 生成配置文件php artisan vendor:publish

你的 config 目录应该增加了 alisms.php 配置文件

<?php

return [ '

          KEY' =>env('ALISMS_KEY',null), 

          'SECRETKEY'=>env('ALISMS_SECRETKEY',null),

];

然后你需要在你项目的 .ENV 配置文件中写入 SMS 配置

ALISMS_KEY=31663166

ALISMS_SECRETKEY=**************

此处 ALISMS_SECRETKEY 是指你的账户应用密码, 请勿透露给他人.

开始使用

博主项目示例, 首先在命名空间里引入, 然后拼接发送参数再发送.

<?php

 namespace App\Http\Controllers\home;

 use App\Http\Controllers\Controller;

use Illuminate\Support\Facades\Redis as Redis;

// 引入阿里大鱼命名空间

use iscms\Alisms\SendsmsPusher as Sms;

class RegisterController extends Controller 

    public $sms; 

   public function __construct(Sms $sms)

   $this->sms = $sms;

  public function code(Request $request)

  $input = $request->all(); // 判断该手机在10分钟内是否已经发过短信

  $exists = \Redis::exists('IT:STRING:USER:CODE:'.$input['phone']);

   if($exists === true){

    return response()->json(['ResultData '=> '失败', 'info' => '重复发送']);

// 生成随机号码

$num = rand(100000,999999); // 组装参数

$smsParams = [ 

   'code' => $num, 

   'product' => '案例展示'

];

 // 需要参数

 $phone = $input['phone'];  

 $name = '注册验证'; 

 $content = json_encode($smsParams); 

 $code = 'SMS_3166316'; // 发送验证码方法

$data = $this->sms->send($phone, $name, $content, $code); // 检查对象是否具有 result 属性

if(property_exists($data, 'result')){ 

  // 设置一个 60 秒过期的 Redis String 类型

\Redis::sEtex('IT:STRING:USER:CODE:' . $phone, 600, $num); 

return response()->json(['ResultData' => '成功', 'info' => '已发送']);

}else{ 

return response()->json(['ResultData' => '失败', 'info' => '重复发送']);

}

}

参数

send 方法参数

  • $phone 指接受短信方的短信号码

  • $name 指短信签名 可以在阿里大鱼短信签名 http://www.alidayu.com/admin/service/sign 找到

  • $content 是指短信模板中的变量内容

在自己的阿里大鱼模板里面有下面一个短信模板, 那么里面存在着 2 个变量需要替换, 一个是 ${code}, 一个是 ${product}, 那么对应的我们的 $content 就应该为

{

code: "生成的验证码",

product: "示例项目"}

$code 指在阿里云中的模板 ID, 上面的例子中使用了一个身份验证模板, 那 $code 应该填写 SMS_3166316.

来源于:http://aabvip.com

相关文章推荐

laravel5.4使用Laravel Sms和阿里云短信服务实现短信验证码功能

laravel 实现短信验证码功能,搜索资料发现比较流行的有两个包: 一个是laravel sms 地址  https://github.com/toplan/laravel-sms  一个是easy...
  • fjnjxr
  • fjnjxr
  • 2017年08月02日 15:18
  • 2121

laravel中实现短信发送验证码

前段时间想实现一个短信验证码的功能,但是卡了很长时间。 首先我用的是阿里云的短信服务业务,其首次接入流程如下: 在阿里云上开通短信服务后需要做的: 1,申请签名  2,申请模...

Laravel 使用 aliyun-oss

对象存储 ( Object Storage Service, 简称 OSS ) OSS 相信大家都听过, 它是阿里云对外提供的海量, 安全和高可靠的云存储服务. 大家可以把自己网站的资源存上面加快自己...

php操作阿里云短信API接口

最近公司短信到期了,我看到阿里云里面有个短信验证码服务,价格非常低,每条最高4分半,3秒可到,于是就申请了. 可是后面很难用,找不到例子代码,然后自己摸索,也咨询了阿里云的工作人员,花了2天才搞定,...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

阿里大鱼,阿里短信,laravel5

https://github.com/hyperbolaa/Alisms

阿里大鱼短信接口PHP版,精简版阿里大鱼短信SMS发送接口PHP实例

修改其中4个参数后把代码复制到你的PHP空间,访问即可输入手机号码,发送验证码。这是个参考。 阿里大鱼的短信到达速度快,价格便宜。...

php发送短信(调用阿里大鱼接口)

调用阿里大鱼接口,实现短信发送 // $msg = "{\"name\":\"{$o_booking}\",\"orderid\":\"{$ordercode}\"}"; // $...

thinkphp3.2 如何使用 阿里大鱼短信接口

1 在开发者控制平台里下载sdk 2 解压后放在ThinkPHP\Library\Org\Alidayu下(Alidayu名字是自定义的) 3 修改其中的4个文件.php 改为 .class.ph...

php短信接口(阿里大鱼)

接口文件在阿里大鱼官方手册内有      public function alidayu($mobile){         include VENDOR_DIR ."/alidayu/TopSd...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Laravel 阿里大鱼短信接口
举报原因:
原因补充:

(最多只允许输入30个字)