一、首先进入阿里短信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】原创,转载请注明来源。请注意原创和打造和谐的网络环境,谢谢!