php7.3使⽤Laravel框架发送腾讯云短信验证码服务
⽂档时间:2020年8⽉4⽇ 22:12:10
1、申请⼀系列操作
步骤如下:
1、申请 SDK AppID 以及 App Key
2、申请签名
3、申请模板
4、创建⼀个应⽤
5、在laravel中配置腾讯云的sdk
⽬前2.0版本的 API 和 SDK 功能依然保持,未来可能停⽌维护。短信 API 已升级到3.0版本,后续短信相关新增功能都会在全新的  和  中更新。我们强烈推荐您使⽤最新的 API 3.0 接⼝以及配套的 SDK 3.0。
laravel框架版本:6.18.20
.    3.0的SDK地址
t/smsv2/guide
2.0的旧版本地址:
t/document/product/382/5804
需要创建⼀个应⽤的咯:
1. php的sdk⽂档的地址如下:
2.
⼆、集成SDK到项⽬中(使⽤2.0旧版)⽬前就使⽤⼀个单发短信的功能,其余功能多余,就⾃义定SDK内容
新建⼀个handle类:
⽂件内容如下:
<?php
namespace App\Handlers;
/**
* 腾讯云短信发送Util类
* 2020年7⽉28⽇17:46:22
*/
class QmsgSendHandler
{
/**
* ⽣成随机数
*
* @return int 随机数结果
*/
public function getRandom()
{
php8兼容php7吗
return rand(100000, 999999);
}
/**
* ⽣成签名
*
* @param string $appkey sdkappid对应的appkey
* @param string $random 随机正整数
* @param string $curTime 当前时间
* @param array $phoneNumbers ⼿机号码
* @return string 签名结果
*/
public function calculateSig($appkey, $random, $curTime, $phoneNumbers) {
$phoneNumbersString = $phoneNumbers[0];
for ($i = 1; $i < count($phoneNumbers); $i++) { $phoneNumbersString .= ("," . $phoneNumbers[$i]);
}
return hash("sha256", "appkey=".$appkey."&random=".$random
."&time=".$curTime."&mobile=".$phoneNumbersString);
}
/**
* ⽣成签名
*
* @param string $appkey sdkappid对应的appkey
* @param string $random 随机正整数
* @param string $curTime 当前时间
* @param array $phoneNumbers ⼿机号码
* @return string 签名结果
*/
public function calculateSigForTemplAndPhoneNumbers($appkey, $random, $curTime, $phoneNumbers)
{
$phoneNumbersString = $phoneNumbers[0];
for ($i = 1; $i < count($phoneNumbers); $i++) {
$phoneNumbersString .= ("," . $phoneNumbers[$i]);
}
return hash("sha256", "appkey=".$appkey."&random=".$random
."&time=".$curTime."&mobile=".$phoneNumbersString);
}
public function phoneNumbersToArray($nationCode, $phoneNumbers)
{
$i = 0;
$tel = array();
do {
$telElement = new \stdClass();
$telElement->nationcode = $nationCode;
$telElement->mobile = $phoneNumbers[$i];
array_push($tel, $telElement);
} while (++$i < count($phoneNumbers));
return $tel;
}
/**
* ⽣成签名
*
* @param string $appkey sdkappid对应的appkey
* @param string $random 随机正整数
* @param string $curTime 当前时间
* @param array $phoneNumber ⼿机号码
* @return string 签名结果
*/
public function calculateSigForTempl($appkey, $random, $curTime, $phoneNumber)
{
$phoneNumbers = array($phoneNumber);
return $this->calculateSigForTemplAndPhoneNumbers($appkey, $random, $curTime, $phoneNumbers);
}
/**
* ⽣成签名
*
* @param string $appkey sdkappid对应的appkey
* @param string $random 随机正整数
* @param string $curTime 当前时间
* @return string 签名结果
*/
public function calculateSigForPuller($appkey, $random, $curTime)
{
return hash("sha256", "appkey=".$appkey."&random=".$random
."&time=".$curTime);
}
/**
* ⽣成上传⽂件授权
*
* @param string $appkey sdkappid对应的appkey
* @param string $random 随机正整数
* @param string $curTime 当前时间
* @param array $fileSha1Sum ⽂件sha1sum
* @return string 授权结果
*/
public function calculateAuth($appkey, $random, $curTime, $fileSha1Sum) {
return hash("sha256", "appkey=".$appkey."&random=".$random
."&time=".$curTime."&content-sha1=".$fileSha1Sum);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。