采坑微信授权和支付回调

210 阅读1分钟

前言

因业务需求,h5页面需要调起微信授权获取用户的昵称,查看微信h5文档之后,我们采用以snsapi_userinfo为scope发起的网页授权,来获取用户的基本信息。

微信h5项目上线之后,发现一个很诡异的问题,在部分手机上,使用系统的一个搜索功能,从微信公众号第一次进入系统,出现无法选中系统的问题。但是在网页上面都可以选中。

分析

我就想着把业务场景重现,下载微信开发者工具,在里面可以看到打印或者网络请求。结果发现是微信回调的地址参数乱了,需要这样处理一下:

const urlArr = winHref.match(/\/\?(\S*)#/)
window.location.href = `${winHref.split('/?')[0]}/#${winHref.split('#')[1]}&${urlArr[1]}`