1.官方回答(稀碎)
快照页将会默认对用户屏蔽网页授权弹窗,用户在快照页中仅可进行滑动浏览操作,其他交互将被限制,并提示用户 “该网页需获取个人信息才可使用完整服务,当前仅可浏览部分内容”。用户如需要使用完整网页服务,可轻触右下角 “使用完整服务” 按钮触发授权弹窗,用户确认后进入原网页。
2.开放社区大佬里的评论
网页授权快照bug | 微信开放社区
公众号H5授权快照页问题,是否开发一个游客页面,然后用户点击就能避免进入快照页? | 微信开放社区
3.开发人员复现授权快照页面
3.1取消关注公众号
3.2在调用授权的端口进行修改
3.3复现大坑
1.必须真机测试
2.调用授权的方式必须是,进入这个页面就进行登陆(这就是官方所说的不规范登陆授权)
3.打开方式:必须是分享出去的页面或者链接,不能是从公众号菜单页面进入
4.必须取消关注公众号
5.forceSnapShot(!!!!!!!!!!!坑)
官方说有这个,并且已经把文档更新了,但是现在文档这个字段估计已经被人家官方删除了,坑死,(复现只需要用到forcePopup,不需要forceSnapShot)
4.解决授权快照
思路,只需要在进行网页授权的时候,对他进行一下拦截,或者新建一个登陆页面,让授权不是直接进入页面就调用
解决方法一
在页面进入的时候,判断是否登陆,如果未登录,就发起一个showModal弹窗
解决方法二
在页面进入的时候,判断是否登陆,如果未登录,就跳转登陆页面,点击按钮授权登陆以后,再跳转回来页面
解决方法三
用户登陆授权以后,请求后端,后端通过 code 换取网页授权access_token的时候,如果是快照模式则会返回is_snapshotuse字段,非快照模式不返回这个字段,可以通过这个字段对用户进行处理来拦截快照模式