垃圾堆中的精品

垃圾堆中的精品

微擎|人人商城授权快照页虚拟帐号修复解决方案

微信更新了网页授权页面逻辑,若不规范使用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/source/auth/oauth.ctrl.php

然后添加文件/app/themes/default/auth/complete.html作为一个提示模版即可,如果不用摸板的话,直接messgae去提示用户即可。complete.html文件放在了最后。评论后显示。

操作完成后,如果想测试效果,那就直接按照上面的要求条件,记得一定要退出登录,清空缓存,进入后触发规则。若还不行的话,就将/framework/class/account/weixin.account.class.php文件下的1659行的getOauthUserInfoUrl方法返回的链接中加入forceSnapShot=true。

/framework/class/account/weixin.account.class.php

有什么问题或BUG请第一时间联系QQ:505097558【承接PHP定制开发】

更多补丁插件:

  • 人人商城-99商品助手插件
  • 人人商城-后台模版切换插件
  • 人人商城-会员皮肤检测插件
  • 人人商城-分销关系图插件
  • 人人商城-APP插件
  • —————————–
  • 人人商城-佣金微信支付升级V3提现补丁包
  • 人人商城-新增单次充值升级会员等级补丁包
  • 人人商城-新增满件包邮补丁包
  • 人人商城-新增小程序完整余额明细补丁包
  • 人人商城-新增优惠券核销补丁包
  • 人人商城-营销设置增加充值送券补丁包
  • 人人商城-解决选择图片重命名分组异常补丁包
  • 人人商城-选择图片分组多商户隔离补丁包
  • 人人商城-多商户手机端找回密码补丁包
  • 人人商城-多商户电脑端找回密码补丁包
  • 人人商城-付费会员卡增加开卡送余额补丁包
  • 人人商城-会员收银台消费记录补丁包
  • … …

抱歉,只有对本文发表过评论才能阅读隐藏内容。

评论回复

  1. 回复 2332

    非常不错哦

回到顶部