公众号网页项目通过扫码一键登录后解决微信地理授权

发布时间 2023-04-06 16:42:12作者: 笠侹凯树

根据joinId来决定是否重定向网页来得到微信网页授权。

当前页面为qlUpdate,qlUpdate为qucikLoginUpdate的简写。

joinId有值,则重定向到网页qlUpdateByScan。joinId是通过扫码传过来的queryString参数,参数名为id。

 

 扫码后先进入到qlUpdate页面,但是一键登录需要微信网页授权,而微信网页授权不得不进行的操作是重定向页面。

为了解决微信网页授权问题,一比一复刻了qlUpdate页面元素到qlUpdateByScan,joinId有值,意味着是通过扫码来一键登录,需要重定向到qlUpdateByScan页面;无值则是通过常规按钮单击事件来进行微信网页授权,在单击按钮时已经进行了网页的重定向,所以在qlUpdate页面即可一键登录。

 

 

 

 

常规手机号登录/注册

 

 微信快捷登录

 

 主页页面

 

 扫码的地理授权问题的解决

通过常规的操作进到首页后,微信平台会给一个授权地理位置的弹窗。而通过扫码后登录进到首页,这个授权地理位置的弹窗没有了,逐步排查问题原因,发现是扫码后的登录,在进入首页时的URL里有code和state的信息导致的。

所以在拿到微信用户信息后,可通过js的重定向技术再重定向到首页,进而可拿到地理位置授权弹窗。

 

  

效果