小程序沒有授權(quán)時的處理方法

在做小程序開發(fā)的時候管削,我們經(jīng)常會需要獲取用戶的一些權(quán)限。比如獲取用戶信息用于直接登錄撑螺,獲取地理位置用于定位等含思。但要是用戶拒絕授權(quán)了,該怎么處理呢实蓬?

問題分析

在小程序里面茸俭,獲取到用戶權(quán)限是進(jìn)行某些操作的必要前提吊履。比如在進(jìn)入小程序的時候,獲取到用戶信息调鬓,拿到 unionId 對應(yīng)到自己平臺的賬號進(jìn)行登錄艇炎,免去用戶自己輸入賬號密碼,這就是一個不錯的體驗腾窝。

當(dāng)我們調(diào)用 wx.getUserInfo 或者 wx.getLocation 這種需要用戶授權(quán)的 API 時缀踪,小程序會彈框讓用戶選擇授權(quán):

當(dāng)用戶選擇允許后,下次再進(jìn)入小程序就不會再詢問了虹脯,直接獲得用戶授權(quán)(除非將小程序刪了再進(jìn)入)驴娃。這里的問題在于,當(dāng)用戶點了拒絕之后循集,就拿不到相關(guān)授權(quán)了唇敞,并且在一段時間內(nèi),進(jìn)入小程序都不會再出現(xiàn)這個彈框咒彤。

從用戶體驗及保護(hù)隱私的角度考慮疆柔,小程序最好是不用授權(quán)也可以使用(或者體驗)。但有些類型的小程序確實是需要拿到用戶信息才能使用的镶柱。這里提供一個簡單的解決方案旷档。

解決方案

以獲取用戶信息直接登錄為例。增加一個授權(quán)頁面歇拆,作為進(jìn)入小程序的第一個頁面鞋屈,在這里獲取用戶數(shù)據(jù)和登錄。默認(rèn)可以什么都不顯示故觅,也可以當(dāng)做引導(dǎo)頁來使用厂庇。

獲取用戶信息需要用到 wx.login 和 wx.getUserInfo 兩個 API,關(guān)于這兩個 API 的具體信息大家可以到官方文檔去查看逻卖。

增加一個登陸方法宋列,代碼如下:

//登錄
login: function () {
  var that = this
  if (typeof success == "function") {
    this.data.getUserInfoSuccess = success
  }
  wx.login({
    success: function (res) {
      var code = res.code;
      wx.getUserInfo({
        success: function (res) {
          //平臺登錄
        },
        fail: function (res) {
          that.setData({
            getUserInfoFail: true
          })
        }
      })
    }
  })
}

當(dāng)上面代碼走到了 fail 里面,就可以認(rèn)為在獲取授權(quán)的時候评也,用戶點了拒絕炼杖。當(dāng) getUserInfoFail 為 true 的時候,可以展示一個獲取授權(quán)的按鈕盗迟,比如像這樣:

接下來介紹另一個 API : wx.openSetting坤邪,使用 wx.openSetting 可以跳轉(zhuǎn)到小程序的授權(quán)設(shè)置界面,在安卓里面它長這樣:

在點擊授權(quán)按鈕后跳轉(zhuǎn)到這里罚缕,讓用戶授權(quán)了才給進(jìn)入首頁艇纺,否則就停留在授權(quán)頁面。

但還有個小問題,這個 API 是基礎(chǔ)庫 1.1.0 才有的黔衡,所以需要做兼容處理:

所以蚓聘,最終跳轉(zhuǎn)授權(quán)的代碼如下:

//跳轉(zhuǎn)設(shè)置頁面授權(quán)
openSetting: function () {
  var that = this
  if (wx.openSetting) {
    wx.openSetting({
      success: function (res) {
        //嘗試再次登錄
        that.login()
      }
    })
  } else {
    wx.showModal({
      title: '授權(quán)提示',
      content: '小程序需要您的微信授權(quán)才能使用哦~ 錯過授權(quán)頁面的處理方法:刪除小程序->重新搜索進(jìn)入->點擊授權(quán)按鈕'
    })
  }
}

還好 1.1.0 已結(jié)算是比較早的版本了,現(xiàn)在都出到 1.3.0 了盟劫。

最終效果如下:

同樣的處理方式也可以用在獲取別的權(quán)限上夜牡,妥妥的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末侣签,一起剝皮案震驚了整個濱河市塘装,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌影所,老刑警劉巖蹦肴,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異猴娩,居然都是意外死亡阴幌,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門卷中,熙熙樓的掌柜王于貴愁眉苦臉地迎上來裂七,“玉大人,你說我怎么就攤上這事仓坞。” “怎么了腰吟?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵无埃,是天一觀的道長。 經(jīng)常有香客問我毛雇,道長嫉称,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任灵疮,我火速辦了婚禮织阅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘震捣。我一直安慰自己荔棉,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布蒿赢。 她就那樣靜靜地躺著润樱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪羡棵。 梳的紋絲不亂的頭發(fā)上壹若,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機與錄音,去河邊找鬼店展。 笑死养篓,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赂蕴。 我是一名探鬼主播柳弄,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼睡腿!你這毒婦竟也來了语御?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤席怪,失蹤者是張志新(化名)和其女友劉穎应闯,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挂捻,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡碉纺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了刻撒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骨田。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖声怔,靈堂內(nèi)的尸體忽然破棺而出态贤,到底是詐尸還是另有隱情,我是刑警寧澤醋火,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布悠汽,位于F島的核電站,受9級特大地震影響芥驳,放射性物質(zhì)發(fā)生泄漏柿冲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一兆旬、第九天 我趴在偏房一處隱蔽的房頂上張望假抄。 院中可真熱鬧,春花似錦丽猬、人聲如沸宿饱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刑棵。三九已至,卻和暖如春愚铡,著一層夾襖步出監(jiān)牢的瞬間蛉签,已是汗流浹背胡陪。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留碍舍,地道東北人柠座。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像片橡,于是被迫代替她去往敵國和親妈经。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 背景小程序一個比較重要的能力就是獲取用戶信息捧书,也就是使用 wx.getUserInfo接口吹泡。我們發(fā)現(xiàn)幾乎所有的小程...
    未央大佬閱讀 15,437評論 0 23
  • 給提問的開發(fā)者的建議:提問之前先查詢 文檔、通過社區(qū)右上角搜索搜索已經(jīng)存在的問題经瓷。 寫一個簡明扼要的標(biāo)題爆哑,并且...
    極樂叔閱讀 13,388評論 0 3
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,527評論 25 707
  • 【蝸牛計劃,每天進(jìn)步一點點】 我是清泉 打卡日期:2017年7月2日 打卡天數(shù):第2天 (1)我今年的三個年度目標(biāo)...
    沈曼柔閱讀 191評論 2 3
  • 他知道花舆吮,知道草揭朝,知道鳥聲,知道忽明忽暗的云 家里的人都說色冀,他那年暢飲而歸潭袱,在路邊聽見一孩兒啼哭,便將我接入府中锋恬。...
    小世界via閱讀 271評論 1 2