新的隐私协议要求用户点同意之后才可以进行授权的相关功能使用,但是这样的话,如果不在进入小程序时搞个全局的弹窗组件的话,就要在使用到权限的页面去逐个添加弹窗。
而且并不是每个页面都是页面级别的需要授权,而是有的是页面的也就是路由跳转到某页面,会需要授权。但是有的不是页面级的,而是页面中某个按钮,在点了之后才会去校验是不是有授权,而这个按钮也不是那种必点按钮,不需要页面进入的时候就去请求同意授权。
逐个页面添加的做法是能达到目的,但是太麻烦了,有没有什么解决方案,可以变成自动的,去检索,然后加上这个组件?
大佬们有啥解决方案吗?
官方的demo是需要每个页面引入授权自定义组件,如果不想这么干,可以在app.js中注册全局的onNeedPrivacyAuthorization,当接收到回调,就跳转到授权页面,这个方法可能存在的问题是如果原页面本身自己有一些页面跳转可能会有冲突,需要验证测试
您可以在小程序的 app.js 或者一个全局的组件中创建一个授权管理的组件。该组件负责显示授权弹窗、处理用户的授权操作,并提供相应的方法和事件供其他页面或组件调用。
如果你用的是uniapp,可以参考我的做法,在编译前做处理,在我的主页,文档目前还在审核。
https://developers.weixin.qq.com/community/develop/article/doc/000ca864fa092893d040b419c61413,
基本方案就是通过 transfrom 的 pre 时机自动注入组件,建议只在页面级注入,组件就不用注入了,未来无论使用什么api,都可以自动兼容,不会出幺蛾子
没有,定义个组件,每个页面复制粘贴加上就行也不费事
目前没有一劳永逸的方法。