• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信小程序 > 微信小程序取消授权问题:用户拒绝授权了,该怎么处理呢?

微信小程序取消授权问题:用户拒绝授权了,该怎么处理呢?

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-11-30

匿名通过本文主要向大家介绍了小程序 授权等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
在做小程序开发的时候,我们经常会需要获取用户的一些权限。比如获取用户信息用于直接登录,获取地理位置用于定位等。但要是用户拒绝授权了,该怎么处理呢?

问题分析

在小程序里面,获取到用户权限是进行某些操作的必要前提。比如在进入小程序的时候,获取到用户信息,拿到 unionId 对应到自己平台的账号进行登录,免去用户自己输入账号密码,这就是一个不错的体验。

当我们调用 wx.getUserInfo 或者 wx.getLocation 这种需要用户授权的 API 时,小程序会弹框让用户选择授权:

当用户选择允许后,下次再进入小程序就不会再询问了,直接获得用户授权(除非将小程序删了再进入)。这里的问题在于,当用户点了拒绝之后,就拿不到相关授权了,并且在一段时间内,进入小程序都不会再出现这个弹框。

从用户体验及保护隐私的角度考虑,小程序最好是不用授权也可以使用(或者体验)。但有些类型的小程序确实是需要拿到用户信息才能使用的。这里提供一个简单的解决方案。

解决方案

以获取用户信息直接登录为例。增加一个授权页面,作为进入小程序的第一个页面,在这里获取用户数据和登录。默认可以什么都不显示,也可以当做引导页来使用。

获取用户信息需要用到 wx.login 和 wx.getUserInfo 两个 API,关于这两个 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
          })
        }
      })
    }
  })
}
  • 当上门代码走到了 fail 里面,就可以认为在获取授权的时候,用户点了拒绝。当 getUserInfoFail 为 true 的时候,可以展示一个获取授权的按钮,比如像这样:

接下来介绍另一个 API : wx.openSetting,使用 wx.openSetting 可以跳转到小程序的授权设置界面,在安卓里面它长这样:

在点击授权按钮后跳转到这里,让用户授权了才给进入首页,否则就停留在授权页面。

但还有个小问题,这个 API 是基础库 1.1.0 才有的,所以需要做兼容处理:

所以,最终跳转授权的代码如下:

//跳转设置页面授权
openSetting: function () {
  var that = this
  if (wx.openSetting) {
    wx.openSetting({
      success: function (res) {
        //尝试再次登录
        that.login()
      }
    })
  } else {
    wx.showModal({
      title: '授权提示',
      content: '小程序需要您的微信授权才能使用哦~ 错过授权页面的处理方法:删除小程序->重新搜索进入->点击授权按钮'
    })
  }
}
  • 还好 1.1.0 已结算是比较早的版本了,现在都出到 1.3.0 了。

同样的处理方式也可以用在获取别的权限上

相关文章:

微信小程序授权机制详解

微信小程序实现同步请求授权的实例分析

以上就是微信小程序取消授权问题:用户拒绝授权了,该怎么处理呢?的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2018-11-30微信小程序的火车票查询的代码
  • 2018-11-23微信小程序云开发API update
  • 2018-11-30微信小程序商城开发之动态API实现商品的详情页的代码(下)
  • 2018-11-30微信小程序中跳转页面的两种方法
  • 2018-11-30微信小程序开发之“微天气”教程(二)
  • 2018-11-30微信小程序实现导航栏选项卡的效果
  • 2018-11-30微信小程序 wxapp视图容器 view详解
  • 2018-11-30微信小程序开发购物车的实例代码
  • 2018-11-30微信小程序 实现列表刷新的实例详解
  • 2018-11-30PHP如何使用文件锁解决高并发问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 关于容器组件的6篇文章推荐
    • 小程序开发分享页面后返回首页
    • 开发微信服务器接口的实例教程
    • 微信小程序中用WebStorm使用LESS的方法
    • 一个删除进程的小程序详细介绍
    • 关于app应用实例用法汇总
    • 初探“微信小小程序”
    • 微信小程序)表单验证开发二
    • 微信小程序如何实现获取微信运动步数的案例(图)
    • 微信小程序支付及退款流程的介绍

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有