{"version":3,"file":"index-8e53e03a.js","sources":["../../../src/App.vue","../../../src/store/index.js","../../../src/lib/directive/clickOutside.js","../../../src/lib/directive/preventEvent.js","../../../src/main.js","../../../src/lib/directive/directive.js"],"sourcesContent":["\n \n\n\n\n","import { createPinia } from 'pinia'\n\nconst store = createPinia()\n\nexport default store","// clickOutside.js\nconst clickOutside = {\n beforeMount(el, binding) {\n // 点击外部区域触发的回调函数\n const handleClickOutside = (event) => {\n if (!el.contains(event.target) && el !== event.target) {\n binding.value(event);\n }\n };\n\n // 将回调函数绑定到 document 的点击事件\n document.addEventListener('click', handleClickOutside);\n\n // 在组件销毁前移除事件监听器\n el.__clickOutsideHandler__ = handleClickOutside;\n },\n beforeUnmount(el) {\n // 移除事件监听器\n document.removeEventListener('click', el.__clickOutsideHandler__);\n },\n};\n\nexport default clickOutside;\n","// preventEvent.js\n\nimport { getUuid, getType } from '@/utils/tools';\n\n// v-prevent-event:eventName=\"{\n// callback: (e)=>{},\n// cancel: false, cancel 优先级高于 diabledtime\n// diabledtime: 1000,\n// disableOpacity:0.5,\n \n// \n// renderState: false 渲染释放。回归到之前状态 true 渲染禁止,独立于其他参数,可用此参数单独控制渲染事件禁止效果,默认请置false,用完记得释放\n// }\"\n\n// renderState 和其他只能二选一\n\nconst preventEvent = {\n created(el, binding, vnode, prevVnode) {\n },\n // 在元素被插入到 DOM 前调用\n beforeMount(el, binding, vnode, prevVnode) {},\n // 在绑定元素的父组件\n // 及他自己的所有子节点都挂载完成后调用\n mounted(el, binding, vnode, prevVnode) {\n const { arg, value } = binding;\n let eventName = arg;\n const handleEvent = (event) => {\n if (el.__preventEventDisable__) {\n event.preventDefault();\n event.stopImmediatePropagation();\n } else {\n if(getType(value)=='Object'){\n let callback = value.callback;\n let time= value.diabledtime\n let cancel = value.cancel;\n let disableOpacity = !isNaN(Number(value.disableOpacity)) ? value.disableOpacity : 0.5;\n\n if(getType(callback)=='Function'){\n callback(event);\n }\n if(!cancel){\n el.__preventEventDisable_cp__= true;\n el.__preventEventDisable__= true;\n el.classList.add(\"__disable\");\n el.style['pointer-events']='none';\n el.style['cursor']='not-allowed';\n el.style['opacity']=`${disableOpacity}`;\n if(!isNaN(Number(time))){\n el.__preventEventTimer__ = setTimeout(() => {\n if(el.__preventEventrenderState__ != true){\n el.__preventEventTimer__ = null;\n el.__preventEventDisable_cp__= false;\n el.__preventEventDisable__ = false;\n el.style['pointer-events']='auto';\n el.style['cursor']='pointer'\n el.style['opacity']='1';\n el.classList.remove(\"__disable\");\n }\n }, time);\n }\n }\n }\n }\n };\n if(getType(value)=='Object'){\n el.__preventEventeEventName__= eventName;\n el.addEventListener(eventName, handleEvent);\n }\n // 在组件销毁前移除事件监听器\n el.__preventEventHandler__ = handleEvent;\n },\n // 绑定元素的父组件更新前调用\n beforeUpdate(el, binding, vnode, prevVnode) {\n \n },\n // 在绑定元素的父组件\n // 及他自己的所有子节点都更新后调用\n updated(el, binding, vnode, prevVnode) {\n const { arg, value } = binding;\n el.__preventEventDisable_cp__ == el.__preventEventDisable_cp__ ?? false;\n if(getType(value)=='Object'){\n let eventName = arg;\n el.__preventEventrenderState__= value.renderState;\n // 渲染层面的禁止事件 用户控制\n if(el.__preventEventrenderState__ == false || el.__preventEventrenderState__ == true){\n if(el.__preventEventrenderState__ == false && el.__preventEventDisable_cp__ == false){\n if(el.__preventEventTimer__){\n clearTimeout(el.__preventEventTimer__);\n }\n el.__preventEventDisable__= false;\n el.style['pointer-events']='auto';\n el.style['cursor']='pointer';\n el.style['opacity']='1';\n el.classList.remove(\"__disable\");\n } else {\n let disableOpacity = !isNaN(Number(value.disableOpacity)) ? value.disableOpacity : 0.5;\n el.__preventEventDisable__= true;\n el.classList.add(\"__disable\");\n el.style['pointer-events']='none';\n el.style['cursor']='not-allowed';\n el.style['opacity']=`${disableOpacity}`;\n }\n }\n if(value.cancel && el.__preventEventrenderState__ != true){\n if(el.__preventEventTimer__){\n clearTimeout(el.__preventEventTimer__);\n }\n el.__preventEventDisable_cp__= false;\n el.__preventEventDisable__= false;\n el.style['pointer-events']='auto';\n el.style['cursor']='pointer';\n el.style['opacity']='1';\n el.classList.remove(\"__disable\");\n } else if(value.cancel && el.__preventEventrenderState__ == true){\n el.__preventEventDisable_cp__= false;\n }\n }\n },\n // 绑定元素的父组件卸载前调用\n beforeUnmount(el, binding, vnode, prevVnode) {\n // 移除事件监听器\n const { arg, value } = binding;\n let eventName = arg;\n if(el.__preventEventTimer__){\n clearTimeout(el.__preventEventTimer__);\n }\n el.removeEventListener(eventName, el.__preventEventHandler__);\n },\n // 绑定元素的父组件卸载后调用\n unmounted(el, binding, vnode, prevVnode) {\n }\n};\n\nexport default preventEvent;\n","import { createApp } from \"vue\"\nimport App from \"./App.vue\"\nimport router from \"./router/index\"\nimport store from \"./store\"\nimport setupDirective from \"./lib/directive/directive\"\nimport i18n from \"./i18n/i18n.js\"\n// import VConsole from \"vconsole\"\nimport VueLazyload from \"vue-lazyload\"\nimport { isDev, getUrlAllParams } from \"@/utils/tools.js\"\nimport vue3GoogleLogin from \"vue3-google-login\"\nimport firebaseFuctionInit from \"@/utils/analytic/firebaseUtils.js\"\nimport fc from \"@/components/functionComp/index\"\nimport \"@/assets/css/css.js\"\nimport * as Sentry from \"@sentry/vue\"\nimport { firebaseUtils } from \"@/utils/analytic/firebaseUtils.js\"\nimport { $$language } from \"@/i18n/i18n.js\"\n\n\nconst { source, bd_vid } = getUrlAllParams(decodeURIComponent(location.href))\nif (source) {\n window.sessionStorage.setItem(\n `ad_source`,\n JSON.stringify({\n source: source,\n bd_vid: bd_vid ?? \"\",\n })\n )\n}\n\nconst env = import.meta.env.VITE_LANGUAGE ?? \"en\"\nimport layoutConfig, { initLayout } from \"@/config/layoutConfig.js\"\nif (env == \"cn\") {\n var scriptElement = document.createElement(\"script\")\n scriptElement.src = \"https://hm.baidu.com/hm.js?ec88c725f3668b0e98d6f86f4850811a\"\n var firstScript = document.getElementsByTagName(\"script\")[0]\n firstScript.parentNode.insertBefore(scriptElement, firstScript)\n} else {\n var script = document.createElement(\"script\")\n script.src = \"https://www.googletagmanager.com/gtag/js?id=G-17TCK1YGSV\"\n script.async = true\n document.head.appendChild(script)\n\n script.onload = function () {\n window.dataLayer = window.dataLayer || []\n function gtag() {\n dataLayer.push(arguments)\n }\n gtag(\"js\", new Date())\n gtag(\"config\", \"G-17TCK1YGSV\")\n }\n}\n\nlet app = null\n// function loadRouter() {\n// console.log(\"layoutConfig.renderType\", layoutConfig.renderType)\n// if (layoutConfig.renderType == \"mobile\") {\n// return import(\"./router/mobile.js\")\n// } else {\n// return import(\"./router/index.js\")\n// }\n// }\n\n// const ChageRouterList = [\"/order-detail\"];\n\n// const isChangeRouter = () => {\n// const path = window.location.pathname;\n// return ChageRouterList.includes(path);\n// };\n\n// const pinia = createPinia();\n\n// 以下注释部分稍后将恢复至全局只初始化一次,凡事涉及到移动端和PC端切换的,一切业务小范围内内部解决\n// async function initializeApp() {\n// 动态加载路由配置\n// const { default: newRouter } = await loadRouter()\n\n// if (app) {\n// app.unmount();\n// }\n\nconst getSentryUrl = () => {\n let url = \"\"\n const language = $$language()\n if (isDev()) {\n if (language === \"en\") {\n url = \"https://bb094092630245787fc6089de08dcb8b@sen-as.yinhe.top/7\"\n } else {\n url = \"https://806b960185aa65ce7d18071d56a0b739@sen-bj.yinhe.top/4\"\n }\n } else {\n if (language === \"en\") {\n url = \"https://6f7e9f113eab81487483f81773c1b9be@sen-as.yinhe.top/6\"\n } else {\n url = \"https://5e44e697fcf7373ca96a120cd99761e2@sen-bj.yinhe.top/2\"\n }\n }\n return url\n}\n\napp = createApp(App)\n\nSentry.init({\n app,\n dsn: getSentryUrl(),\n integrations: [Sentry.browserTracingIntegration(), Sentry.replayIntegration()],\n // Tracing\n tracesSampleRate: 1.0, // Capture 100% of the transactions\n // Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled\n tracePropagationTargets: [],\n // Session Replay\n replaysSessionSampleRate: 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production.\n replaysOnErrorSampleRate: 1.0, // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur.\n})\n\n// app.use(pinia);\napp.use(fc)\nsetupDirective(app)\napp.use(router)\napp.use(store)\napp.use(i18n)\napp.use(firebaseFuctionInit)\napp.use(vue3GoogleLogin, {\n clientId: \"1069642802272-0ktgtg6hn72ljht0bltd9h14qseflsvj.apps.googleusercontent.com\",\n scope: \"profile email\",\n})\napp.use(VueLazyload)\napp.mount(\"#app\")\nif (isDev()) {\n // window.__vConsole = new VConsole({ theme: 'dark' });\n}\n// }\n\nconst setSentryUid = async () => {\n const u_id = await firebaseUtils.getAnonymousID()\n Sentry.setUser({ id: u_id })\n}\n\nsetSentryUid()\n\nfunction onResize() {\n // 在窗口大小变化时重新加载路由\n // 设备没有变化,取消重新渲染\n // 普通页面不重新渲染\n const type = window.innerWidth > 768 ? \"pc\" : \"mobile\"\n if (type == layoutConfig.renderType) return\n initLayout()\n // if (!isChangeRouter()) return\n // initializeApp()\n}\n\n// 初始加载\n// initializeApp();\nwindow.addEventListener(\"resize\", onResize)\n","\nimport clickOutside from \"./clickOutside.js\";\nimport preventEvent from \"./preventEvent.js\";\nconst setupDirective = (app) => {\n app.directive('click-outside', clickOutside);\n app.directive('prevent-event', preventEvent);\n}\n\nexport default setupDirective"],"names":["globalProperties","_a","getCurrentInstance","appContext","config","createLayoutStore","useCreateLayoutStore","draftDataStore","useDraftDataStore","lyricDataStore","useLyricDataStore","ref","userDataStore","useUserDataStore","shopCartStore","useShopCartStore","getCookie","codeReport","__async","this","code","tools","getParameterByName","apiUser","userCodePeport","message","success","position","content","$$t","error","maskClosable","onMounted","window","addEventListener","event","useHomeDataStore","abortSse","cacheLayoutData","isProd","lastGenerateDraftData","lyrics","lyric","confirmationMessage","returnValue","initCacheLayoutData","cookie","name","URLSearchParams","location","search","get","document","init","isLogin","getCartTotalCount","i","timer","setInterval","logCustomEvent","stay_time","clearInterval","logViewEvent","onUnmounted","store","createPinia","clickOutside","beforeMount","el","binding","handleClickOutside","contains","target","value","__clickOutsideHandler__","beforeUnmount","removeEventListener","preventEvent","created","vnode","prevVnode","mounted","arg","eventName","handleEvent","__preventEventDisable__","preventDefault","stopImmediatePropagation","getType","callback","time","diabledtime","cancel","disableOpacity","isNaN","Number","__preventEventDisable_cp__","classList","add","style","__preventEventTimer__","setTimeout","__preventEventrenderState__","remove","__preventEventeEventName__","__preventEventHandler__","beforeUpdate","updated","renderState","clearTimeout","unmounted","source","bd_vid","getUrlAllParams","decodeURIComponent","href","sessionStorage","setItem","JSON","stringify","script","createElement","src","async","head","appendChild","onload","gtag","dataLayer","push","arguments","Date","app","createApp","App","dsn","url","$$language","getSentryUrl","integrations","Sentry.browserTracingIntegration","Sentry.replayIntegration","tracesSampleRate","tracePropagationTargets","replaysSessionSampleRate","replaysOnErrorSampleRate","use","fc","directive","router","i18n","firebaseFuctionInit","vue3GoogleLogin","clientId","scope","VueLazyload","mount","exports","u_id","firebaseUtils","getAnonymousID","setUser","id","innerWidth","layoutConfig","renderType","initLayout"],"mappings":"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"}