xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

base64 bug & encodeURIComponent


window.btoa("jëh²H©¶�%28®");
// "autoskiptoclMjiu"

window.atob("auto skip to corp");
// "jëh²H©¶‡(®"

window.btoa("jëh²H©¶�(®");
// "autoskiptocorg=="

// window.atob(encodeURIComponent("auto skip to corp"));
//  VM5604:1 Uncaught DOMException: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.
//     at <anonymous>:1:8
// (anonymous) @ VM5604:1

encodeURIComponent("auto skip to corp");
// "auto%20skip%20to%20corp"

decodeURIComponent("auto%20skip%20to%20corp")
"auto skip to corp

vue


    autoSkipToDetailsByType(type = ``, id = ``) {
        // let uid = this.skipUid;
        let text = ``;
        let hash = ``;
        let title = ``;
        // <view id="enterprise"/>
        // <view id="enterprise/special-topics"/>
        // <view id="enterprise/chain"/>
        // <view id="figure/figure-topics"/>
        // <view id="data/details"/>
        // <view id="newsinfo/iframe"/>
        switch (type) {
            case "all":
                text = `auto skip to all`;
                title = "";
                hash = `search`;
                break;
            case "corp":
                text = `auto skip to corp`;
                title = "";
                hash = `enterprise/special-topics`;
                break;
            case "newsinfo":
                text = `auto skip to newsinfo`;
                title = "";
                hash = `newsinfo/iframe`;
                break;
            case "chart":
                text = `auto skip to chart`;
                title = "";
                hash = `enterprise/chain`;
                break;
            case "figure":
                text = `auto skip to figure`;
                title = "";
                hash = `figure/figure-topics`;
                break;
            case "brand":
                text = `auto skip to brand`;
                title = "";
                hash = `data/details`;
                break;
            default:
                break;
        }
        if (id && id.length) {
            // skip
            console.log(text, id);
        } else {
            id = ``;
        }
        let url = window.location.origin;
        Light.navigate(
            `${url}/#/${hash}`,
            {
                message: window.atob(text),
                id,
                // id: id,
            },
            {
                title: title,// 公司 / 资讯 / 链谱 / 人物 / 数据
                replace: false,
            },
        );
    },


原文地址:https://www.cnblogs.com/xgqfrms/p/10901159.html