{"version":3,"file":"client-B1xO7joE.js","sources":["../../src/lib/client.ts"],"sourcesContent":["import router from '@/router'\n\n/**\n * 复制文本到剪贴板,异步函数,使用现代浏览器的API\n * @param text 要复制的文本\n */\nexport const copyTextToClipboard = async (text: string) => {\n /**\n * 使用旧的API复制文本到剪贴板,兼容性更好\n */\n function fallbackCopyToClipboard() {\n const textArea = document.createElement('textarea')\n textArea.value = text\n document.body.appendChild(textArea)\n textArea.select()\n document.execCommand('copy')\n document.body.removeChild(textArea)\n }\n try {\n await navigator.clipboard.writeText(text)\n } catch {\n fallbackCopyToClipboard()\n }\n}\n\n// 防抖函数\nexport function debounce void>(func: T, delay = 500): (...args: Parameters) => void {\n let timer: ReturnType | null = null\n\n return function (this: ThisParameterType, ...args: Parameters): void {\n if (timer) {\n clearTimeout(timer)\n }\n timer = setTimeout(() => {\n func.apply(this, args)\n }, delay)\n }\n}\n\n/**\n * 去往next-app,此方法会刷新整个上下文\n * @param path\n */\nexport async function goNext(path: string) {\n await router.replace(path)\n window.location.reload()\n}\n\nfunction createMetaElement(name: string, content: string) {\n const metaElement = document.createElement('meta')\n metaElement.name = name\n metaElement.content = content\n document.head.appendChild(metaElement)\n}\n\n/**\n * 设置元数据\n */\nexport function setMetadata({ title, description }: { title?: string; description?: string }) {\n if (title) {\n const metaElement = document.querySelector('meta[name=\"application-name\"]')\n if (metaElement) {\n metaElement.setAttribute('content', title)\n } else {\n createMetaElement('application-name', title)\n }\n document.title = title\n }\n if (description) {\n const metaElement = document.querySelector('meta[name=\"description\"]')\n if (metaElement) {\n metaElement.setAttribute('content', description)\n } else {\n createMetaElement('description', description)\n }\n }\n}\n\nexport function getCookie(name: string) {\n const reg = new RegExp(`(^| )${name}=([^;]*)(;|$)`)\n const arr = document.cookie.match(reg)\n if (arr) {\n return decodeURIComponent(arr[2])\n } else {\n return null\n }\n}\n"],"names":["copyTextToClipboard","async","text","navigator","clipboard","writeText","textArea","document","createElement","value","body","appendChild","select","execCommand","removeChild","fallbackCopyToClipboard","debounce","func","delay","timer","args","clearTimeout","setTimeout","apply","this","goNext","path","router","replace","window","location","reload","createMetaElement","name","content","metaElement","head","setMetadata","title","description","querySelector","setAttribute"],"mappings":"+XAMa,MAAAA,EAAsBC,MAAOC,IAYpC,UACIC,UAAUC,UAAUC,UAAUH,EAAI,CAClC,OAVR,WACQ,MAAAI,EAAWC,SAASC,cAAc,YACxCF,EAASG,MAAQP,EACRK,SAAAG,KAAKC,YAAYL,GAC1BA,EAASM,SACTL,SAASM,YAAY,QACZN,SAAAG,KAAKI,YAAYR,EAAQ,CAKVS,EAAA,GAKZ,SAAAC,EAA+CC,EAASC,EAAQ,KAC9E,IAAIC,EAA8C,KAElD,OAAO,YAAyCC,GAC1CD,GACFE,aAAaF,GAEfA,EAAQG,YAAW,KACZL,EAAAM,MAAMC,KAAMJ,EAAI,GACpBF,EACL,CACF,CAMAjB,eAAsBwB,EAAOC,SACrBC,EAAOC,QAAQF,GACrBG,OAAOC,SAASC,QAClB,CAEA,SAASC,EAAkBC,EAAcC,GACjC,MAAAC,EAAc5B,SAASC,cAAc,QAC3C2B,EAAYF,KAAOA,EACnBE,EAAYD,QAAUA,EACb3B,SAAA6B,KAAKzB,YAAYwB,EAC5B,CAKO,SAASE,GAAYC,MAAEA,EAAOC,YAAAA,IACnC,GAAID,EAAO,CACH,MAAAH,EAAc5B,SAASiC,cAAc,iCACvCL,EACUA,EAAAM,aAAa,UAAWH,GAEpCN,EAAkB,mBAAoBM,GAExC/B,SAAS+B,MAAQA,CAAA,CAEnB,GAAIC,EAAa,CACT,MAAAJ,EAAc5B,SAASiC,cAAc,4BACvCL,EACUA,EAAAM,aAAa,UAAWF,GAEpCP,EAAkB,cAAeO,EACnC,CAEJ"}