小程序受權功能(廢)

小程序登錄和使用受權(親測無效,不用看了,直接看評論)

不想從新寫頁面引導用戶受權,由於官方說明小程序

scope 爲 "scope.userInfo" 時,沒法彈出受權窗口,請使用<button open-type="getUserInfo"></button>
理一下思路:
  1. 登錄操做,獲取用戶openid
  2. 查詢是否受權
  3. 已經受權,直接獲取用戶信息
  4. 未受權,引導用戶受權
  5. 受權成功,從新登錄
  6. 受權失敗,提示用戶

1.登錄

這一步目的是爲了獲取用戶的openid微信

//1.登錄獲取用戶openid
wx.login({
    success: function(resdata) {
        if (resdata.code) {
            wx.request({
                url: appConfig.config.getOpenId,
                data: {
                    //somedata
                },
                success: function(res) {
                    //do something
                }
            })

        } else {
            that.openAlert();
        }
    },
    fail: function(res) {
        that.openAlert();
    }
});

2.查看是否受權

//2. 查看是否受權
 wx.getSetting({
            success: function(res) {
                if (res.authSetting['scope.userInfo']) {
                   //受權了
                } else {
                    //未受權
                }
            }
        })

3.已經受權,獲取用戶信息

//3. 已經受權,獲取用戶信息
wx.getUserInfo({
    success: function(res) {
        that.globalData.userInfo = res.userInfo
        console.log(res.userInfo)
    }
})

4.未受權,引導用戶受權

//4.未受權,引導用戶受權
wx.showModal({
    title: '用戶未受權',
    content: '如需正常使用小程序功能,請進行用戶受權。',
    showCancel: true,
    success: function(res) {
        if (res.confirm) {
            console.log("用戶確認受權")
            
        } else {
            console.log("用戶取消受權")
        }
    }
})

5.受權成功

//5.受權成功
if (wx.openSetting) {
    wx.openSetting({
        success: function(res) {
            //從新登錄
        }
    })
}

6.因外部緣由受權失敗

//6.因外部緣由受權失敗
else {
    wx.showModal({
        title: '受權提示',
        content: '小程序須要您的微信受權才能使用哦~ 錯過受權頁面的處理方法:刪除小程序->從新搜索進入->點擊受權按鈕'
    })
}
相關文章
相關標籤/搜索