滴滴~早班车
1
授权那点事
微信小程序中,授权操作是一个比较常见的功能,例如授权用户信息、地理位置、录音功能等等。
授权这种事情,肯定是要用户许可的,但是如果用户拒绝之后怎么办?别指望着用户能够按套路出牌,尽可能把更多的情况考虑进去是非常有必要的。
写过用户信息授权的朋友应该清楚,用户如果拒绝后是可以重新拉起授权弹窗的。然鹅偏偏有些授权操作,一旦用户拒绝之后,短时间内是无法重新弹起授权窗口的。
例如之前弄的头像绘制功能,需要授权保存到相册的权限,拒绝之后,没有任何提示,也不会重新拉起授权弹窗,甚至关闭小程序重新打开后还是无法重新拉起,这样对用户体验相当不友好,也无法使用授权后的功能。
2
用户体验
从用户体验来看,拒绝后给一个操作反馈是很有必要的,同时告知用户不授权的结果。
同时还需要引导用户完成授权,拉起授权框很简单,只要用到了
wx.saveImageToPhotosAlbum() 保存头像的 API,如果没有保存到相册的权限就会自动拉起。
拒绝之后无法重新弹窗,这里需要设置 button 组件中open-type 为 oppenSetting,打开授权设置页,引导用户完成授权,同时给予相应提示。
我用了两个一样的按钮,使用条件渲染在不同条件下显示来处理授权问题,但是在用户体验上就是同一个按钮。
这样就能更较友好地解决用户体验和功能实现问题,还是那句话,代码写的差,只提供一个思路。
3
总结
其他的授权操作也可以用类似的方法去判断,不过其他的权限也还没有接触过,下次接触到发现其他坑点在写一篇。
同时,虽然用户信息授权操作可以重复弹起,但是突然感觉用这种引导的方法在体验上应该会更好。
领取专属 10元无门槛券
私享最新 技术干货