一、配置
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