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;
}
}