美文网首页
laravel5.4-阿里大鱼发送短信

laravel5.4-阿里大鱼发送短信

作者: 吴涛涛 | 来源:发表于2017-05-27 14:59 被阅读0次

    一、配置

    1.从终端或命令行进入您的项目目录,运行

    composer require iscms/alisms-for-laravel

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

    iscms\Alisms\AlidayuServiceProvider::class,

    3.在项目根目录执行

    php artisan vendor:publish

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

    env('ALISMS_KEY',null),'SECRETKEY'=>env('ALISMS_SECRETKEY',null),    ];

    5.然后您需要在您项目的.ENV配置文件中写入 SMS 配置 例如

    ALISMS_KEY=31663166  ALISMS_SECRETKEY=**************

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

    二、开始使用

    1.首先在命名空间里引入

    namespace  App\Http\Controllers\home;

    use  App\Http\Controllers\Controller;

    use  Illuminate\Support\Facades\RedisasRedis;

    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(!empty($exists)){

    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");

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

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

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

    }else{

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

    }

    }

    返回执行发送的结果

    参数说明

    在开始使用中send方法一共加入了4个参数

    $phone,$name,$content,$code

    $phone指接受短信方的短信号码,$name指短信签名 可以在阿里大鱼短信签名http://www.alidayu.com/admin/service/sign找到$content是指短信模板中的变量内容.举个例子

    在自己的阿里大鱼模板里面有下面一个短信模板

    那么里面存在着2个变量需要替换,一个是${code},一个是${product}

    那么对应的我们的$content 就应该为

    {code:"生成的验证码",  product:"示例项目"}

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

    相关文章

      网友评论

          本文标题:laravel5.4-阿里大鱼发送短信

          本文链接:https://www.haomeiwen.com/subject/xfsqfxtx.html