亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信小程序登錄方法之授權(quán)登陸及獲取微信用戶手機號

 更新時間:2022年07月24日 11:44:40   作者:癡心阿文  
最近改了一個公司項目,新增加了一個獲取用戶手機號功能,里面用到了關于獲取用戶信息和用戶手機號的功能,下面這篇文章主要給大家介紹了關于微信小程序登錄方法之授權(quán)登陸及獲取微信用戶手機號的相關資料,需要的朋友可以參考下

先看一下小程序的登陸流程

 使用說明注意:

    調(diào)用 auth.code2Session 接口,換取 用戶唯一標識 OpenID 、 用戶在微信開放平臺帳號下的唯一標識UnionID(若當前小程序已綁定到微信開放平臺帳號) 和 會話密鑰 session_key。

    之后開發(fā)者服務器可以根據(jù)用戶標識來生成自定義登錄態(tài),用于后續(xù)業(yè)務邏輯中前后端交互時識別用戶身份。

    注意事項

    會話密鑰 session_key 是對用戶數(shù)據(jù)進行 加密簽名 的密鑰。為了應用自身的數(shù)據(jù)安全,開發(fā)者服務器不應該把會話密鑰下發(fā)到小程序,也不應該對外提供這個密鑰。

    臨時登錄憑證 code 只能使用一次

第一步, 調(diào)用微信登陸方法 wx.login() 獲取臨時登錄憑證code ,并回傳到開發(fā)者服務器。

//微信登錄方法 wx.login()
 
//調(diào)用微信登錄方法 wx.login() 獲取臨時登錄憑證code ,并回傳到開發(fā)者服務器。
 
login() {
    wx.login({
        success: (ress) => {
            wx.request({
                url: '服務器后端接口',
                data: {
                    code: ress.code
                },
                success: (result) => {
                    console.log(result.data.openId); //獲取到openid
                }
            })
        }, fail: (error) => {
            console.log('登錄失??!' + error);
        }
    })
}

微信登錄的一些參數(shù) 

?????第二步,獲取用戶信息,點擊事件,獲取用戶授權(quán),用戶同意后然后返回信息

//利用后端接口獲取openid,獲取到自己系統(tǒng)賬號的id,當前小程序已綁定到微信開放平臺帳號,與微信號綁定,使得下次登錄微信賬號就跟小程序系統(tǒng)的賬號綁定。
 
//getUserProfile 方法
 
getUserProfile() {
    var that = this
    wx.getUserProfile({
        desc: '用于獲取用戶微信個人信息',// 聲明獲取用戶個人信息后的用途,后續(xù)會展示在彈窗中,請謹慎填寫
        success: (res) => {
            wx.login({
                success: (ress) => {
                    wx.request({
                        url: '服務器后端接口',
                        data:{
                            code:ress.code,
                        },
                        success: (result) => {
                            console.log(result.data.openId); //獲取到openid
                            wx.request({
                                url: '服務器后端接口',
                                data:{
                                    openId:result.data.openId,
                                },
                                success: (results) => {
                                    console.log(results.data.session_key);//拿到自己的系統(tǒng)賬號
                                },
                                fail: (errors) => {
                                    console.log(errors);
                                }
                            })
 
                        },
                        fail: (error) => {
                            console.log(error);
                        }
                    })
                }
            })
        },
        fail: (err) => {
            console.log(err)
        }
 
    })
}

??第三步,獲取用戶手機號

 獲取用戶手機號流程如下:

      wx.Login()方法 → 獲取登錄憑證(code)→將code發(fā)送到后端 → 后端拿到openid和session_key → 調(diào)用getPhoneNumber 方法  →  將 encryptedData 和 iv 傳給后端  →  后端獲得json

下面是官方獲取手機號介紹截圖 

//獲取手機號 html代碼
 
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
 
//獲取微信用戶手機號方法  
 
getPhoneNumber (e) {
    console.log(e.detail.code)
    console.log(e.detail.errMsg)
    console.log(e.detail.iv)
    wx.login({
        success:res =>{
            console.log(res.code);
            wx.request({
                url:'服務器后端接口',
                data:{
                   'encryptedData':e.detail.encryptedData,
                   'iv':e.detail.iv,
                   'codes':e.detail.code
                },
                method:'GET',
                header:{
                    'content-type':'application/json'
                },
                success:function(res){
                    wx.setStorageSync('PhoneNumber',res.data.phoneNumber);
                    console.log("手機號為" + res.data.phoneNumber)
                },
                fail:function(err){
                    console.log(err);
                }
            })
    })
  }

獲取手機號方法可選參數(shù) 

參數(shù)類型說明
phoneNumberString用戶綁定的手機號(國外手機號會有區(qū)號)
purePhoneNumberString沒有區(qū)號的手機號
countryCodeString區(qū)號

 后端返回的數(shù)據(jù)

獲取得到的開放數(shù)據(jù)為以下 json 結(jié)構(gòu):

{
    "phoneNumber": "13580006666",
    "purePhoneNumber": "13580006666",
    "countryCode": "86",
    "watermark":
    {
        "appid":"APPID",
        "timestamp": TIMESTAMP
    }
}

結(jié)束語

到此這篇關于微信小程序登錄方法之授權(quán)登陸及獲取微信用戶手機號的文章就介紹到這了,更多相關微信小程序授權(quán)登陸及獲取手機號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 基于JavaScript實現(xiàn)仿京東圖片輪播效果

    基于JavaScript實現(xiàn)仿京東圖片輪播效果

    這篇文章主要介紹了基于JavaScript實現(xiàn)仿京東圖片輪播效果,代碼簡單易懂,需要的小伙伴參考下吧
    2015-11-11
  • setinterval()與clearInterval()JS函數(shù)的調(diào)用方法

    setinterval()與clearInterval()JS函數(shù)的調(diào)用方法

    這篇文章主要介紹了setinterval()與clearInterval()JS函數(shù)的調(diào)用方法,實例分析了setinterval()與clearInterval()的語法結(jié)構(gòu)及使用技巧,需要的朋友可以參考下
    2015-01-01
  • js/jQuery對象互轉(zhuǎn)(快速操作dom元素)

    js/jQuery對象互轉(zhuǎn)(快速操作dom元素)

    在操作js或者jquery方面相關的元素時,可能會力不從心,因為在使用方法時可能js的會更好一點又或者jquery的會更好一點,真是無從選擇啊,接下來將介紹JS/jQuery對象互轉(zhuǎn)實現(xiàn),方便你快速操作dom元素,感興趣的朋友可以了解下啊
    2013-02-02
  • 薪資那么高的Web前端必看書單

    薪資那么高的Web前端必看書單

    由于前端開發(fā)的火熱和一些IT巨頭公司 對 web前端開發(fā)人員的需求旺盛,讓越來越多的人轉(zhuǎn)入前端。今天就為大家分享了一份Web前端開發(fā)書單,希望大家喜歡
    2017-10-10
  • 解決layui頁面按鈕點擊無反應,也不報錯的問題

    解決layui頁面按鈕點擊無反應,也不報錯的問題

    今天小編就為大家分享一篇解決layui頁面按鈕點擊無反應,也不報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • Javascript異步流程控制之串行執(zhí)行詳解

    Javascript異步流程控制之串行執(zhí)行詳解

    這篇文章主要給大家介紹了關于Javascript異步流程控制之串行執(zhí)行的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 詳解JavaScript中精度失準問題及解決方法

    詳解JavaScript中精度失準問題及解決方法

    這篇文章主要介紹了JavaScript中精度失準問題及解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • JavaScript判斷變量是否為undefined的兩種寫法區(qū)別

    JavaScript判斷變量是否為undefined的兩種寫法區(qū)別

    這篇文章主要是對JavaScript判斷變量是否為undefined的兩種寫法區(qū)別進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • 最新評論