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。

最新文章

  1. lamp搭建,thinkphp安装
  2. oracle之synonym小结
  3. Codeforces 710 D. Two Arithmetic Progressions
  4. 旋转轮子 UIActivityIndicatorView
  5. 关于DWZ模板中全选的使用
  6. ClassNotFoundException异常的解决方法
  7. windows远程连接linux桌面---使用tightvnc或者tigervnc
  8. 制作win7+ubuntu +winPE+CDlinux多系统启动U盘
  9. 通讯录改造——MVC设计模式
  10. percona-MYSQLGUI监控
  11. BFC与IFC
  12. ubuntu-10.04的测试环境 安装测试 Coreseek开源中文检索引擎-Sphinx中文版
  13. LinearLayout具体解释一:LinearLayout的简单介绍
  14. DynamicObject扩展--实现JSON和DynamicObject的序列化与反序列化
  15. CompletionService 简介
  16. ubuntu linux c学习笔记----共享内存(shmget,shmat,shmdt,shmctl)
  17. Redis详解(四)------ redis的底层数据结构
  18. 转载&amp;修改:赶集mysql军规
  19. PhpStorm破解版及使用教程
  20. jenkins+maven+svn+npm自动发布部署实践

热门文章

  1. dede修改文章页命名规则
  2. dubbo服务暴露过程
  3. 开源一个C# Class实现Openfire登陆、推出、消息发送,方便其他系统集成IM功能了
  4. 【编程技术-Shell】AWK使用大全
  5. Oracle练习笔记
  6. selector.select()和selector.selectedKeys()
  7. springBoot启动时让方法自动执行的几种实现方式
  8. IOS多选单选相册图片
  9. IE浏览器上传文件后返回结果会自动弹出下载框
  10. DateGridView 分页显示