1. 程式人生 > >接收簡訊訊息介面API,使用ajax跨域無重新整理實現根據手機號碼傳送6位簡訊驗證碼

接收簡訊訊息介面API,使用ajax跨域無重新整理實現根據手機號碼傳送6位簡訊驗證碼

應用場景:登入驗證,註冊賬號,密碼找回,繫結手機號等功能
在這裡插入圖片描述

1. 本介面採用的是聚合資料介面:https://www.juhe.cn/docs/api/id/54

2. 首先,註冊賬號申請快遞單號介面:獲取申請的key
在這裡插入圖片描述

3. 簡訊模板申請
3.1. 因為等會需要簡訊模板的ID,所以需要先申請簡訊模板:https://www.juhe.cn/sms(申請完後需要等大概5分鐘,系統會稽核你的模板)

在這裡插入圖片描述

3.2 稽核通過後會產生一個簡訊模板ID,記住他,等會會用。(申請頁面底部)
在這裡插入圖片描述

4. 介面引數檢視(主要是這四個引數需要傳到服務端)
在這裡插入圖片描述

引數簡單說明:
mobile:接收的手機號
tpl_id:簡訊模板ID(第三步申請那個)
tpl_value:變數名和變數值(說人話就是手機號收到的資料,我們設定的是6位數驗證碼)
key:簡訊API申請的key(第二步申請的key)
dtype:根據自己需求設定,等會不會設定。

5. 程式碼實現

  1. 使用Jquery的ajax請求(因為服務端沒有主動設定開放CROS資源共享)瀏覽器默認同源策略,需要跨域訪問,此時用:dataType:“jsonp” 即可
  2. 複製我程式碼執行可能會失敗,因為預設免費只有10條簡訊傳送,用完需要買。需要你們自己去申請
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>傳送簡訊API</title>
    <input type="text" placeholder="請輸入需要找回的手機號碼" id="phone">
    <button id="btn">找回密碼</button>
</head>
<body>
</body>
</html>
<!-- Jquery請保證在1.12及以上 -->
<script src="./jquery-1.12.4.js"></script>
<script>
    /**
     * 生成隨機的6位數驗證碼
     */
    function numRandom(){
        var num="";
        for(var i=0;i<6;i++){
            num+=Math.floor(Math.random()*10)
        }
        return num;
    }
    /**
    * 點選找回密碼傳送簡訊
    */
    $('#btn').on('click',function(){
        //簡訊模板Id(需要申請,詳情看上面申請步驟)
        var $model_Id = "124717";
        //您的驗證碼是#code# 隨機的6位數
        var $tpl_value = "%23code%23%3D" + numRandom();
        //獲取AppKey(需要申請)
        var $AppKey = "df82a97af149f6f1e3a69dd6ccec4e63";
        $.get({
            url:"http://v.juhe.cn/sms/send",
            data:{
                mobile:$('#phone').val(),
                tpl_id:$model_Id,
                tpl_value:$tpl_value,
                key:$AppKey
            },
            dataType:"jsonp",
            success:function(obj){
                console.log(obj);
            }
        });
    });
</script>

獲取到的資料結果,此時就傳送簡訊成功了,可以看到已經收到簡訊了。
在這裡插入圖片描述

注意儲存返回的狀態和sid:可以儲存到資料庫
還有生成的隨機號碼一起返回到資料庫:方便驗證使用者輸入的是否和收到的驗證碼是否匹配