欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

 使用說明注意:

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

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

    注意事項(xiàng)

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

    臨時(shí)登錄憑證 code 只能使用一次

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

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

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

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

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

??第三步,獲取用戶手機(jī)號(hào)

 獲取用戶手機(jī)號(hào)流程如下:

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

下面是官方獲取手機(jī)號(hào)介紹截圖 

//獲取手機(jī)號(hào) html代碼
 
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
 
//獲取微信用戶手機(jī)號(hào)方法  
 
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:'服務(wù)器后端接口',
                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("手機(jī)號(hào)為" + res.data.phoneNumber)
                },
                fail:function(err){
                    console.log(err);
                }
            })
    })
  }

獲取手機(jī)號(hào)方法可選參數(shù) 

參數(shù)類型說明
phoneNumberString用戶綁定的手機(jī)號(hào)(國(guó)外手機(jī)號(hào)會(huì)有區(qū)號(hào))
purePhoneNumberString沒有區(qū)號(hào)的手機(jī)號(hào)
countryCodeString區(qū)號(hào)

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

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

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

結(jié)束語

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    解決layui頁面按鈕點(diǎn)擊無反應(yīng),也不報(bào)錯(cuò)的問題

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

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

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

    詳解JavaScript中精度失準(zhǔn)問題及解決方法

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

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

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