一、配置
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配置文件
<?php
return [
'KEY' =>env('ALISMS_KEY',null),
'SECRETKEY'=>env('ALISMS_SECRETKEY',null),
];
5.然后您需要在您項目的.ENV
配置文件中寫入 SMS 配置 例如
ALISMS_KEY=31663166
ALISMS_SECRETKEY=**************
此處ALISMS_SECRETKEY
是指您的賬戶應用密碼,請勿透露給他人
二、開始使用
1.首先在命名空間里引入
<?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(!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
【原文地址】
Laravel 集成 阿里大于 短信接口