一、首先进入阿里短信api,访问这个地址
https://help.aliyun.com/document_detail/112186.html?spm=a2c4g.11186623.6.657.3b4550a4tfYUDo
然后使用里面的安装代码:
composer require alibabacloud/client前提是你得安装有composer.
二、然后进入用命令进入你项目应用目录执行该命令,坐等几分钟,待安装完就ok了
然后在vendor文件下安装好的包为:
三、在应用目录的控制器文件下新建一个类:
<?php
/**
* Created by PhpStorm.
* User: 764417604
* Date: 2020/4/2
* Time: 14:04
*/
namespace app\api\controller\v1;
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use think\facade\Config;
//阿里发送验证短信封装类
class Sendcode
{
protected $phone;
protected $SendDate;
protected $Code;
protected $SignName;
protected $TemplateCode;
function __construct($option=[])
{
$this->phone=$option['phone'];
$this->SendDate=date("Ymd");//必须是这种格式:20200402
$this->Code=$option['code'];
$this->SignName=isset($option['SignName'])?: Config::get('appkeys.SignName');
$this->TemplateCode=isset($option['TpCode'])?:Config::get('appkeys.TemplateCode');
}
function sendCode()
{
AlibabaCloud::accessKeyClient(Config::get('appkeys.accessKeyId'), Config::get('appkeys.accessKeySecret'))
->regionId(Config::get('appkeys.regionId'))
->asDefaultClient();
try {
$result = AlibabaCloud::rpc()
->product('Dysmsapi')
// ->scheme('https') // https | http
->version('2017-05-25')
->action('SendSms')
->method('POST')
->host('dysmsapi.aliyuncs.com')
->options([
'query' => [
'RegionId' =>Config::get('appkeys.regionId'),
'PhoneNumbers' => $this->phone,
'SendDate' => $this->SendDate,
'SignName' => $this->SignName,
'TemplateCode' => $this->TemplateCode,
'TemplateParam' => "{'code':$this->Code}",
],
])
->request();
return $result->toArray();
} catch (ClientException $e) {
return $e->getErrorMessage();
} catch (ServerException $e) {
return $e->getErrorMessage();
}
}
}
这里面的“version”版本号不能改,必须和里面的api一样,
四、然后在应用目录里的config文件夹新建一个配置文件:appkeys.php,这里就不放出来了,自己去配置吧
五、之后就可以在方法里调用了。
注意:这里有个东西:RegionId,如果不知道的话,自己看服务器在哪,然后查看这篇文档,自己去对应吧,比如“杭州”——“cn-hangzhou”
文档地址:https://help.aliyun.com/document_detail/40654.html?spm=a2c6h.13066369.0.0.54a17471qufi3K
本文由37°5【https://www.alvinxiao.com】【https://blog.alvinxiao.com】原创,转载请注明来源。请注意原创和打造和谐的网络环境,谢谢!