微信公众号第三方登录window.open打开新窗口和url携带http网址参数base64转码传参

原文链接:https://dsx2016.com/?p=1109

公众号:大师兄2016

需求场景

微信第三台平台只能绑定一个域名.

当从另一个域名下的系统进行绑定操作时,只能以打开指定域名的方式进行二维码扫码授权.

同时又需要保持当前的访问状态不被影响,所以在pc端使用打开新窗口的方式.

授权成功后需要跳转一个回调地址,打开url的时候retunUrl是网址的参数形式,不论是传参给后端还是新网页,都要进行一次编码转化

新窗口

当前网页加载

window.location.href="https://dsx2016.com"

新窗口加载

window.open("https://dsx2016.com");

base64转码url

url携带有http网址参数的时候,对url进行base64编码解码

https://dsx2016.com?id=123&returnUrl=https://dsx2016.com/returnPage

字符串转base64

function encode(str){
    // 将字符串编码
    var encodeStr = encodeURI(str);
    // 转化为base64
    var base64 = btoa(encodeStr);
    return base64;
}

base64转字符串

function decode(base64){
    // base64解码
    var decodeStr = atob(base64);
    // 转字符串
    var str = decodeURI(decodeStr);
    return str;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章