tp項目使用阿里雲短信接口

一、下載sdk

https://help.aliyun.com/document_detail/55359.html?spm=5176.11065259.1996646101.searchclickresult.d0a31a7在這裏插入圖片描述

二、將sdk包放入tp項目

在這裏插入圖片描述
api_sdk放入到tp項目中的extend文件夾,如果沒有則自己建,一般tp3中需要建。
在這裏插入圖片描述

三、控制器中引入短信接口

引入導入的配置文件:
在這裏插入圖片描述
實現方法:

/**
     * 短信發送
     * @param $to    接收人
     * @param $model    短信模板ID
     * @param $code   短信驗證碼
     * @return json
     */
    function send_sms($to, $code){
        require_once dirname(__DIR__) .'/../../extend/api_sdk/vendor/autoload.php';

        Config::load(); //加載區域結點配置

//        $config = '根據你的實際情況讀取配置文件或讀取數據庫,本項目是將配置寫入數據庫實現';
        $accessKeyId = '阿里雲生成的accessKeyId';
        $accessKeySecret = '阿里雲生成的accessKeySecret';
        $templateParam = $code;
        //短信簽名
        $signName = "短信簽名";
        //短信模板ID
        $templateCode = "短信模板"; // 註冊登錄短信驗證碼模板
        //短信API產品名(短信產品名固定,無需修改)
        $product = "Dysmsapi";
        //短信API產品域名(接口地址固定,無需修改)
        $domain = "dysmsapi.aliyuncs.com";
        //暫時不支持多Region(目前僅支持cn-hangzhou請勿修改)
        $region = "cn-hangzhou";
        // 初始化用戶Profile實例
        $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
        // 增加服務結點
        DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);
        // 初始化AcsClient用於發起請求
        $acsClient= new DefaultAcsClient($profile);
        // 初始化SendSmsRequest實例用於設置發送短信的參數
        $request = new SendSmsRequest();
        // 必填,設置雉短信接收號碼
        $request->setPhoneNumbers($to);
        // 必填,設置簽名名稱
        $request->setSignName($signName);
        // 必填,設置模板CODE
        $request->setTemplateCode($templateCode);
        // 可選,設置模板參數
        if($templateParam) {
            $request->setTemplateParam(json_encode(['code'=>$templateParam]));
        }
        //發起訪問請求
        $acsResponse = $acsClient->getAcsResponse($request);
        //返回請求結果
        $result = json_decode(json_encode($acsResponse),true);
        // 具體返回值參考文檔:https://help.aliyun.com/document_detail/55451.html?spm=a2c4g.11186623.6.563.YSe8FK
        return $result;
    }

調用該方法即可使用~

溫馨提示:

在這裏插入圖片描述
有錯的話一定要F12通過Network查看,查看ajax返回結果,出錯不用怕,可以從官方文檔上的錯誤碼信息中查找原因,加油!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章