{"version":3,"mappings":"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","names":["isRouterAlive","ref","provide","nextTick","route","useRoute","router","createRouter","createWebHistory","Layout","__vitePreload","pending","addPending","config","url","qs","axios","cancel","removePending","clearPending","Nprogress","to","from","next","browser","baseValue","clientWidth","designWidth","windowWidth","list","setRem","scale","VPreventReClick","app","el","binding","preventReClickFun","elValue","bindingValue","createApp","App","createPinia","VueDOMPurifyHTML","define_process_env_default"],"ignoreList":[],"sources":["../../src/App.vue","../../src/layout/index.vue","../../src/router/index.js","../../src/utils/pending.js","../../src/permission.js","../../src/utils/rem.js","../../src/tools/v-preventReClick/index.js","../../src/main.js"],"sourcesContent":["\n\n\n","\n\n\n\n\n","import { createRouter, createWebHistory } from 'vue-router'\nimport Layout from \"@/layout/index.vue\";\n\nconst router = createRouter({\n history: createWebHistory(import.meta.env.BASE_URL),\n routes: [\n {\n name: 'Layout',\n component: Layout,\n path: '/',\n children: [\n {\n path: '/',\n name: 'home',\n component: () => import('../views/home/index.vue')\n },\n {\n path: '/detail',\n name: 'Detail',\n component: () => import('../views/homeDetail/index.vue')\n }\n ]\n\n },\n {\n name: '404',\n path: '/:pathMatch',\n hidden: true,\n component: () => import('@/components/exception/404.vue'),\n meta: {\n title: '404'\n }\n },\n ],\n scrollBehavior: () => ({left: 0, top: 0})\n})\n\nexport default router\n","import qs from 'qs';\nimport axios from 'axios';\n// 声明一个 Map 用于存储每个请求的标识 和 取消函数\nconst pending = new Map();\n/**\n * 添加请求\n * @param {Object} config\n */\nexport const addPending = (config) => {\n const url = [\n config.method,\n config.url,\n qs.stringify(config.params),\n qs.stringify(config.data)\n ].join('&');\n config.cancelToken = config.cancelToken || new axios.CancelToken(cancel => {\n if (!pending.has(url)) { // 如果 pending 中不存在当前请求,则添加进去\n pending.set(url, cancel);\n }\n });\n};\n/**\n * 移除请求\n * @param {Object} config\n */\nexport const removePending = (config) => {\n if (!config.url) return;\n const url = [\n config.method,\n config.url,\n qs.stringify(config.params),\n qs.stringify(config.data)\n ].join('&');\n if (pending.has(url)) { // 如果在 pending 中存在当前请求标识,需要取消当前请求,并且移除\n const cancel = pending.get(url);\n\t\tcancel(url);\n pending.delete(url);\n }\n};\n/**\n * 清空 pending 中的请求(在路由跳转时调用)\n */\nexport const clearPending = () => {\n for (const [url, cancel] of pending) {\n cancel(url);\n }\n pending.clear();\n};\n","import router from './router';\nimport {clearPending} from \"@/utils/pending.js\";\nimport Nprogress from 'nprogress';\nimport 'nprogress/nprogress.css';\n// Nprogress Configuration\nNprogress.configure({showSpinner: false});\n\nrouter.beforeEach(async (to, from, next) => {\n Nprogress.start();\n clearPending();\n // to.matched.length && to.meta.title && (document.title = 'Judian - ' + to.meta.title)\n // console.log(to.matched, '--');\n if (to.matched.length === 0) {\n from.name ? next({name: from.name}) : next('/404')\n } else {\n next()\n }\n Nprogress.done();\n});\n","// import {getDevice} from \"@/utils/common.js\";\n\n// 获取设备类型,判断pc端还是移动端\nconst browser = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)\n// const browser = getDevice();\n// 基础字体大小\nconst baseValue = 16\n// 可视区的大小,移动端是屏幕的宽度,PC端是浏览器可视区的宽度\nlet clientWidth = 0\n// 设计稿的宽度\nlet designWidth = 1920\n// 获取可视窗口尺寸\nlet windowWidth = document.documentElement.clientWidth;\n// let windowHeight = document.documentElement.clientHeight;\n\nconst list = ['iOS', 'Android', 'phone', 'iPhone', 'Mobile', 'BlackBerry'];\n\n// 设置 rem 函数\nfunction setRem() {\n if (list.includes(browser) || windowWidth < 751) {\n designWidth = 750;\n } else {\n designWidth = 1920\n }\n\n // 当前页面宽度相对于 1920宽的缩放比例,可根据自己需要修改。\n clientWidth = document.documentElement.clientWidth\n const scale = clientWidth / designWidth\n // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整)\n document.documentElement.style.fontSize = baseValue * scale + 'px'\n}\n\n// 初始化\nsetRem();\n// 改变窗口大小时重新设置 rem\nwindow.onresize = function () {\n windowWidth = document.documentElement.clientWidth || window.innerWidth || document.body.clientWidth;\n setRem()\n}\n","export default {\n install: (app) => {\n app.directive('preventReClick', (el, binding) => {\n function preventReClickFun(elValue, bindingValue) {\n if (!elValue.disabled) {\n elValue.disabled = true\n setTimeout(() => {\n elValue.disabled = false\n }, bindingValue.value || 1500)\n }\n }\n el.addEventListener('click', () => preventReClickFun(el, binding))\n binding.dir.unmounted = function() {\n el.removeEventListener('click', () => preventReClickFun(el, binding))\n }\n });\n }\n}\n","import '@/assets/less/index.less'\n\nimport {createApp} from 'vue'\nimport {createPinia} from 'pinia'\nimport App from './App.vue'\nimport router from './router'\n\nimport '@/permission.js';\nimport '@/utils/rem.js'\nimport VueDOMPurifyHTML from 'vue-dompurify-html'\nimport VPreventReClick from '@/tools/v-preventReClick';\n\nconst app = createApp(App)\n\napp.use(createPinia())\napp.use(router)\n\napp.use(VPreventReClick);\napp.use(VueDOMPurifyHTML);\n\napp.mount('#app');\nconsole.log('NODE_ENV:', process.env.VITE_USER_NODE_ENV);\n"],"file":"js/index-RfYD5Dwk-1742552365738.js"}