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

需求场景

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

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

同时又需要保持当前的访问状态不被影响,所以在 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;
}
我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章