// 设置根节点html的字体大小用于移动端适配使用
export const setHtmlFontSize = () => {
    console.count("setHtmlFontSize");
    (function (doc, win) {
        let resizeEvt = "orientationchange" in win ? "orientationchange" : "resize",
            recalc = function () {
                let htmlDom = doc.getElementsByTagName("html")[0];
                requestAnimationFrame(() => {
                    let clientWidth = doc.documentElement.clientWidth || doc.body.clientWidth;
                    if (!clientWidth) return;
                    htmlDom.style.fontSize =
                        clientWidth >= 578.88 ? "144px" : 154.5 * (clientWidth / 578.88) + "px";
                });
            };
        if (!doc.addEventListener) return;
        win.addEventListener(resizeEvt, recalc, false);
        doc.addEventListener("DOMContentLoaded", recalc, false);
        recalc();
    })(document, window);
};

// 密码正则 6到12位（字母，数字，下划线，减号）
export const pwdRegex = (pwd = "") => {
    let regex = /^[a-zA-Z0-9_-]{6,12}$/;
    return regex.test(pwd);
};

export const phoneRegex = (pwd = "") => {
    let regex = /^1[3-9]\d{9}$/;
    return regex.test(pwd);
};

/**
 * @description 是否是合格http外链
 */
export const isHttpUrl = (url: string) => {
    const regex = /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\*\+,;=.]+$/;
    return regex.test(url);
};
/**
 * @description 是否是合格邮箱
 */

export const emailReg = /^\w+(-+.\w+)*@\w+(-.\w+)*.\w+(-.\w+)*$/;
export const isEmail = (email: string) => {
    return emailReg.test(email);
};

/**
 * @description 只能是数字和英文
 */
export const neReg = /^[A-Za-z0-9]+$/;
export const isNE = (value: string) => {
    return neReg.test(value);
};

/**
 * @description 是否是pwa
 */
export const isInStandaloneMode = () =>
    window.matchMedia("(display-mode: standalone)").matches ||
    document.referrer.includes("android-app://");
