class UrlUtils {


    getUrlParam() {

        const url = window.location.href;
        const paramsObject = {};
        const queryString = url.split('?')[1];
        if (!queryString) {
            return paramsObject;
        }
    
        // 2. 用 & 分割成 key=value 数组
        const paramPairs = queryString.split('&');
        
        // 3. 遍历数组
        for (const pair of paramPairs) {
            // 4. 用 = 分割成 key 和 value
            // 使用 split('=', 2) 确保即使 value 中包含 =，也能正确分割
            const [key, value] = pair.split('=', 2); 
            
            if (key !== undefined && value !== undefined) {
                const decodedKey = decodeURIComponent(key);
                const decodedValue = decodeURIComponent(value);
    
                // 处理重复 key
                if (paramsObject.hasOwnProperty(decodedKey)) {
                    if (!Array.isArray(paramsObject[decodedKey])) {
                        paramsObject[decodedKey] = [paramsObject[decodedKey]];
                    }
                    paramsObject[decodedKey].push(decodedValue);
                } else {
                    paramsObject[decodedKey] = decodedValue;
                }
            }
        }
    
        return paramsObject;
    }
}

window.urlUtils = new UrlUtils();