一、配置
1.從終端或命令行進(jìn)入您的項(xiàng)目目錄,運(yùn)行
composer require iscms/alisms-for-laravel
2.在config/app.php的providers數(shù)組中配置
iscms\Alisms\AlidayuServiceProvider::class,
3.在項(xiàng)目根目錄執(zhí)行
php artisan vendor:publish
4.您的config目錄應(yīng)該增加了alisms.php配置文件
env('ALISMS_KEY',null),'SECRETKEY'=>env('ALISMS_SECRETKEY',null),? ? ];
5.然后您需要在您項(xiàng)目的.ENV配置文件中寫入 SMS 配置 例如
ALISMS_KEY=31663166? ALISMS_SECRETKEY=**************
此處ALISMS_SECRETKEY是指您的賬戶應(yīng)用密碼,請(qǐng)勿透露給他人
二谨敛、開始使用
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();// 判斷該手機(jī)在10分鐘內(nèi)是否已經(jīng)發(fā)過(guò)短信
$exists= \Redis::exists('IT:STRING:USER:CODE:'.$input['phone']);
if(!empty($exists)){
return response()->json(['ResultData'=>'失敗','info'=>'重復(fù)發(fā)送']);
}
$num= rand(100000,999999);
$smsParams= [
'code'=>"$num",
'product'=>'案例展示'
];
$phone="$input[phone]";
$name='注冊(cè)驗(yàn)證';
$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'=>'已發(fā)送']);
}else{
return response()->json(['ResultData'=>'失敗','info'=>'重復(fù)發(fā)送']);
}
}
}
返回執(zhí)行發(fā)送的結(jié)果
參數(shù)說(shuō)明
在開始使用中send方法一共加入了4個(gè)參數(shù)
$phone,$name,$content,$code
$phone指接受短信方的短信號(hào)碼,$name指短信簽名 可以在阿里大魚短信簽名http://www.alidayu.com/admin/service/sign找到$content是指短信模板中的變量?jī)?nèi)容.舉個(gè)例子
在自己的阿里大魚模板里面有下面一個(gè)短信模板
那么里面存在著2個(gè)變量需要替換,一個(gè)是${code},一個(gè)是${product}
那么對(duì)應(yīng)的我們的$content 就應(yīng)該為
{code:"生成的驗(yàn)證碼",? product:"示例項(xiàng)目"}
$code指在阿里云中的模板ID,上面的例子中使用了一個(gè)身份驗(yàn)證模板,那$code應(yīng)該填寫SMS_3166316