五月婷婷之综合缴情,午夜直播免费看,日韩影片,色爽高清大片免费观看,天天影视网色香欲综合网

免費咨詢熱線:15918671994

QQ群1:118466153

QQ群2:50056937

掃描二維碼

添加客服咨詢詳情

了解更多,敬請垂詢 15918671994

您還可以

在線咨詢

添加微信立即咨詢

咨詢熱線:15918671994

—— 專業(yè)電商系統(tǒng)及解決方案提供服務(wù)商 ——

多用戶
商城系統(tǒng)

訂單
管理系統(tǒng)

訂貨
管理系統(tǒng)

多語言
商城系統(tǒng)

商淘云S2B2C多用戶商城系統(tǒng)

平臺演示 演示地址 賬號密碼
PC前端 http://test.wstmart.net/

掃碼咨詢客服

平臺后臺 http://test.wstmart.net/admin
商家后臺 http://test.wstmart.net/shop
供應(yīng)商后臺 http://test.wstmart.net/supplier/
多語言多商戶 http://dyy.wstmart.net/
  • 安卓APP(用瀏覽器打開)

  • 蘋果APP

  • 小程序商城

  • 微信商城

B2B2C電商系統(tǒng)

商淘軟件:如何在thinkphp 5中實現(xiàn)阿里云云通信發(fā)短信

2017-11-15 14:25:46    瀏覽量:15736

如何在thinkphp 5中實現(xiàn)阿里云云通信發(fā)短信


       


阿里大于并入阿里云之后,阿里大于維護原有客戶。新的客戶可以在阿里云-云通信里購買短信服務(wù)。首先我們可以看下阿里云-云通信的菜單位置:


 

添加短信服務(wù)之后就可以在左側(cè)看到短信服務(wù)的菜單:


 

使用阿里云-云通信要留意三個地方:1)設(shè)置eccesskeys--這個就是短信服務(wù)的賬號和密碼。2)設(shè)置短信簽名。3)設(shè)置短信模板。因為阿里云-云通信本身有使用教程和客戶服務(wù),如何申請和使用我們就不過多講述,下邊我們下載一個基于thinkphp 5WSTMart多用戶開源電子商務(wù)系統(tǒng)講解一下:如何使用和實現(xiàn)thinkphp 5框架中接入阿里云-云通信功能。

 

1、在WSTMart三級分銷系統(tǒng)的“拓展管理”-“插件管理”中找到“短信接口(阿里云-云通信)”插件,點擊右側(cè)的“安裝”進行啟用。然后在“設(shè)置”界面對阿里云-云通信進行設(shè)置:



上邊的Access Key IDAccess Key secret以及短信簽名為必填。發(fā)送的模板ID則選填,如果用戶沒有填寫,則系統(tǒng)不會發(fā)送該情況下的短信。

 

2、在商城設(shè)置中開啟短信功能:



要留意的是,wstmart中默認的短信發(fā)送間隔是2分鐘,阿里云-云通信則最短1分鐘1條,1小時5條,110條。設(shè)置到這里,基本上wstmart中就可以使用短信服務(wù)的功能了。

 

3、實現(xiàn)原理:

1)下載阿里云-云通信SDK放到到阿里云-云通信插件目錄下,該名為sdk。

2)在發(fā)短信的位置埋入鉤子。在類文件wstmart\common\model\LogSms.php中我們對發(fā)送短信的位置埋入鉤子。



當(dāng)程序運行到此處的時候,系統(tǒng)就會自動檢測在此鉤子處監(jiān)聽的插件有哪些。因為我們前邊只開啟了阿里云-云通信,所以程序就會進入到阿里云-云通信的插件函數(shù)里:



sendSMS寫在插件的model里,我們按照阿里云-云通信的演示代碼封裝成一個http接口函數(shù):

public function http($params){

                 require_once  WST_ADDON_PATH.'dysms/sdk/vendor/autoload.php';

                 Config::load();

                 $smsConf = $this->getConfigs();

            $accessKeyId = $smsConf['smsKey'];;

            $accessKeySecret = $smsConf['smsPass'];

            $product = "Dysmsapi";

            $domain = "dysmsapi.aliyuncs.com";

            $region = "cn-hangzhou";

            $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);

            DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);

            $acsClient= new DefaultAcsClient($profile);

            $request = new SendSmsRequest();

            $request->setPhoneNumbers($params['phoneNumber']);

            //必填-短信簽名

            $request->setSignName($smsConf["signature"]);

            //必填-短信模板Code

            $request->setTemplateCode($smsConf[$params['params']['tpl']['tplCode']]);

            $request->setTemplateParam($params['content']);

            //選填-發(fā)送短信流水號

            $request->setOutId($params['timeId']);

            //發(fā)起訪問請求

            $resp = $acsClient->getAcsResponse($request);

        return $resp;

}

 

然后我們在在model里邊去調(diào)用http函數(shù)去發(fā)短信.

public function sendSMS($params){

                 .......

        省略封裝函數(shù)過程

        .......

                 $code = $this->http($params);

                 $log = model('common/logSms')->get($params['smsId']);

                 $log->smsReturnCode = json_encode($code);

                 $log->save();

                 try{

                         if(strtolower($code->Message)=='ok'){

                    $params['status']['msg'] = '短信發(fā)送成功!';

                    $params['status']['status'] = 1;

                         }

                 }catch (\Exception $e) {

            $params['status']['msg'] = $code->Message;

                $params['status']['status'] = -1;

                 }

}

 

調(diào)試:如果調(diào)用阿里云-云通信能正確返回json對象的數(shù)據(jù),并且其message的內(nèi)容為ok。則說明短信發(fā)送成功,否則的話則提示用戶短信發(fā)送失敗。

 

歡迎大家一起分享、交流!

商淘云公眾號

商淘云國際版電商系統(tǒng)
商淘云訂單管理系統(tǒng)
商淘云移動訂貨系統(tǒng)
商淘云多用戶商城系統(tǒng)

商淘云公眾號

獲取體驗賬號 最新優(yōu)惠及電商資訊

廣州商淘信息科技有限公司版權(quán)所有©alxm.cn 版權(quán)所有

粵ICP備16056415號

廣州公司:廣州市天河區(qū)珠江新城珠江城大廈