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

微信小程序授權(quán)登錄的最新實(shí)現(xiàn)方案詳解(2023年)

 更新時(shí)間:2023年02月22日 11:33:00   作者:coderYYY  
最近由于公司需要研究了一下微信小程序的開發(fā),特此記錄一下小程序登錄授權(quán)的流程,便于自己理解,也希望對(duì)他人有多幫助,下面這篇文章主要給大家介紹了關(guān)于微信小程序授權(quán)登錄的最新實(shí)現(xiàn)方案的相關(guān)資料,需要的朋友可以參考下

微信授權(quán)登錄

我們的項(xiàng)目開發(fā)有時(shí)候用到用戶的一些信息,比如頭像,昵稱等。目前小程序?yàn)槲覀兲峁┖昧?code>wx.getUserProfile方法以供獲取用戶信息,它的使用非常簡(jiǎn)單。

wx.getUserProfile方法獲取用戶信息

不推薦使用 wx.getUserInfo 獲取用戶信息,自2021年4月13日起,getUserInfo將不再?gòu)棾鰪棿?,并直接返回匿名的用戶個(gè)人信息

推薦使用 wx.getUserProfile 獲取用戶信息,開發(fā)者每次通過(guò)該接口獲取用戶個(gè)人信息均需用戶確認(rèn)。

對(duì)應(yīng)的官方文檔:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html

簡(jiǎn)單示例代碼

官網(wǎng)的示例代碼寫得較為復(fù)雜,這里我寫了一些簡(jiǎn)單的代碼,以便學(xué)習(xí)。

<!-- userInfo如果為空證明沒(méi)有登錄 -->
<button wx-if="{{!userInfo}}" bindtap="login">獲取頭像昵稱</button>
<view wx:else class="userInfo">
    <image src="{{userInfo.avatarUrl}}"></image>
    <text>{{userInfo.nickName}}</text>
</view>
.userInfo{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.userInfo image{
    width: 200rpx;
    height: 200rpx;
    border-radius: 200rpx;
}
Page({

    data: {
        userInfo: '', //用于存放獲取的用戶信息
    },
    login() {
        wx.getUserProfile({
            desc: '必須授權(quán)才能繼續(xù)使用', // 必填 聲明獲取用戶個(gè)人信息后的用途,后續(xù)會(huì)展示在彈窗中
            success:(res)=> { 
                console.log('授權(quán)成功', res);
                this.setData({ 
                    userInfo:res.userInfo
                })
            },
            fail:(err)=> {
                console.log('授權(quán)失敗', err);
            }
        })
    }

})

退出登錄

由于上面用的判斷是否登錄,是用userInfo是否為空判斷的,所以我們退出登錄只要把userInfo清空就行了,就是這么簡(jiǎn)單粗暴!

與本地緩存wx.setStorageSync結(jié)合使用

如果沒(méi)有本地緩存,每次打開小程序都需要再授權(quán)一次,太麻煩了,而且本地緩存中的數(shù)據(jù)其他頁(yè)面也能使用,不用重復(fù)獲取。

完整代碼

<!-- userInfo如果為空證明沒(méi)有登錄 -->
<button wx-if="{{!userInfo}}" bindtap="login">獲取頭像昵稱</button>
<view wx:else class="userInfo">
    <image src="{{userInfo.avatarUrl}}"></image>
    <text>{{userInfo.nickName}}</text>
    <button type="warn" bindtap="loginOut">退出登錄</button>
    
</view>
Page({

    data: {
        userInfo: '', //用于存放獲取的用戶信息
    },
    onLoad(){
        let user = wx.getStorageSync('user')
        this.setData({
          userInfo: user
        })
    },
    // 授權(quán)登錄
    login() {
        wx.getUserProfile({
            desc: '必須授權(quán)才能繼續(xù)使用', // 必填 聲明獲取用戶個(gè)人信息后的用途,后續(xù)會(huì)展示在彈窗中
            success:(res)=> { 
                console.log('授權(quán)成功', res);
                wx.setStorageSync('user',res.userInfo)
                this.setData({ 
                    userInfo:res.userInfo
                })
            },
            fail:(err)=> {
                console.log('授權(quán)失敗', err);
            }
        })
    },
    // 退出登錄
    loginOut(){
        this.setData({ 
            userInfo:''
        })
        // 清空緩存
        wx.setStorageSync('user',null)
    }
    
})

總結(jié)

wx.getUserProfile用于授權(quán)登錄,獲取用戶信息,但它返回的加密數(shù)據(jù)中不包含 openId unionId 字段,只包含頭像昵稱,所以需要其他信息的需要結(jié)合云開發(fā)云函數(shù)使用

補(bǔ)充:wx.getUserProfile已被回收

wx真的是說(shuō)改就改,之前就已經(jīng)改過(guò)好幾次了

調(diào)整原因:

獲取用戶頭像昵稱,可以使用「頭像昵稱填寫能力」(基礎(chǔ)庫(kù) 2.21.2 版本開始支持,覆蓋iOS與安卓微信 8.0.16 以上版本)

到此這篇關(guān)于微信小程序授權(quán)登錄的最新實(shí)現(xiàn)方案的文章就介紹到這了,更多相關(guān)微信小程序授權(quán)登錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 老生常談js中的MVC

    老生常談js中的MVC

    下面小編就為大家?guī)?lái)一篇老生常談js中的MVC。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • JavaScript之事件循環(huán)案例講解

    JavaScript之事件循環(huán)案例講解

    這篇文章主要介紹了JavaScript之事件循環(huán)案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Ionic2調(diào)用本地SQlite實(shí)例

    Ionic2調(diào)用本地SQlite實(shí)例

    這篇文章主要介紹了Ionic2調(diào)用本地SQlite實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • swiper動(dòng)態(tài)改變滑動(dòng)內(nèi)容的實(shí)現(xiàn)方法

    swiper動(dòng)態(tài)改變滑動(dòng)內(nèi)容的實(shí)現(xiàn)方法

    假設(shè)當(dāng)前顯示的是1,往左滑動(dòng)一個(gè)遞減1,往右滑動(dòng)一個(gè)遞增1。下面通過(guò)實(shí)例代碼給大家講解swiper動(dòng)態(tài)改變滑動(dòng)內(nèi)容的實(shí)現(xiàn)方法,感興趣的朋友一起看看吧
    2018-01-01
  • Javascript?、Vue禁止鼠標(biāo)右鍵點(diǎn)擊事件實(shí)例

    Javascript?、Vue禁止鼠標(biāo)右鍵點(diǎn)擊事件實(shí)例

    這篇文章主要給大家介紹了關(guān)于Javascript?、Vue禁止鼠標(biāo)右鍵點(diǎn)擊事件的相關(guān)資料,禁止右鍵的原理是通過(guò)JavaScript阻止瀏覽器右鍵事件的默認(rèn)行為,從而達(dá)到禁止右鍵的效果,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 原生JS+CSS實(shí)現(xiàn)炫酷重力模擬彈跳系統(tǒng)的登錄頁(yè)面

    原生JS+CSS實(shí)現(xiàn)炫酷重力模擬彈跳系統(tǒng)的登錄頁(yè)面

    今天小編給大家分享基于原生JS實(shí)現(xiàn)一個(gè)炫酷的登錄頁(yè)面,實(shí)現(xiàn)效果有點(diǎn)像重力模擬彈跳系統(tǒng),效果非常棒,需要的朋友參考下實(shí)現(xiàn)代碼吧
    2017-11-11
  • Table凍結(jié)表頭示例代碼

    Table凍結(jié)表頭示例代碼

    Table凍結(jié)表頭,大家對(duì)此應(yīng)該不會(huì)很陌生,實(shí)現(xiàn)很簡(jiǎn)單,下面為大家詳細(xì)介紹下具體的實(shí)現(xiàn),感興趣的朋友可以參考下
    2013-08-08
  • 用JavaScript實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)時(shí)鐘

    用JavaScript實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)時(shí)鐘

    這篇文章主要為大家詳細(xì)介紹了用JavaScript實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • BootStrap前端框架使用方法詳解

    BootStrap前端框架使用方法詳解

    這篇文章主要介紹了BootStrap前端框架使用方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • JavaScript Promise 用法

    JavaScript Promise 用法

    “Promises”漸漸成為JavaScript里最重要的一部分,大量的新API都開始promise原理實(shí)現(xiàn)。這篇文章主要為大家詳細(xì)介紹了JavaScript Promise 用法,感興趣的小伙伴們可以參考一下
    2016-06-06

最新評(píng)論