微信更新了网页授权页面逻辑,若不规范使用snsapi_userinfo授权将直接进入网页快照页模式,但进入此模式后获取的用户信息为虚拟账号,昵称(微信用户),头像(灰白),openid(随机),使得会员系统混乱,且登录的随机帐号无法支付。
微信的快照页模式将会默认对用户屏蔽网页授权弹窗,用户在快照页中仅可进行滑动浏览操作,其他交互将被限制,并提示用户 “该网页需获取个人信息才可使用完整服务,当前仅可浏览部分内容”。用户如需要使用完整网页服务,可轻触右下角 “使用完整服务” 按钮触发授权弹窗,用户确认后进入原网页。
根据已有开发者表述总结,发现滥用授权,基本就是要满足以下条件会出现授权页:
1.公众号未关注
2.非公众号底部菜单进入页面
3.进入的页面直接要求通过snsapi_userinfo授权登录
解决办法其实也简单,官方文档中描述了如果是虚拟帐号的话会返回is_snapshotuser字段
那就直接将授权返回的信息做拦截,提示用户使用完整服务即可。
在文件微擎目录/app/source/auth/oauth.ctrl.php文件中添加代码截断代码
if($oauth['is_snapshotuser']){
template('auth/complete');
exit;
}
然后添加文件/app/themes/default/auth/complete.html作为一个提示模版即可,如果不用摸板的话,直接messgae去提示用户即可。complete.html文件放在了最后。评论后刷新显示。
操作完成后,如果想测试效果,那就直接按照上面的要求条件,记得一定要退出登录,清空缓存,进入后触发规则。若还不行的话,就将/framework/class/account/weixin.account.class.php文件下的1659行的getOauthUserInfoUrl方法返回的链接中加入forceSnapShot=true。
有什么问题或BUG请第一时间联系QQ:505097558【承接PHP定制开发】
更多补丁插件:
- 人人商城-99商品助手插件
- 人人商城-后台模版切换插件
- 人人商城-会员皮肤检测插件
- 人人商城-分销关系图插件
- 人人商城-APP插件
- —————————–
- 人人商城-佣金微信支付升级V3提现补丁包
- 人人商城-新增单次充值升级会员等级补丁包
- 人人商城-新增满件包邮补丁包
- 人人商城-新增小程序完整余额明细补丁包
- 人人商城-新增优惠券核销补丁包
- 人人商城-营销设置增加充值送券补丁包
- 人人商城-解决选择图片重命名分组异常补丁包
- 人人商城-选择图片分组多商户隔离补丁包
- 人人商城-多商户手机端找回密码补丁包
- 人人商城-多商户电脑端找回密码补丁包
- 人人商城-付费会员卡增加开卡送余额补丁包
- 人人商城-会员收银台消费记录补丁包
- … …
感谢,学习了,谢谢
感谢,我是来学习了,谢谢
感谢,学习了,谢谢
哈哈不错
感谢分享