阿里云短信服务验证码封装 v1.0.1【flc/dysms】
1.引入 composr 包
composer require flc/dysms
2. 阿里云短信服务验证码封装类 v1.0.1
<?php
use Flc\Dysms\Client;
use Flc\Dysms\Request\SendSms;
Dysms::setConfig([
'signName' => 'it社区',
'templateCode' => 'SMS_17929xxxx',
'accessKeyId' => 'LTAI4GJ6iaE7ij5YiGRgxxxx',
'accessKeySecret' => 'uljdxDoi8ocXNscPriqwl5xxxxx',
]);
$arr = Dysms::sendSms(1503784xxxx);
var_dump($arr);
* 阿里大于短信验证码封装
* composer require flc/dysms
*
* @author liang <23426945@qq.com>
* @version 1.0.1
* @homepage www.itqaq.com 辰风沐阳
* @datetime 2020-08-04 last modify time
*
* 阿里云短信服务默认流控
* 同一个签名同一个手机号短信验证码 1条/分钟
*/
class Dysms
{
private static $accessKeyId;
private static $accessKeySecret;
private static $signName;
private static $templateCode;
* 私有化构造方法
* 禁止类在外部被实例化
*/
private function __construct(){}
* 设定配置参数
*/
public static function setConfig($config)
{
self::$accessKeyId = $config['accessKeyId'];
self::$accessKeySecret = $config['accessKeySecret'];
self::$signName = $config['signName'];
self::$templateCode = $config['templateCode'];
}
* 查看配置参数
* Dysms::showConfig()
*/
public static function showConfig()
{
return [
'accessKeyId' => self::$accessKeyId,
'accessKeySecret' => self::$accessKeySecret,
'signName' => self::$signName,
'templateCode' => self::$templateCode,
];
}
* 传入手机号发送短信验证码
* @param int $phoneNumbers 手机号
* @return array ['result' => true, 'msg' => '发送成功', 'verCode' => 370449]
*/
public static function sendSms($phoneNumbers)
{
$client = new Client([
'accessKeyId' => self::$accessKeyId,
'accessKeySecret' => self::$accessKeySecret,
]);
$sendSms = new SendSms;
$verCode = mt_rand(100000, 999999);
$sendSms->setPhoneNumbers($phoneNumbers);
$sendSms->setSignName(self::$signName);
$sendSms->setTemplateCode(self::$templateCode);
$sendSms->setTemplateParam(['code' => $verCode]);
$sendSms->setOutId('demo');
$result = $client->execute($sendSms);
if ($result->Code === 'OK') {
return [
'result' => true,
'msg' => '发送成功',
'verCode' => $verCode
];
} else {
return [
'result' => false,
'code' => $result->Code,
'msg' => self::errorMsg($result->Code, $result->Message)
];
}
}
* 错误信息code转换中文提示
*/
private static function errorMsg($code, $msg)
{
$errorMsg = [
'isv.ACCOUNT_NOT_EXISTS' => '使用了错误的账户名称或AK',
'isv.ACCOUNT_ABNORMAL' => '账户异常,请确认账号信息',
'isv.MOBILE_NUMBER_ILLEGAL'
本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!
从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!
本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。
本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。
本文链接:https://www.10zhan.com/biancheng/10447.html