1 line
17 KiB
JSON
1 line
17 KiB
JSON
{"ast":null,"code":"import store from \"@/store\";\n// 挂载拖拽组件\nimport { createApp } from \"vue\";\nimport floatBtn from \"@/components/floatBtn\";\nconst showfloatBtn = options => {\n // 创建一个节点,并将组件挂载上去\n const mountNode = document.createElement(\"div\");\n document.body.appendChild(mountNode);\n const app = createApp(floatBtn, {\n ...options,\n visible: true,\n remove() {\n app.unmount(mountNode);\n document.body.removeChild(mountNode);\n }\n });\n return app.mount(mountNode);\n};\n\n// rem计算\nconst resizeWin = () => {\n const o = navigator.userAgent;\n const isAndroid = o.indexOf(\"Android\") > -1 || o.indexOf(\"Adr\") > -1; //android终端\n const isiOS = !!o.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端\n let t = document,\n e,\n i,\n model;\n if (isAndroid) {\n // e = window.screen.width\n // i = window.screen.height\n e = t.documentElement.clientWidth;\n i = t.documentElement.clientHeight;\n model = \"android\";\n }\n if (isiOS == false && isAndroid == false) {\n e = t.documentElement.clientWidth - 30;\n i = t.documentElement.clientHeight - 30;\n model = \"pc\";\n }\n if (isiOS) {\n e = t.documentElement.clientWidth;\n i = t.documentElement.clientHeight;\n model = \"ios\";\n }\n Horizontal(e, i, model);\n};\n// 竖屏版本:始终使用竖屏布局\nconst Horizontal = (e, i, model) => {\n const portrait = `portrait_${model}`;\n const appDome = document.getElementById(\"app\");\n function hasClass(n, className) {\n return n.className.match(new RegExp(\"(\\\\s|^)\" + className + \"(\\\\s|$)\"));\n }\n function addClass(n, className) {\n hasClass(n, className) || (n.className += \"\" + className);\n }\n document.body.classList.remove(\"landscape_android\");\n document.body.classList.remove(\"portrait_android\");\n document.body.classList.remove(\"landscape_ios\");\n document.body.classList.remove(\"portrait_ios\");\n document.body.classList.remove(\"landscape_pc\");\n document.body.classList.remove(\"portrait_pc\");\n let s = 0;\n const screen = \"portrait\";\n addClass(document.body, portrait);\n if (model == \"ios\") {\n s = e / 16;\n } else {\n s = e / 12;\n }\n appDome.setAttribute(\"style\", `width: ${e}px;height: ${i}px;`);\n isFullScreen(model);\n document.documentElement.style.fontSize = s + \"px\";\n store.commit(\"config/resizeView\", s);\n store.commit(\"config/phoneScreen\", screen);\n store.commit(\"config/phoneModel\", model);\n};\n\n// 函数魔法糖\nconst throttle = (fn, delay, that) => {\n var timer = null;\n return function () {\n var context = that,\n args = arguments;\n clearTimeout(timer);\n timer = setTimeout(function () {\n fn.apply(context, args);\n }, delay);\n };\n};\n\n// 全屏事件\nconst requestFullScreen = () => {\n var element = document.documentElement;\n if (element.requestFullscreen) {\n element.requestFullscreen();\n } else if (element.mozRequestFullScreen) {\n element.mozRequestFullScreen();\n } else if (element.webkitRequestFullscreen) {\n element.webkitRequestFullscreen();\n } else if (element.msRequestFullscreen) {\n element.msRequestFullscreen();\n }\n store.commit(\"config/checkFullscreen\", true);\n};\n//退出全屏\nconst exitFullscreen = () => {\n if (document.exitFullScreen) {\n document.requestFullscreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen();\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen();\n }\n store.commit(\"config/checkFullscreen\", false);\n};\nfunction isFullScreen(model) {\n if (model == \"ios\" || model == \"pc\") {\n store.commit(\"config/checkFullscreen\", true);\n } else {\n if (document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement) {\n store.commit(\"config/checkFullscreen\", true);\n } else {\n store.commit(\"config/checkFullscreen\", false);\n }\n }\n}\nwindow.onresize = throttle(resizeWin, 100, this);\nresizeWin();\nfunction setupDocumentEvent() {\n // 禁止 ios 缩放屏幕\n document.addEventListener(\"gesturestart\", function (event) {\n event.preventDefault();\n });\n\n // 禁止移动端(IOS)双击页面变大\n let touchTime = 0;\n document.addEventListener(\"touchstart\", function (event) {\n if (event.touches.length > 1) {\n event.preventDefault();\n }\n });\n document.addEventListener(\"touchend\", function (event) {\n //记录当前点击的时间与下一次时间的间隔\n const nowTime = new Date();\n if (nowTime.getTime() - touchTime <= 300) {\n event.preventDefault();\n }\n touchTime = nowTime.getTime();\n }, false);\n}\nsetTimeout(() => {\n setupDocumentEvent();\n}, 2000);\n\n// document.documentElement.addEventListener(\n// \"touchstart\",\n// function (event) {\n// if (event.touches.length > 1) {\n// event.preventDefault()\n// }\n// },\n// false\n// )\n\nexport { resizeWin, throttle, requestFullScreen, exitFullscreen, showfloatBtn };","map":{"version":3,"names":["store","createApp","floatBtn","showfloatBtn","options","mountNode","document","createElement","body","appendChild","app","visible","remove","unmount","removeChild","mount","resizeWin","o","navigator","userAgent","isAndroid","indexOf","isiOS","match","t","e","i","model","documentElement","clientWidth","clientHeight","Horizontal","portrait","appDome","getElementById","hasClass","n","className","RegExp","addClass","classList","s","screen","setAttribute","isFullScreen","style","fontSize","commit","throttle","fn","delay","that","timer","context","args","arguments","clearTimeout","setTimeout","apply","requestFullScreen","element","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","exitFullscreen","exitFullScreen","mozCancelFullScreen","webkitExitFullscreen","msExitFullscreen","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","window","onresize","setupDocumentEvent","addEventListener","event","preventDefault","touchTime","touches","length","nowTime","Date","getTime"],"sources":["/Users/li/Desktop/work/work2/OG/GamePortrait/src/plugins/fox.config.js"],"sourcesContent":["import store from \"@/store\"\n// 挂载拖拽组件\nimport { createApp } from \"vue\"\nimport floatBtn from \"@/components/floatBtn\"\n\nconst showfloatBtn = (options) => {\n // 创建一个节点,并将组件挂载上去\n const mountNode = document.createElement(\"div\")\n document.body.appendChild(mountNode)\n const app = createApp(floatBtn, {\n ...options,\n visible: true,\n remove() {\n app.unmount(mountNode)\n document.body.removeChild(mountNode)\n }\n })\n return app.mount(mountNode)\n}\n\n// rem计算\nconst resizeWin = () => {\n const o = navigator.userAgent\n const isAndroid = o.indexOf(\"Android\") > -1 || o.indexOf(\"Adr\") > -1 //android终端\n const isiOS = !!o.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/) //ios终端\n let t = document,\n e,\n i,\n model\n if (isAndroid) {\n // e = window.screen.width\n // i = window.screen.height\n e = t.documentElement.clientWidth\n i = t.documentElement.clientHeight\n model = \"android\"\n }\n if (isiOS == false && isAndroid == false) {\n e = t.documentElement.clientWidth - 30\n i = t.documentElement.clientHeight - 30\n model = \"pc\"\n }\n if (isiOS) {\n e = t.documentElement.clientWidth\n i = t.documentElement.clientHeight\n model = \"ios\"\n }\n Horizontal(e, i, model)\n}\n// 竖屏版本:始终使用竖屏布局\nconst Horizontal = (e, i, model) => {\n const portrait = `portrait_${model}`\n const appDome = document.getElementById(\"app\")\n \n function hasClass(n, className) {\n return n.className.match(new RegExp(\"(\\\\s|^)\" + className + \"(\\\\s|$)\"))\n }\n function addClass(n, className) {\n hasClass(n, className) || (n.className += \"\" + className)\n }\n\n document.body.classList.remove(\"landscape_android\")\n document.body.classList.remove(\"portrait_android\")\n document.body.classList.remove(\"landscape_ios\")\n document.body.classList.remove(\"portrait_ios\")\n document.body.classList.remove(\"landscape_pc\")\n document.body.classList.remove(\"portrait_pc\")\n\n let s = 0\n const screen = \"portrait\"\n \n addClass(document.body, portrait)\n \n if (model == \"ios\") {\n s = e / 16\n } else {\n s = e / 12\n }\n \n appDome.setAttribute(\"style\", `width: ${e}px;height: ${i}px;`)\n\n isFullScreen(model)\n document.documentElement.style.fontSize = s + \"px\"\n store.commit(\"config/resizeView\", s)\n store.commit(\"config/phoneScreen\", screen)\n store.commit(\"config/phoneModel\", model)\n}\n\n// 函数魔法糖\nconst throttle = (fn, delay, that) => {\n var timer = null\n return function () {\n var context = that,\n args = arguments\n clearTimeout(timer)\n timer = setTimeout(function () {\n fn.apply(context, args)\n }, delay)\n }\n}\n\n// 全屏事件\nconst requestFullScreen = () => {\n var element = document.documentElement\n if (element.requestFullscreen) {\n element.requestFullscreen()\n } else if (element.mozRequestFullScreen) {\n element.mozRequestFullScreen()\n } else if (element.webkitRequestFullscreen) {\n element.webkitRequestFullscreen()\n } else if (element.msRequestFullscreen) {\n element.msRequestFullscreen()\n }\n store.commit(\"config/checkFullscreen\", true)\n}\n//退出全屏\nconst exitFullscreen = () => {\n if (document.exitFullScreen) {\n document.requestFullscreen()\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen()\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen()\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen()\n }\n store.commit(\"config/checkFullscreen\", false)\n}\n\nfunction isFullScreen(model) {\n if (model == \"ios\" || model == \"pc\") {\n store.commit(\"config/checkFullscreen\", true)\n } else {\n if (\n document.fullscreenElement ||\n document.webkitFullscreenElement ||\n document.mozFullScreenElement ||\n document.msFullscreenElement\n ) {\n store.commit(\"config/checkFullscreen\", true)\n } else {\n store.commit(\"config/checkFullscreen\", false)\n }\n }\n}\nwindow.onresize = throttle(resizeWin, 100, this)\nresizeWin()\n\nfunction setupDocumentEvent() {\n // 禁止 ios 缩放屏幕\n document.addEventListener(\"gesturestart\", function (event) {\n event.preventDefault()\n })\n\n // 禁止移动端(IOS)双击页面变大\n let touchTime = 0\n document.addEventListener(\"touchstart\", function (event) {\n if (event.touches.length > 1) {\n event.preventDefault()\n }\n })\n document.addEventListener(\n \"touchend\",\n function (event) {\n //记录当前点击的时间与下一次时间的间隔\n const nowTime = new Date()\n if (nowTime.getTime() - touchTime <= 300) {\n event.preventDefault()\n }\n touchTime = nowTime.getTime()\n },\n false\n )\n}\n\nsetTimeout(() => {\n setupDocumentEvent()\n}, 2000)\n\n// document.documentElement.addEventListener(\n// \"touchstart\",\n// function (event) {\n// if (event.touches.length > 1) {\n// event.preventDefault()\n// }\n// },\n// false\n// )\n\nexport { resizeWin, throttle, requestFullScreen, exitFullscreen, showfloatBtn }\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]} |