一、配置
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=********
ALISMS_SECRETKEY=**************
此处ALISMS_SECRETKEY是指您的账户应用密码,请勿透露给他人
没有账户的可以去官网申请
阿里大于官网 http://netease.im/
二、开始使用
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)
{
$phone = '18733552266';
//随机产生验证码
$num = rand(100000, 999999);
//获取用户手机号
$smsParams = [
'code' => "$num",
'phone' => "$phone"
];
Log::info('验证码' . '---' . $num);
Log::info(gettype($phone) . '---' . gettype($phone));
//短信签名
$name = '小白';
//验证码
$content = json_encode($smsParams);
//短信模板Id
$code = 'SMS_45680144';
$data = self::$sms->send("$phone", "$name", "$content", "$code");
if (property_exists($data, 'result')) {
return true;
} else {
Log::erro('手机验证码发送失败');
return false;
}
}
}
返回执行发送的结果
参数说明
在开始使用中 send 方法一共加入了4个参数
$phone,$name,$content,$code
name 指短信签名 可以在阿里大鱼短信签名 http://www.alidayu.com/admin/service/sign 找到
$content 是指短信模板中的变量内容.举个例子
在自己的阿里大鱼模板里面有下面一个短信模板
那么里面存在着2个变量需要替换,一个是{phone}
那么对应的我们的$content 就应该为
{
code:"生成的验证码",
phone:"18733552266"
}
code 应该填写 SMS_45680144