laravel 发送短信

1.路由

Route::get("/sendsms","Home\SmsController@sendsms");//发送短信

2.控制器

SmsController

<?php

namespace APP\Http\Controllers\Home;

use App\Http\Controllers\Controller;

use App\Models\Sms;

use Illuminate\Http\Request;

use Illuminate\Http\Response;

/**

* 短信发送控制器

*

* 作者:gs.wang

* 时间:2018年6月6日

*/

class SmsController extends Controller{

public function sendsms(Request $request){

$Sms=new Sms();

$phone=$request->get('phone');

$response = $Sms->sendsms($phone);

return new Response($response);

}

}

3.config

config/sms.php;

<?php

return [

'appid' => 1400064604,

'appkey' => "自己在对应平台获取",

'templateId' => 82187,

'smsSign' => "艺朝艺夕教育集团",

];

4.安装composer.json 发短信插件

"require": {

"php": "^7.1.3",

"fideloper/proxy": "^4.0",

"illuminate/html": "^5.0",

"laravel/framework": "5.6.*",

"laravel/tinker": "^1.0",

"laravelcollective/html": "^5.5",

"maatwebsite/excel": "~2.1.0",

"zizaco/entrust": "^1.9",

"qcloudsms/qcloudsms_php": "^0.1.1" //短信插件

},

5.建立Sms的Model

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

use Illuminate\Support\Facades\Cache;

use Qcloud\Sms\SmsSingleSender;

use Illuminate\Http\Response;

class Sms {

public function sendsms($phones){

$code = rand(100000, 999999);

// echo $phones;exit;Cache

$templateId = 86954;

$params = [$code];

Cache::put($phones, $code, 120);

$sign = "";

try {

$ssender = new SmsSingleSender(config('sms.appid'), config('sms.appkey'));

$result = $ssender->sendWithParam("86", $phones, $templateId, $params, $sign, "", "");

$rsp = json_decode($result);

$response = ['msg' => $rsp->errmsg, 'status' => $rsp->result];

} catch (\Exception $e) {

$response = ['msg' => $e];

}

return $response;

}

}

猜你喜欢

转载自blog.csdn.net/angelo_gs/article/details/80986043