新浪科技

第一次打开小程序,用户拒绝登录授权怎么办?

新浪综合

关注

爱范儿

知晓程序注:

现在,有不少小程序都加入了‘微信登录’功能,它可以便于用户直接使用微信帐户登录小程序,免去了用户需要额外注册、登录的麻烦。

但在现实中,许多用户都会有意无意‘拒绝’了小程序请求登录的权限,导致用户无法正常使用小程序。

知晓程序(微信号 zxcx0101)本期带来的文章,会告诉你如何正确处理用户拒绝授权的情况。

文 | charliesong

大多数小程序的登录界面,都是这样设计的:

这些小程序,在用户一进来就会提示需要授权。有部分人可能就会点‘拒绝’,而且这部分用户的比例可能超出我们的预估。

在用户后续操作的时候,点击拒绝的用户可能就无法正常使用小程序了。而且,小程序会缓存一段时间用户的授权数据,询问后的一段时间内会默认拒绝权限,不再弹出授权登录的页面。

这时候,用户只能删除小程序,重新启动、允许授权才能继续操作。

我觉得,好的体验方式是:在必须需要用户授权登录的页面或操作(比如支付,创建表单)的时候,再提醒用户需要登录。

如果用户还是点‘拒绝’,我们再向用户提示‘必须授权登录之后才能继续操作’,请求用户开启相应权限。

以‘制作器’小程序中,必须要求用户登录的‘我的钱包’页面为例,我们来聊聊如何做到这一点。

if (!user) { wx.login({ success: function (res) { var code = res.code; wx.getUserInfo({ success: function (res) { // 当用户授权成功的时候,保存用户的登录信息 }, fail: function (res) { //用户点了“拒绝” wx.showModal({}) // 向用户提示需要权限才能继续 wx.openSetting({ success: (res) = & amp;gt; { if (res.authSetting[“scope.userInfo”]) {} // 如果成功打开授权 else {} // 如果用户依然拒绝授权 }, fail: function () { //调用失败,授权登录不成功 fail() } }) } }) } })}

在‘我的钱包’页面,我们可以这样来调用登录逻辑:

var that = thisapi.login(function (user) { //登录成功 wx.showNavigationBarLoading() wx.showToast({ title: ‘Loading……’, duration: 5000, icon: ‘loading’ }) api.getUserInfo(function (res) { //根据用户资料,获取该用户的余额信息并显示 wx.hideToast() wx.hideNavigationBarLoading(); } }, function () { //没有获取到用户信息,登录失败 }})

这样做之后,当用户进入‘我的钱包’页面,就是这样了(如果用户已经登录过,就会直接显示内容):

原文地址:http://www.jianshu.com/p/592c60e94e3a

‘制作器’小程序使用链接https://minapp.com/miniapp/3501/

关注‘知晓程序’公众号,在微信后台回复‘带参二维码’,获取小程序取得带参数小程序码的方法。

加载中...