當前位置:網站首頁>【開發測試個人小微接入短信驗證碼】thinkphp5.1+小程序使用短信驗證碼登錄

【開發測試個人小微接入短信驗證碼】thinkphp5.1+小程序使用短信驗證碼登錄

2022-01-27 00:10:48 super202

最近寫一個小項目需要用到短信驗證碼登錄,本來打算用阿裏雲的短信,但是各種審核什麼的太麻煩,偶然間發現一個對個人開發測試比較友好的短信平臺,注册就送100條驗證碼,測試用妥妥的够用。而且個人認證處理速度也比較快,還可以引用免審模板,大大减少各種審核的麻煩!真是贊!

先放鏈接:

http://sms.shansuma.com/register?invite_id=2656
在這裏插入圖片描述

廢話少說

我是用的tp5.1和uniapp,先在開發文檔裏下載官方提供的sdk
下載得到一個壓縮包,解壓後把Client.php和Request.php放到tp5的extend/Sms目錄下,sms新建一個就行。

use Sms\Client;
use Sms\Request;
// 發送短信驗證
    public function sendSms()
    {
    
        $Appid = '';	//這裏填寫閃速碼獲取的appid
        $SecretKey = '';	//這裏填寫閃速碼獲取的appid
        $data = request()->param();		//接收前端數據
        if($data['phone'] == ''){
    
            $data = [
            'status'  =>400,
            'msg'   =>'手機號為空',
        ];
        //轉換數據格式並結束
        echo json_encode($data);die;
        }
        // 定義驗證碼,六比特隨機數
        $code = mt_rand(100000,999999);
        require_once('../extend/Sms/Client.php');
        require_once('../extend/Sms/Request.php');
        $client = new Client();
        $client->setAppId($Appid);
        $client->setSecretKey($SecretKey);
        $request = new Request();
        $request->setMethod('sms.message.send');
        $request->setBizContent([
            'mobile' => $data['phone'],                     //接受號碼
            'template_id' => 'ST_2020101100000007',    //模板id
            'type' => 0,                       //0. 驗證碼1. 行業通知2. 營銷短信3. 國際短信
            'sign' => '閃速碼',             //這裏填寫短信簽名,不需要填寫簽名id
            'send_time' => '',
            'params' => [
                'code' => $code
            ]
        ]);
        list($ret, $errno, $errstr, $et) = $client->execute($request);
        var_dump($ret, $errno, $errstr, $et);
    }

測試的話短信簽名用【閃速碼】完全可以,上線再根據認證的簽名改。一定記得認證,申請簽名,不然後期會出問題。
各比特凑合看吧,代碼僅供參考。我也是個小垃圾,第一次做帶短信驗證的項目,全靠百度。

版權聲明
本文為[super202]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201270010478085.html

隨機推薦