最新更新(2018-12-27): 最近做了改版,做成默认进来就是首页,然后去判断有没有用户信息,没有的话再去判断用没授权过,如果授权过直接自动去获取,没有的话再跳转到授权页面。因为用户授权主要就是针对新用户,对于日常使用的用户来说频次几乎为0,所以才做这样的修改。
还有,新上手的朋友的话,注意多看看路由,采用重定向或者重启动,这样的话,在进入到授权页面后,就没有左上角的返回按钮了!!!
这是以前小程序的用户授权方式,根据scope判断到全局数据里没有用户信息时可以主动调用授权弹框,然而最近更改了这一说明,说是为了提高用户体验度。
更改后的方式为:必须让用户自己主动点击open-type为getUserInfo的按钮才能触发,把弹框的主动权还给了用户。
注意:scope 为 "scope.userInfo" 时,无法弹出授权窗口,请使用 <button open-type="getUserInfo"></button>
对于何时让用户去点击这个按钮有两种方案
一:用户切换tab页到个人中心的时候个人中心页面判断无用户信息时展示授权按钮,或者用户进行相关业务点击的时候让他先授权。
二:进小程序就直接需要用户点击授权,当然,页面上可以做一下处理。我采用就是这种方式。因为业务场景需要用户第一时间授权拿到用户信息。
具体:第一步:用户进到小程序的第一个页面不是tab主页面,而是授权页面。
在进入页面的时候还给欢迎一行字加了动画出场,开始使用也是。开始使用按钮就是授权按钮。
当用户点击允许后则跳转到tab主页面。这才相当于进入小程序,若是用户点击拒绝。那么就跳转到提示页面,提示用户授权。
用户毫无选择,只能点击这个按钮并同意授权,不然无法正常进入小程序。
在授权页面onload时判断一下,若是有app.globalData.userInfo则跳转到tab主页面。(唯一不好的地方就是,会有零点几秒的页面切换效果)
请发表评论