使用button的open-type="getUserInfo"引導用戶進行授權


https://blog.csdn.net/weixin_39602178/article/details/80295684

一、 前言

小程序官方文檔,上面說明

> wx.getUserInfo(OBJECT) 注意:此接口有調整,使用該接口將不再出現授權彈窗,請使用

<button open-type="getUserInfo"></button>
  • 1

> 引導用戶主動進行授權操作 > 當用戶未授權過,調用該接口將直接報錯 當用戶授權過,可以使用該接口獲取用戶信息

如上文,之前用戶未授權過時,調用wx.getUserInfo會調出授權框;但現在在用戶未授權過時調用該接口,會直接走fail方法。

所以我們要使用上述button來請求用戶授權。

## 二、主體 ##

index頁面作為展示授權按鈕的頁面,並且在app.json中將index作為首頁。在判斷用戶授權之后跳轉到其他頁面。

index.wxml

<button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo" >授權登錄</button> <view wx:else>請升級微信版本</view>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

index.js

Page({
  data: {
     //判斷小程序的API,回調,參數,組件等是否在當前版本可用。 canIUse: wx.canIUse('button.open-type.getUserInfo') }, onLoad: function() { // 查看是否授權 wx.getSetting({ success: function(res){ if (res.authSetting['scope.userInfo']) { wx.getUserInfo({ success: function(res) { console.log(res.userInfo) //用戶已經授權過 } }) } } }) }, bindGetUserInfo: function(e) { console.log(e.detail.userInfo) if (e.detail.userInfo){ //用戶按了允許授權按鈕 } else { //用戶按了拒絕按鈕 } } })

tips:授權之后要跳轉到的頁面若為 tabBar中的頁面 ,則不可以用wx.navigateTo和wx.redirecTo,而應該用wx.switchTab或wx.reLaunch。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM