1. 程式人生 > >thinkphp3.2整合阿里大於

thinkphp3.2整合阿里大於

擴充套件包位置

<?php
/**
 * Created by PhpStorm.
 * User: saber_H
 * Date: 2017/3/18 0018
 * Time: 下午 3:31
 **/
namespace Home\Controller;

ini_set("display_errors", "on");  //設定開啟報錯模式,可取消
vendor('api_sdk.vendor.autoload');  //引入自動引導檔案

use Aliyun\Core\Config;
use Aliyun\Core\Profile\DefaultProfile;
use Aliyun\Core\DefaultAcsClient
; use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest; use Aliyun\Api\Sms\Request\V20170525\QuerySendDetailsRequest; use Think\Controller; // 載入區域結點配置 Config::load(); class SmsComController extends Controller{ static $acsClient = null; /** * 取得AcsClient * * @return DefaultAcsClient */
public static function getAcsClient() { //產品名稱:雲通訊流量服務API產品,開發者無需替換 $product = "Dysmsapi"; //產品域名,開發者無需替換 $domain = "dysmsapi.aliyuncs.com"; // TODO 此處需要替換成開發者自己的AK (https://ak-console.aliyun.com/) $accessKeyId = "LTAIeQ**********"; // AccessKeyId $accessKeySecret
= "rki5osIGvC********************"; // AccessKeySecret // 暫時不支援多Region $region = "cn-hangzhou"; // 服務結點 $endPointName = "cn-hangzhou"; if(static::$acsClient == null) { //初始化acsClient,暫不支援region化 $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret); // 增加服務結點 DefaultProfile::addEndpoint($endPointName, $region, $product, $domain); // 初始化AcsClient用於發起請求 static::$acsClient = new DefaultAcsClient($profile); } return static::$acsClient; } public function smssend(){ header('Content-Type: text/plain; charset=utf-8'); $response = self::sendSms( "例:企鵝科技", // 簡訊簽名 "SMS_105457484", // 簡訊模板編號 "131858*****", // 簡訊接收者 Array( // 簡訊模板中欄位的值 "code"=>1234, ) // "123" // 流水號,選填 ); echo "傳送簡訊(sendSms)介面返回的結果:\n";
        var_dump($response); } /** * 傳送簡訊 * * @param string $signName <p> * 必填, 簡訊簽名,應嚴格"簽名名稱"填寫,參考:<a href="https://dysms.console.aliyun.com/dysms.htm#/sign">簡訊簽名頁</a> * </p> * @param string $templateCode <p> * 必填, 簡訊模板Code,應嚴格按"模板CODE"填寫, 參考:<a href="https://dysms.console.aliyun.com/dysms.htm#/template">簡訊模板頁</a> * (e.g. SMS_0001) * </p> * @param string $phoneNumbers 必填, 簡訊接收號碼 (e.g. 12345678901) * @param array|null $templateParam <p> * 選填, 假如模板中存在變數需要替換則為必填項 (e.g. Array("code"=>"12345", "product"=>"阿里通訊")) * </p> * @param string|null $outId [optional] 選填, 傳送簡訊流水號 (e.g. 1234) * @return stdClass */ public static function sendSms($signName, $templateCode, $phoneNumbers, $templateParam = null, $outId = null) { // 初始化SendSmsRequest例項用於設定傳送簡訊的引數 $request = new SendSmsRequest(); // 必填,設定雉簡訊接收號碼 $request->setPhoneNumbers($phoneNumbers); // 必填,設定簽名名稱 $request->setSignName($signName); // 必填,設定模板CODE $request->setTemplateCode($templateCode); // 可選,設定模板引數 if($templateParam) { $request->setTemplateParam(json_encode($templateParam)); } // 可選,設定流水號 if($outId) { $request->setOutId($outId); } // 發起訪問請求 $acsResponse = static::getAcsClient()->getAcsResponse($request); // 列印請求結果 // var_dump($acsResponse); return $acsResponse; } /** * 簡訊傳送記錄查詢 * * @param string $phoneNumbers 必填, 簡訊接收號碼 (e.g. 12345678901) * @param string $sendDate 必填,簡訊傳送日期,格式Ymd,支援近30天記錄查詢 (e.g. 20170710) * @param int $pageSize 必填,分頁大小 * @param int $currentPage 必填,當前頁碼 * @param string $bizId 選填,簡訊傳送流水號 (e.g. abc123) * @return stdClass */ public function queryDetails($phoneNumbers=17828893817, $sendDate=20170710, $pageSize = 10, $currentPage = 1, $bizId=null) { // 初始化QuerySendDetailsRequest例項用於設定簡訊查詢的引數 $request = new QuerySendDetailsRequest(); // 必填,簡訊接收號碼 $request->setPhoneNumber($phoneNumbers); // 選填,簡訊傳送流水號 $request->setBizId($bizId); // 必填,簡訊傳送日期,支援近30天記錄查詢,格式Ymd $request->setSendDate($sendDate); // 必填,分頁大小 $request->setPageSize($pageSize); // 必填,當前頁碼 $request->setCurrentPage($currentPage); // 發起訪問請求 $acsResponse = static::getAcsClient()->getAcsResponse($request); // 列印請求結果 // var_dump($acsResponse); return $acsResponse; } } ##########################介面呼叫################################ public function sssss(){ $message = new \Home\Controller\SmsComController(); $message->smssend(); }