import {useEffect, useState} from "react"; import {isAndroid} from "@utils/helpers"; import MuiDrawer from "@mui/material/Drawer"; import styles from "./styles.module.scss"; import img_hand from "@assets/shortcut/pointer.avif" const i18n=global.i18n; const objInfo={ count:0, timer:null } const WShortcutGuide = () => { const [isShow, setIsShow] = useState(false); const [iconUrl, setIconUrl] = useState(""); const show=()=>{ setIsShow(true); } const hide=()=>{ setIsShow(false); } const clearTimer=()=>{ if (objInfo.timer!=null){ clearInterval(objInfo.timer); objInfo.timer=null; objInfo.count=0; } } useEffect(()=>{ const shortcutGuide={ show, hide }; global.shortcutGuide=shortcutGuide; if (window.progressier!=null){ let iconUrl=""; let initIconUrl=()=>{ if (window.progressier.data!=null){ let params=window.progressier.data.params; if (params!=null){ // setIconUrl(params.icon180); iconUrl=params.icon180; } } } clearTimer(); if (iconUrl==null||iconUrl===""){ objInfo.timer=setInterval(()=>{ if (objInfo.count>=10){ clearTimer(); return; } initIconUrl(); if (iconUrl!=null&&iconUrl!==""){ setIconUrl(iconUrl); clearTimer(); } objInfo.count++; },200); } else { setIconUrl(iconUrl); } } return ()=>{ clearTimer(); } },[]) const getMainDomain=()=>{ // 获取完整的域名 const fullDomain = window.location.hostname; // 将域名分割成部分 const parts = fullDomain.split('.'); // 如果域名部分少于2个,直接返回完整域名 if (parts.length <= 2) { return parts[0]; // 返回第一个部分(如 localhost) } // 提取主域名并去除后缀(最后一部分) return parts.slice(-2, -1).join(''); } const renderAndroidContent=()=>{ let mainDomain = getMainDomain(); if(mainDomain!=null)mainDomain=mainDomain.toUpperCase(); return (
{i18n.t("installBox.shortcut.title")}
{i18n.t("installBox.shortcut.sub_1")}
{i18n.t("installBox.shortcut.android_op_1")} {i18n.t("installBox.shortcut.android_op_2")} {i18n.t("installBox.shortcut.android_op_3")} {i18n.t("installBox.shortcut.android_op_4")}
{i18n.t("installBox.shortcut.sub_2")}
{i18n.t("installBox.shortcut.title")}
{mainDomain}
{i18n.t("installBox.shortcut.cancel")} {i18n.t("installBox.shortcut.add")}
) } const renderAndroid = () => { return ( { setIsShow(false) }}> {renderAndroidContent()} ) } const renderIOSContent=()=>{ let mainDomain = getMainDomain(); if(mainDomain!=null)mainDomain=mainDomain.toUpperCase(); const origin=window.location.origin; return (
{i18n.t("installBox.shortcut.title")}
{i18n.t("installBox.shortcut.sub_1")}
{i18n.t("installBox.shortcut.ios_op_1")} {i18n.t("installBox.shortcut.ios_op_2")} {i18n.t("installBox.shortcut.ios_op_3")} {i18n.t("installBox.shortcut.ios_op_4")}
{i18n.t("installBox.shortcut.sub_2")}
{i18n.t("installBox.shortcut.cancel")} {i18n.t("installBox.shortcut.title")} {i18n.t("installBox.shortcut.add")}
{mainDomain} {origin}
{i18n.t("installBox.shortcut.tips_1")}
) } const renderIOS = () => { return ( { setIsShow(false) }}> {renderIOSContent()} ) } const renderGuide=()=>{ if (isAndroid()){ return renderAndroid(); } else { return renderIOS(); } } return ( <> {renderGuide()} ) } export default WShortcutGuide;