微信小程序的授权问题

小程序授权是基础操作,有些问题是一定会遇上的。微信小程序在更新授权开发方式后,产生了一些让人易混淆的问题。

比如最近处理一个【保存到相册】授权的功能。使用  wx.authorize({...})  API只会发起一次授权申请,当用户没授权时,后边就不再弹出授权申请了。

解决方法就是使用 open-type 的方式。这种方式遇到两个问题:

1. 开发不方便,writePhotosAlbum 这个权限需要使用 bindopensetting,不象 getuserinfo 会直接弹出申请保存到相册的权限申请弹窗。

2. 在用户首次打开 open-type="openSetting"  时,以前没有授权过的权限不会展示在权限列表内。你只能加逻辑,先申请到相应的权限后,这种方式才管用。

基于上述问题,将保存到相册的权限申请提前到onload方法中,而不是在用到时再去申请,那样操作增加复杂度,因为加入了业务逻辑。

因为简书的代码引入不光看的时候垃圾,编辑时更垃圾,所以不上代码了。以上其实思路已经很明确了。先使用 wx.getSetting API获取用户授权列表,如果不存 writePhotosAlbum 这一项(undefined),则使用 wx.authorize 先申请权限 ,否则弹窗一个 open-type 的按钮,用户手动点。

就酱。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。