当前位置: 首页 > Web前端 > vue.js

h5页面获取微信码

时间:2023-03-31 23:26:00 vue.js

最近要求做一个h5登录页面。需求是扫描微信中的二维码链接,不同城市的同事填写个人信息提交后台实现签到功能。微信授权文档,https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect\_uri=REDIRECT\_URI&response\_type=code&scope=SCOPE&state=STATE#wechat\_redirect,这个是获取微信码request,//是测试号idletappid="yourappid";//官方路径letlink='你的h5官方路径';//重定向会带state参数,我的需求需要区分是哪个城市?你不需要写状态字段letcity='nj';window.location.href=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${encodeURIComponent(link)}&response_type=code&scope=snsapi_base&state=${city}#wechat_redirect`;我这里只需要get打开,所以我使用静默授权scope=snsapi_base需要判断是否是微信自带的浏览器打开,有拦截判断公众号拦截代码,下面是我的代码整个业务:逻辑都在getWxCode()方法中,先判断是否是公众号模拟器环境。接下来调用getUrlParam('code')方法。如果有,则表示已获取请求。如果没有,会请求微信接口获取code。获取成功后,可以将code发给后台,后台请求获取openid。上面代码不多,参考了网上很多写法。我也会把这些链接贴出来,希望能帮助到需要的人。通过微信网页授权获取用户OpenId(微信公众平台配置我主要参考这个链接)微信H5授权获取代码,获取用户信息(我主要参考这位前辈的代码,写的真好)配置域名公众号微信开放平台微信开放平台(又一)。看了官网的文档和上面前辈的代码,才明白这里的需求。非常感谢他们,希望能帮助到有需要的朋友。