原文链接:/?p=1109
公众号:大师兄
需求场景
微信第三台平台只能绑定一个域名.
当从另一个域名下的系统进行绑定操作时,只能以打开指定域名的方式进行二维码扫码授权.
同时又需要保持当前的访问状态不被影响,所以在pc
端使用打开新窗口的方式.
授权成功后需要跳转一个回调地址,打开url
的时候retunUrl
是网址的参数形式,不论是传参给后端还是新网页,都要进行一次编码转化
新窗口
当前网页加载
window.location.href=""
新窗口加载
window.open("");
base64
转码url
当url
携带有http
网址参数的时候,对url
进行base64
编码解码
?id=123&returnUrl=/returnPage
字符串转base64
function encode(str){// 将字符串编码var encodeStr = encodeURI(str);// 转化为base64var base64 = btoa(encodeStr);return base64;}
base64
转字符串
function decode(base64){// base64解码var decodeStr = atob(base64);// 转字符串var str = decodeURI(decodeStr);return str;}