1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          阿里大魚短信服務開啟及使用

          來源:互聯網轉載 時間:2023-08-19 03:11:43

          一.開通阿里大魚短信服務

          以PHP版為例

          1.本地項目中安裝安裝PHP SDK

          (1)composer安裝:

          https://help.aliyun.com/document_detail/112186.html?spm=a2c4g.11174283.6.635.37eb2c42jFVxfS

          composer require alibabacloud/client

          (2)使用OpenAPI Explorer來生成相關API的Demo

          OpenAPI Explorer地址:

          https://api.aliyun.com/?spm=a2c4g.11186623.2.13.6a294e6afatgeU#/?product=Dysmsapi&lang=PHP

          2.阿里大魚簽名和SMS碼獲取

          二.阿里大魚驗證碼使用

          1.獲取的代碼格式如下并不能直接使用,而是需要進行修改

          <?php use AlibabaCloud\Client\AlibabaCloud; use AlibabaCloud\Client\Exception\ClientException; use AlibabaCloud\Client\Exception\ServerException;// Download:https://github.com/aliyun/openapi-sdk-php // Usage:https://github.com/aliyun/openapi-sdk-php/blob/master/README.mdAlibabaCloud::accessKeyClient('<accessKeyId>', '<accessSecret>')->regionId('cn-hangzhou')->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' => "cn-hangzhou",'PhoneNumbers' => "手機號",'SignName' => "簽名",'TemplateCode' => "簽名SMS碼",'TemplateParam' => "驗證碼格式{\"code\":1111}",],])->request();print_r($result->toArray()); } catch (ClientException $e) {echo $e->getErrorMessage() . PHP_EOL; } catch (ServerException $e) {echo $e->getErrorMessage() . PHP_EOL; }

          2.單獨創建一個控制器文件,封裝修改阿里大魚

          <?phpnamespace app\common\controller;// 引入阿里sdk use AlibabaCloud\Client\AlibabaCloud; use AlibabaCloud\Client\Exception\ClientException ; use AlibabaCloud\Client\Exception\ServerException ;// 引入異常類 use app\lib\exception\BaseException;class AlismsController {static public function SendSMS($phone,$code){AlibabaCloud::accessKeyClient(config('api.aliSMS.accessKeyId'),config('api.aliSMS.accessSecret'))->regionId(config('api.aliSMS.regionId'))->asDefaultClient();try {//定義自己的手機號碼,簽名,SMS碼,驗證碼格式$option=['query' => ['RegionId' => config('api.aliSMS.regionId'),'PhoneNumbers' => $phone,'SignName' =>config('api.aliSMS.SignName'),'TemplateCode' =>config('api.aliSMS.TemplateCode'),'TemplateParam' =>'{"code":"'.$code.'"}',],];$result = AlibabaCloud::rpc()->product(config('api.aliSMS.product'))// ->scheme('https') // https | http->version(config('api.aliSMS.version'))->action('SendSms')->method('POST')->host('dysmsapi.aliyuncs.com')->options($option)->request();// print_r($result->toArray());//返回數據return $result->toArray();} catch (ClientException $e) {echo $e->getErrorMessage() . PHP_EOL;//使用封裝的異?;悘棾鲥e誤throw new BaseException(['code'=>200,'msg'=>$e->getErrorMessage(),'errorCode'=>30000]);} catch (ServerException $e) {throw new BaseException(['code'=>200,'msg'=>$e->getErrorMessage(),'errorCode'=>30000]);}}}

          3.將配置信息提取到單獨的配置文件中,便于后期維護

          4.模型中引用

          <?php namespace app\common\model;use think\Model; // 引入TP5的緩存類 use think\facade\Cache; // 引入異?;? use app\lib\exception\BaseException; //引入阿里大魚驗證碼類 use app\common\controller\AliSMSController;class User extends Model {//發送驗證碼public function sendCode(){// 獲取用戶提交手機號碼$phone = request()->param('phone');// 判斷是否已經發送過//如果可以從緩存中讀取手機驗證碼if(Cache::get($phone)) throw new BaseException(['code'=>200,'msg'=>'你操作得太快了','errorCode'=>30001]); //生成四位數字的驗證碼$code = random_int(1000,9999);//使用阿里大魚發送驗證碼// 發送驗證碼$res = AlismsController::SendSMS($phone,$code);//發送成功 寫入緩存if($res['Code']=='OK') return Cache::set($phone,$code,config('api.aliSMS.expire'));// 無效號碼if($res['Code']=='isv.MOBILE_NUMBER_ILLEGAL') throw new BaseException(['code'=>200,'msg'=>'無效號碼','errorCode'=>30002]);// 觸發日限制if($res['Code']=='isv.DAY_LIMIT_CONTROL') throw new BaseException(['code'=>200,'msg'=>'今日你已經發送超過限制,改日再來','errorCode'=>30003]);// 發送失敗throw new BaseException(['code'=>200,'msg'=>'發送失敗','errorCode'=>30004]);}}

          ?

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          蘇州新區屬于哪個區 江蘇蘇州新區在哪里?蘇州新區指的是哪? 蘇州新區位于江蘇省最南端地級市蘇州西側??拷?,擁有國家科技城,主要產業包括先進制造業、制藥業、現代服務業等高新技術產業。蘇州新區東臨京杭大運河,西臨太湖。旅游資源豐富,不僅有以孫武聞名的穹窿山,還有以紅楓聞名的靈巖山,還有充滿現代氣息的蘇州樂園。蘇州新區是人杰地靈的風水寶地。 蘇州新區叫虎丘區嗎?虎丘區也叫新區嗎? 新區可稱叫...

          蘋果手機測距儀如何使用測田畝?蘋果 s手機自帶測量軟件。蘋果有個軟件叫測距儀 的手機。只要打開軟件,找到想要測量的位置所在的水平面,將手機移動到另一個水平面,軟件就會自動測量出這一段的距離。按照這種方法測量土地的長度和寬度后,就可以算出這塊土地的畝數了。這個軟件測出來的長度可以精確到小數點后兩位,所以這個軟件測出來的畝數還是很準確的。蘋果8p測距儀怎么用?首先打開手機自帶的測距儀。進入頁面后,按照...

          朝陽門附近都有哪些商場?朝陽門外有豐聯廣場、華普超市、藍島大廈、上品折扣。北京路邊停車位全天收費標準?1.東方新天地和大華影院東單街由南向北。過了第一個紅綠燈,注意東邊的胡同。第一個是禁止的,第二個胡同入口,也就是大華電影院南邊的胡同入口,可以停車,免費。東單老家肉餅2旁邊的胡同里。西單教育部門前的路邊,2元/小時西單鐘繇在西單西側的地下停車場,只要在育新吃個飯就可以免費使用。西單圖書大廈長安街南...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>