Laravel 阿里大鱼短信接口「建议收藏」

(42) 2023-07-14 13:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Laravel 阿里大鱼短信接口「建议收藏」,希望能够帮助你!!!。

配置

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

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

config/app.phpproviders 数组中配置

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 是指你的账户应用密码, 请勿透露给他人.

开始使用

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

<?phpnamespace 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

上一篇

已是最后文章

下一篇

已是最新文章

发表回复