當前位置:網站首頁>【開發測試個人小微接入短信驗證碼】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
邊欄推薦
猜你喜歡
隨機推薦
- win7系統上將電腦變為熱點的辦法
- Jedis連接阿裏雲redis
- 線程的生命周期,真的沒那麼簡單
- 【行研資料】2021年中國AI中臺賦能城市空間管理白皮書——附下載
- emplace_back 和 push_back 的區別
- 藍橋杯第三講--二分【習題】
- 地址的地址?
- Qt給靜態屏保加上粒子特效
- 圖的著色問題
- cesium導入旋轉動畫
- QGC雜記
- 面試面到自閉,職場反思,原來是我沒有掌握其中精髓
- CISP——關於網絡安全法(分享筆記)
- 通過ReentrantLock源碼看AQS源碼實現
- Js基礎_作用域
- Endnote使用方法——檢查參考文獻
- 記錄在appA裏面打開appB進行登錄,再次點擊桌面圖標appB避免再次重新啟動程序的解决辦法
- 自建Kubernetes的LoadBalancer類型服務方案-MetalLB
- JS中的forEach()和map()方法介紹
- 【ISO15765_UDS&OBD診斷】-02-Network layer網絡層介紹
- 百度BML-飛槳服務器以及Jetson nano部署實戰案例(下)
- 適合10歲小孩投保的保險產品都有什麼啊?少兒險可以買哪些險種?
- 北京大學2022年對元宇宙的全球研究報告
- 網上期貨開戶安全麼?期貨開戶准備什麼資料?
- 查看多臺jps的脚本
- #全網寒假最火特輯# 【第一章】 C語言之牛客網刷題筆記 【點進來保證讓知識充實你一整個寒假】
- Material Design 3 全新的進階版本UI庫
- 雲演 CTF Web題型 lfi 文件包含
- 【leectode 2022.1.22】批量處理任務
- IC驗證中的force/release 學習整理(4)後門訪問機制成與敗(續)
- Leetcode 算法面試沖刺 實戰 五(數組與循環)(十二)
- 數學建模-模糊綜合評價法(評價模型)
- Vulnhub靶機recon: 1滲透
- DWR异常:org.xml.sax.SAXException
- ZZULIOJ 1173: 密碼解密(指針專題)
- 掃雷初階版
- DCGAN 源碼解析
- [渝粵教育] 東南大學 工程熱力學 參考 資料
- Go 自定義日期時間格式解析解决方案 - 解决 `parsing time xx as xx: cannot parse xx as xx` 錯誤
- Redis 是如何處理命令的(客戶端)