【微信公众号】微信公众号H5【微信网页授权快照页】问题解决方案

一、网页快照页模式介绍

微信网页授权能力调整公告 | 微信开放社区

快照页将会默认对用户屏蔽网页授权弹窗,用户在快照页中仅可进行滑动浏览操作,其他交互将被限制,并提示用户“该网页需获取个人信息才可使用完整服务,当前仅可浏览部分内容”。用户如需要使用完整网页服务,可轻触右下角 “使用完整服务” 按钮触发授权弹窗,用户确认后进入原网页。

 

二、生产环境出现情况:

1、用户未关注公众号
2、通过分享出去的页面或者链接,打开并进行snsapi_userinfo登录

 

三、开发复现:

1.必须真机测试
2.调用授权的方式必须是,进入这个页面就进行登陆
3.打开方式:必须是分享出去的页面或者链接,不能是从公众号菜单页面进入
4.必须取消关注公众号
5.forceSnapShot(只需要用到forcePopup,不需要forceSnapShot)

 

四、解决方案:尽量避免触发快照,对于特殊情况触发了快照给予引导提示

1、【不快照触发】针对链接带有parent_id的,在授权登录跳转前,弹窗提示,或者跳转到指定的登录页,这里旧项目快速兼容选择弹窗
(带parent_id一般是分享出去的,会触发快照,不带parent_id的是从公众号点击的,一般不会触发)
2、【触发快照拦截提示】用户登陆授权以后,请求后端,后端通过 code 换取网页授权access_token的时候,如果是快照模式则会返回is_snapshotuse字段
- 可以通过is_snapshotuser=1或者是昵称是“微信用户”,用户信息不入库,并返回is_snapshotuser=1给前端
- 前端识别到is_snapshotuser=1,弹窗引导用户点击右下角使用完整功能唤起授权

 

参考文献:

https://blog.csdn.net/qq_59747594/article/details/127197171

 

posted @ 2022-11-25 16:50  蓝色星辰1993  阅读(2165)  评论(0编辑  收藏  举报