微信小程序新版用户授权方式处理
最新更新(2018-12-27): 最近做了改版,做成默认进来就是首页,然后去判断有没有用户信息,没有的话再去判断用没授权过,如果授权过直接自动去获取,没有的话再跳转到授权页面。因为用户授权主要就是针对新用户,对于日常使用的用户来说频次几乎为0,所以才做这样的修改。
还有,新上手的朋友的话,注意多看看路由,采用重定向或者重启动,这样的话,在进入到授权页面后,就没有左上角的返回按钮了!!!

这是以前小程序的用户授权方式,根据scope判断到全局数据里没有用户信息时可以主动调用授权弹框,然而最近更改了这一说明,说是为了提高用户体验度。
更改后的方式为:必须让用户自己主动点击open-type为getUserInfo的按钮才能触发,把弹框的主动权还给了用户。
注意:scope 为 "scope.userInfo" 时,无法弹出授权窗口,请使用 <button open-type="getUserInfo"></button>
对于何时让用户去点击这个按钮有两种方案
一:用户切换tab页到个人中心的时候个人中心页面判断无用户信息时展示授权按钮,或者用户进行相关业务点击的时候让他先授权。
二:进小程序就直接需要用户点击授权,当然,页面上可以做一下处理。我采用就是这种方式。因为业务场景需要用户第一时间授权拿到用户信息。
具体:第一步:用户进到小程序的第一个页面不是tab主页面,而是授权页面。

在进入页面的时候还给欢迎一行字加了动画出场,开始使用也是。开始使用按钮就是授权按钮。
当用户点击允许后则跳转到tab主页面。这才相当于进入小程序,若是用户点击拒绝。那么就跳转到提示页面,提示用户授权。

用户毫无选择,只能点击这个按钮并同意授权,不然无法正常进入小程序。
在授权页面onload时判断一下,若是有app.globalData.userInfo则跳转到tab主页面。(唯一不好的地方就是,会有零点几秒的页面切换效果)
微信小程序新版用户授权方式处理的更多相关文章
- 微信小程序开发 - 用户授权登陆
		
准备:微信开发者工具下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 微信小程序开发文档:htt ...
 - 微信小程序开发用户授权登录
		
用wx.login获取登录凭证code <!--pages/user/index.wxml--> <view hidden='{{boolean}}'> <view wx ...
 - [微信小程序] 微信小程序获取用户定位信息并加载对应城市信息,wx.getLocation,腾讯地图小程序api,微信小程序经纬度逆解析地理信息
		
因为需要在小程序加个定位并加载对应城市信息 然而小程序自带api目前只能获取经纬度不能逆解析,虽然自己解析方式,但是同时也要调用地图,难道用户每次进小程序还要强行打开地图选择地址才定位吗?多麻烦也不利 ...
 - 基于微信小程序的用户列表点赞功能
		
代码地址如下:http://www.demodashi.com/demo/13997.html 一.前言 (1).适合人群 1.微信小程序开发者 2.前端工程师 3.想入门学习小程序开发的人员 4.想 ...
 - 微信小程序获取地理位置授权
		
微信小程序获取地理位置授权,首先需要在app.json中添加配置: "permission": { "scope.userLocation": { " ...
 - 微信小程序 获取用户信息并保存登录状态
		
微信小程序 获取用户信息并保存登录状态:http://www.360doc.com/content/18/0124/11/9200790_724662071.shtml
 - Laravel wxxcx 微信小程序获取用户信息
		
wxxcx 是Laravel5微信小程序登录获取用户信息扩展 部署 12345678 # 安装$ composer require iwanli/wxxcx# 注册服务# 在 /config/app. ...
 - 【微信小程序】用户首次进入小程序拒绝授权,如何再次调用授权页面,获取用户信息userInfo
		
前言:微信小程序的app.js里面,最少有2个接口,一个wx.login:一个是wx.getUserInfo: 前者得到腾讯给我们的微信用户唯一的code,通过code获取openid,这个不需要用户 ...
 - 微信小程序--获取用户地理位置名称(无须用户授权)的方法
		
准备 1.在http://lbs.qq.com/网站申请key 2.在微信小程序后台把apis.map.qq.com添加进request合法域名 效果 添加封装 /** * 发起网络请求 * @par ...
 
随机推荐
- vue2.0中v-on绑定自定义事件的理解
			
vue中父组件通过prop传递数据给子组件,而想要将子组件的数据传递给父组件,则可以通过自定义事件的绑定. 每个Vue实例都实现了[事件接口],即: 1.使用 $on(eventName) 监听事件 ...
 - type="button"和type="submit"的区别
			
type="button" ,"submit" 的区别(转) Submit是专门用于提交表单的Button,与Button的区别主要有两点: type=button 就单纯是按钮功能 type=s ...
 - C++中 set(集合容器)的用法
			
set集合容器: 实现了红黑树(Red-Black Tree)的平衡二叉检索树的数据结构,在插入元素时, 它会自动调整二叉树的排列,把该元素放到适当的位置,以确保每个子树根节点的键值大于左子树所有节点 ...
 - 安装busybox玩玩
			
到http://www.busybox.net/downloads/binaries/下载放到sdcard然后adb shellsumount -o remount,rw -t yaffs2 /dev ...
 - C#mail发送
			
这里,简单封装一个函数来发送邮件,代码如下: /// <summary> /// 邮件发送辅助类 /// </summary> public class MailHelper ...
 - STL算法分类记忆
			
STL算法主要是我们强大的标准库中以迭代器或数值或函数对象为参数预先定义好的一系列算法操作. 在STL算法分类中首先要提的就是两个普遍存在的后缀: _if _copy 其中这两个后缀的作用分别是:一. ...
 - asmlinkage的作用
			
本文转载自:http://blog.chinaunix.net/uid-24945116-id-83893.html 学习啦! asmlinkage是个宏,使用它是为了保持参数在stack中.因为从汇 ...
 - mem系函数总结
			
memset(); 原型: void *memset(void *s, int ch, size_t n); 含义: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的 ...
 - BZOJ2346:[Baltic 2011]Lamp(最短路)
			
Description 2255是一个傻X,他连自己家灯不亮了都不知道. 某天TZ大神路过他家,发现了这一情况, 于是TZ开始行侠仗义了. TZ发现是电路板的问题, 他打开了电路板,发现线路根本没有连 ...
 - BZOJ2440:[中山市选2011]完全平方数(莫比乌斯函数)
			
Description 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平方数.他觉得这些数看起来很令人难受.由此,他也讨厌所有是完全平方数的正整数倍的数.然而这丝毫不影响他对其他数的热爱. 这天是 ...