目录
第一步:composer 安装
composer require mrwanghongda/sms-sdk
第二步 :封装类
(这里建议您封装一下 显得有高逼格 如果不想封装 可以直接把这个静态方法中的东西复制到控制器)
<?php
namespace 自拟
use 找到SmsFactory类
class Code
{
/**
* 封装的手机号验证码 调用的时候传递电话号码
* @param $tel
*/
public static function phoneCode($tel)
{
//随机验证码
$code = rand(1001,9999);
//工厂模式
//短信宝:SMS_BAO
//腾讯云:SMS_TENCENT
//阿里云:SMS_ALIYUN
//这里用来替换 SmsFactort类调用的方法 用的哪一款软件就替换那个对应方法
$smsObj = (new SmsFactory(SmsFactory::SMS_BAO))->getSmsService();
/* 必要步骤:
* 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
* 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
* 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
* 以免泄露密钥对危及你的财产安全。
* CAM密匙查询: https://console.cloud.tencent.com/cam/capi*/
$config = [/* 填写平台对应的CAM密匙secretId,短信宝填写平台账号*/
'secretId' => '',
/* 填写平台对应的CAM密匙secretKey,短信宝填写平台密码*/
'secretKey' => '',
/* 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666 ,短信宝默认为空*/
'smsSdkAppId' => '',
/* 验证码,示例如5039 */
'code' => $code,
/* 填写腾讯、阿里平台对应的签名内容,短信宝则默认为空 */
'signName' => '',
/* 发送的手机号,示例如17899873465 */
'tel' => $tel,
/* 模板 ID: 必须填写已审核通过的模板 ID。模板ID可登录 [短信控制台] 查看 */
'templateId' => "",
/* 模板发送的短信内容,短信宝则需要填写 如:"【短信宝】您的验证码是"5390",3分钟有效。", 腾讯、阿里默认为空 */
'content' => '【短信宝】您的验证码是'.$code.',3分钟有效。'];
//发送
$result = $smsObj->send($config);
//返回值 你也可以返回$config['code'] 专门用来返回验证码 做验证
return $config;
}
}