// 1. 获取并清洗 String0
const queryString = window.location.search;
let rawString = queryString.substring(1);
function stripMultiple(str, chars) {
    let regex = new RegExp(`^[${chars}]+|[${chars}]+$`, 'g');
    return str.replace(regex, '');
}
let String0 = stripMultiple(rawString, '/=') || "default";

// 2. 统计加载函数封装 (带 500ms 超时控制)
function withTimeout(promise, ms = 500) {
    let timeout = new Promise((resolve) => setTimeout(() => {
        console.log("统计请求超时，跳过等待");
        resolve();
    }, ms));
    return Promise.race([promise, timeout]);
}

function loadBaiduAnalytics(analysiscode) {
    return new Promise((resolve) => {
        var _hmt = _hmt || [];
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?" + analysiscode;
        hm.onload = resolve;
        hm.onerror = resolve;
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(hm, s);
    });
}

function loadBaiduAnalyticscnzz(analysiscode) {
    return new Promise((resolve) => {
        var _czc = _czc || [];
        var um = document.createElement("script");
        um.src = "https://v1.cnzz.com/z.js?id=" + analysiscode + "&async=1";
        um.onload = resolve;
        um.onerror = resolve;
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(um, s);
    });
}

// 3. 核心执行逻辑
async function main() {
    console.log("当前渠道 ID:", String0);

    // --- 第一部分：CNZZ 统计判断 ---
    let cnzzId = "";
    if (String0 === "jwg131") cnzzId = '1281470391';
    if (["AX725XRP", "MW5RFDXM"].includes(String0)) cnzzId = '1281394671';

    if (cnzzId) {
        await withTimeout(loadBaiduAnalyticscnzz(cnzzId));
    }

    // --- 第二部分：百度统计判断 ---
    const channelMap = {
        'GVVFUAGP': 'fc9ab0e190c2b7222c007ea3bd850a45',
        'V9ZGXMDE': 'fc9ab0e190c2b7222c007ea3bd850a45',
        'YSUWWFMP': 'fc9ab0e190c2b7222c007ea3bd850a45',
        '3YVGWKG3': 'fc9ab0e190c2b7222c007ea3bd850a45',
        'YQQKWMUA': 'fc9ab0e190c2b7222c007ea3bd850a45',
    };
    if (channelMap[String0]) {
        await withTimeout(loadBaiduAnalytics(channelMap[String0]));
    }

    // --- 第三部分：跳转逻辑计算 ---
    let newurls = '';

    if (["QJ9H2EMP", "MFMUXF5T"].includes(String0)) {
        newurls = 'https://dodkgsap13bivhon.glsje45108.vip:31201/dp1/hz.htm?hz000';
    } else if (["YPHP5834"].includes(String0.trim())) {
        newurls = 'https://qwrggoqfc.140261.poker:23003/1_msx9';
    } else if (["2MV8XTGA"].includes(String0)) {
        newurls = 'https://khjsxc.mo9238.mom:39002/1_md1/nice.htm?PUTPQM2N';
    } else if (["7XH6RBCX"].includes(String0)) {
        newurls = 'https://wskn8zjc.yjlsc2692964.vip:39002/1_md1/bcios/nice.htm?' + String0;
    } else {
        // 默认动态 URL 计算
        const domainlist1 = ["ykptv562428.top",
"ykptv291699.top",
"ykptv558492.info",
];
        const ranstr = ['rjkykhwl', 'tyjdgkykdnp', 'updkykyzlx', 'mwdykykqiv', 'fyokykdmze', 'ypikykdqdo', 'prykykdidqs', 'gnyfkykdft', 'bdykykdbga', 'zwdkykydef', 'kwdkykybff', 'eydykykmku', 'ibdkykydxg', 'gqvkykdyvd', 'cgdkykyfnx'];

        const getRand = (list) => list[Math.floor(Math.random() * list.length)];
        
        let date00 = new Date().toISOString().slice(0, 13).replace(/[-T:]/g, '0');
        let targetHost = `${getRand(ranstr)}${date00}${Math.floor(Math.random() * 10)}c.${getRand(domainlist1)}`;
        
        // 处理 channelCode 逻辑
        let channelCodeo = String0;
        if (String0.includes('channel')) {
            const parts = String0.split('=');
            channelCodeo = parts.length > 1 ? parts[1].trim() : 'default';
        }

        newurls = `https://${targetHost}:57009/1_yksp/dp3/index.html?channelCode=${encodeURIComponent(channelCodeo)}`;
    }

    window.location.replace(newurls);
}

// 启动执行
main();