• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    微信小程序 調(diào)用微信授權(quán)窗口相關(guān)問(wèn)題解決

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 21:53:27
    文檔

    微信小程序 調(diào)用微信授權(quán)窗口相關(guān)問(wèn)題解決

    微信小程序 調(diào)用微信授權(quán)窗口相關(guān)問(wèn)題解決:引言 微信小程序?yàn)榱藘?yōu)化用戶體驗(yàn),取消了在進(jìn)入小程序時(shí)立馬出現(xiàn)授權(quán)窗口。需要用戶主動(dòng)點(diǎn)擊按鈕,觸發(fā)授權(quán)窗口。 那么,在我實(shí)踐過(guò)程中,出現(xiàn)了以下問(wèn)題。 1. 無(wú)法彈出授權(quán)窗口 2. 希望在用戶已經(jīng)授權(quán)的情況下,不顯示按鈕 1. 具體實(shí)現(xiàn) app.js
    推薦度:
    導(dǎo)讀微信小程序 調(diào)用微信授權(quán)窗口相關(guān)問(wèn)題解決:引言 微信小程序?yàn)榱藘?yōu)化用戶體驗(yàn),取消了在進(jìn)入小程序時(shí)立馬出現(xiàn)授權(quán)窗口。需要用戶主動(dòng)點(diǎn)擊按鈕,觸發(fā)授權(quán)窗口。 那么,在我實(shí)踐過(guò)程中,出現(xiàn)了以下問(wèn)題。 1. 無(wú)法彈出授權(quán)窗口 2. 希望在用戶已經(jīng)授權(quán)的情況下,不顯示按鈕 1. 具體實(shí)現(xiàn) app.js

    引言

    微信小程序?yàn)榱藘?yōu)化用戶體驗(yàn),取消了在進(jìn)入小程序時(shí)立馬出現(xiàn)授權(quán)窗口。需要用戶主動(dòng)點(diǎn)擊按鈕,觸發(fā)授權(quán)窗口。

    那么,在我實(shí)踐過(guò)程中,出現(xiàn)了以下問(wèn)題。

  • 1. 無(wú)法彈出授權(quán)窗口
  • 2. 希望在用戶已經(jīng)授權(quán)的情況下,不顯示按鈕
  • 1. 具體實(shí)現(xiàn)

    app.js的onLaunch()函數(shù)中,添加獲取用戶個(gè)人信息的代碼段。實(shí)現(xiàn)在用戶已經(jīng)授權(quán)的情況(例如第二次打開(kāi)小程序時(shí))下,自動(dòng)獲取用戶個(gè)人信息,而不需要用戶的授權(quán)。

    // 獲取用戶信息
    wx.getSetting({
     success: res => {
     if (res.authSetting['scope.userInfo']) {
     console.log("app: " + "用戶已經(jīng)授權(quán)")
     // 已經(jīng)授權(quán),可以直接調(diào)用 getUserInfo 獲取頭像昵稱,不會(huì)彈框
     wx.getUserInfo({
     success: res => {
     // 可以將 res 發(fā)送給后臺(tái)解碼出 unionId
     this.globalData.userInfo = res.userInfo
     console.log(this.globalData.userInfo)
     this.globalData.hasUserInfo = true
     // 由于 getUserInfo 是網(wǎng)絡(luò)請(qǐng)求,可能會(huì)在 Page.onLoad 之后才返回
     // 所以此處加入 callback 以防止這種情況
     if (this.userInfoReadyCallback) {
     this.userInfoReadyCallback(res)
     }
     },
     fail: (res) => {
     console.log("app: " + "獲取用戶信息失敗")
     }
     })
     }else {
     console.log("app: " + "用戶暫時(shí)未授權(quán)")
     }
     }
    })

    me.wxml中添加授權(quán)按鈕(具體的頁(yè)面根據(jù)大家的實(shí)際情況)。這里的button組件必須按照如下的形式。

    <button open-type="getUserInfo" bindgetuserinfo="你自己定義函數(shù)"></button>
    <block wx:if="{{!hasUserInfo}}">
     <image src='../../images/icon/wechat.png'></image>
     <button open-type="getUserInfo" bindgetuserinfo="getUserInfo">微信授權(quán)登錄</button>
    </block>

    效果這樣,具體的樣式根據(jù)大家的喜好更改

    me.js中添加如下變量和方法,在用戶之前沒(méi)有授權(quán)的情況下,需要用戶主動(dòng)點(diǎn)擊按鈕。

    data: {
     userInfo: null,
     hasUserInfo: false
    },
    getUserInfo: function(e) {
     console.log("me: " + "用戶點(diǎn)擊授權(quán)")
     if(e.detail.userInfo){
     this.setData({
     userInfo: e.detail.userInfo,
     hasUserInfo: true
     })
     app.data.userInfo = this.userInfo
     app.data.hasUserInfo = true
     }
    }

    2. 無(wú)法彈出授權(quán)窗口

    這里一定要注意

    授權(quán)窗口只會(huì)在用戶第一次授權(quán)時(shí)出現(xiàn),也就是,只會(huì)出現(xiàn)一次!!

    在微信小程序開(kāi)發(fā)工具里,需要我們清除所有緩存

    3. 已經(jīng)授權(quán)的情況下,不顯示按鈕

    由于用戶已經(jīng)授權(quán)的時(shí)候,app.js會(huì)獲取用戶個(gè)人信息(而不是在用戶點(diǎn)擊授權(quán)按鈕時(shí)獲取),但是這個(gè)過(guò)程是異步的。

    可以看到我們的授權(quán)按鈕的出現(xiàn)時(shí)根據(jù){{!hasUserInfo}}的真值來(lái)判斷,這個(gè)值可以通過(guò)app.js是否獲取了信息來(lái)賦值。

    <block wx:if="{{!hasUserInfo}}">
     <image class="userAvatar" src='../../images/icon/wechat.png'></image>
     <button open-type="getUserInfo" bindgetuserinfo="getUserInfo">微信授權(quán)登錄</button>
    </block>

    但是,可能出現(xiàn)用戶已經(jīng)授權(quán)了,但是app.js獲取個(gè)人信息時(shí)過(guò)慢,然而我們的授權(quán)按鈕卻錯(cuò)誤的以為app.js沒(méi)有獲取到信息,所以將授權(quán)按鈕渲染了出來(lái)。

    這時(shí),我們希望,在app.js判斷用戶已經(jīng)授權(quán)且獲取到信息后,告訴我們的授權(quán)按鈕。

    我們?cè)趍e.js中添加如下代碼段。

    onLoad: function() {
     // 獲取個(gè)人信息
     if(app.globalData.userInfo){
     this.setData({
     userInfo: app.globalData.userInfo,
     hasUserInfo: true
     })
     }else{
     // 在app.js沒(méi)有獲取到信息時(shí),判斷app.js的異步操作是否返回信息
     app.userInfoReadyCallback = res => {
     this.setData({
     userInfo: app.globalData.userInfo,
     hasUserInfo: true
     })
     }
     }
    }

    為什么這里會(huì)有個(gè)app.userInfoReadyCallback函數(shù)呢,我們注意到在app.js的wx.getSetting里有一段回調(diào)函數(shù),這個(gè)函數(shù)就是用來(lái)解決異步的問(wèn)題。

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    微信小程序 調(diào)用微信授權(quán)窗口相關(guān)問(wèn)題解決

    微信小程序 調(diào)用微信授權(quán)窗口相關(guān)問(wèn)題解決:引言 微信小程序?yàn)榱藘?yōu)化用戶體驗(yàn),取消了在進(jìn)入小程序時(shí)立馬出現(xiàn)授權(quán)窗口。需要用戶主動(dòng)點(diǎn)擊按鈕,觸發(fā)授權(quán)窗口。 那么,在我實(shí)踐過(guò)程中,出現(xiàn)了以下問(wèn)題。 1. 無(wú)法彈出授權(quán)窗口 2. 希望在用戶已經(jīng)授權(quán)的情況下,不顯示按鈕 1. 具體實(shí)現(xiàn) app.js
    推薦度:
    標(biāo)簽: 微信 小程序 微信小程序
    • 熱門(mén)焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門(mén)推薦

    專(zhuān)題
    Top
    主站蜘蛛池模板: 亚洲AV无码成人精品区大在线 | 国产三级国产精品国产普男人| 精品久久久久久99人妻| 日本一卡精品视频免费| 国产精品久久久久一区二区三区| 国产欧美亚洲精品A| 亚洲第一区精品日韩在线播放| 国产精品99久久久久久www| 1024国产欧美日韩精品| 亚洲AV永久无码精品| 久久久久九九精品影院| 国产精品一区在线观看你懂的| 欧美精品在线一区| www.久久精品| 精品久久久久久国产潘金莲| 一区二区日韩国产精品| 欧美精品丝袜久久久中文字幕| 国产精品婷婷午夜在线观看| 日韩精品免费在线视频| 国产精品毛片久久久久久久 | 国产精品久久国产精麻豆99网站| 亚洲中文字幕无码久久精品1| 欧美精品成人3d在线| 精品精品国产理论在线观看| 国产精品爱搞视频网站| 国产精品 综合 第五页| 99热这里只有精品6国产免费| 亚洲综合精品一二三区在线| 久久精品国产免费一区| 精品久久一区二区三区| 久草视频在线这里精品| 精品一区二区久久久久久久网站| 精品三级AV无码一区| 精品免费人成视频app| 国产精品无码一区二区三区电影| 久久99国产精品尤物| 国内精品久久久久影院日本| 97精品一区二区视频在线观看 | 中文字幕一精品亚洲无线一区| 四库影院永久四虎精品国产| 人妻无码精品久久亚瑟影视|