1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- // This file is auto-generated, don't edit it. Thanks.
- namespace app\utils;
- use think\facade\Env;
- use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi;
- use AlibabaCloud\Tea\Utils\Utils;
- use Darabonba\OpenApi\Models\Config;
- use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest;
- use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
- use app\model\SmsLog;
- class AliyunSmsUtils {
- /**
- * 使用AK&SK初始化账号Client
- * @param string $accessKeyId
- * @param string $accessKeySecret
- * @return Dysmsapi Client
- */
- public static function createClient($accessKeyId, $accessKeySecret){
- $config = new Config([
- // 必填,您的 AccessKey ID
- "accessKeyId" => $accessKeyId,
- // 必填,您的 AccessKey Secret
- "accessKeySecret" => $accessKeySecret
- ]);
- // 访问的域名
- $config->endpoint = "dysmsapi.aliyuncs.com";
- return new Dysmsapi($config);
- }
- /**
- * 发送验证码
- */
- public static function sendSms($phone, $code)
- {
- $access_key_id = Env::get('aliyun.access_key_id');
- # 必填,您的 AccessKey Secret
- $access_key_secret = Env::get('aliyun.access_key_secret');
- # 短信签名名称
- $sign_name = Env::get('aliyun.sign_name');
- # 短信模板CODE
- $template_code = Env::get('aliyun.template_code');
- $client = self::createClient($access_key_id, $access_key_secret);
- $sendSmsRequest = new SendSmsRequest([
- "signName" => $sign_name,
- "templateCode" => $template_code,
- "phoneNumbers" => $phone,
- "templateParam" => "{\"code\":\"$code\"}"
- ]);
- $runtime = new RuntimeOptions([]);
- $resp = $client->sendSmsWithOptions($sendSmsRequest, $runtime);
- @SmsLog::create([
- "phone" => $phone, //
- "sign_name" => $sign_name, // 签名
- "template_code" => $template_code, // 模板id
- "template_param" => "{\"code\":\"$code\"}", // 变量
- "message" => $resp->body->message, // 返回值信息
- "request_id" => $resp->body->requestId, // 请求id
- "biz_id" => $resp->body->bizId, // 回执id
- "code" => $resp->body->code, // 发送状态
- "send_time" => date("Y-m-d H:i:s"), // 发送时间
- ]);
- return $resp;
- }
- }
|