微信授权时序图镇楼
最近对接了PC网站微信登录和绑定微信,在写的过程中遇到两个问题,微信在授权成功后,会重定向一个页面,在这个页面会带有一些参数,我们需要拿到这些参数来做进一步的业务逻辑处理。
在这里我们可以用两个方法来实现(拿到地址栏参数并解析)的效果:
拿到base64参数
- function getQueryVariable(variable)
- {
- var query = window.location.search.substring(1);
- //widow的Location对象里面的search属性,返回一个URL的查询部分
- //substring(1)可以去掉参数的'?'
- var vars = query.split("&");
- //参数在'&'处分割,字符串转为数组
- for (var i=0;i<vars.length;i++) {
- var pair = vars[i].split("=");
- //for循环拿到url参数,在'='号处分割,字符串转为数组
- if(pair[0] == variable){return pair[1];}
- //如果=号左边的参数名字等于传入的参数名字,return出去
- }
- return(false);
- }
解析base64参数
- function b64DecodeUnicode(str) {
- return decodeURIComponent(atob(str).split('').map(function(c) {
- return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
- }).join(''));
- }
效果
上面解析后拿到的是字符串,我们通过JSON.parse方法转为对象,如下图:
完成
微信小程序
互联网开发,终身学习者,欢迎您的关注!