微信公衆號第三方登錄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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章