瀏覽代碼

fix: 修改初始路由

wanggaokun 1 月之前
父節點
當前提交
0a8c19bda4

+ 13 - 1
src/layouts/container/AppTransverse/index.vue

@@ -1,4 +1,16 @@
 <template>
-  <div></div>
+  <el-container class="layout">
+    <el-header></el-header>
+    <el-main>
+      <router-view v-slot="{ Component, route }">
+        <transition appear name="fade-transform" mode="out-in">
+          <keep-alive>
+            <component :is="Component" :key="route.name" />
+          </keep-alive>
+        </transition>
+      </router-view>
+    </el-main>
+    <el-footer></el-footer>
+  </el-container>
 </template>
 <script lang="tsx" setup></script>

+ 4 - 4
src/layouts/index.vue

@@ -1,13 +1,13 @@
 <template>
-  <div class="wh-full">
-    <component :is="LayoutComponents['classic']" />
-  </div>
+  <component :is="LayoutComponents['transverse']" />
 </template>
 
 <script setup lang="ts" name="Layout">
 import AppClassic from './container/AppClassic/index.vue'
+import AppTransverse from './container/AppTransverse/index.vue'
 
 const LayoutComponents: Record<LayoutType, Component> = {
-  classic: AppClassic
+  classic: AppClassic,
+  transverse: AppTransverse
 }
 </script>

+ 5 - 6
src/router/index.ts

@@ -1,7 +1,7 @@
 import { createWebHashHistory, createWebHistory, createRouter, type RouteRecordRaw } from 'vue-router'
 import { errorRouter, staticRouter } from '@/router/modules/staticRouter'
 import type { App } from 'vue'
-
+import { useAuthStore } from '@/stores'
 const mode = import.meta.env.VITE_ROUTER_MODE
 import { NO_RESET_WHITE_LIST } from '@/constants'
 // 路由模式
@@ -28,7 +28,7 @@ const routerMode = {
  */
 const router = createRouter({
   history: routerMode[mode](),
-  routes: [...staticRouter, ...errorRouter] as RouteRecordRaw[],
+  routes: [...staticRouter, ...errorRouter],
   strict: false,
   scrollBehavior: () => ({ left: 0, top: 0 })
 })
@@ -42,11 +42,10 @@ export const setupRouter = (app: App<Element>) => {
  * @description 重置路由
  **/
 export const resetRouter = (): void => {
-  router.getRoutes().forEach(route => {
+  const authStore = useAuthStore()
+  authStore.flatMenuListGet.forEach(route => {
     const { name } = route
-    if (name && !NO_RESET_WHITE_LIST.includes(name as string)) {
-      router.hasRoute(name) && router.removeRoute(name)
-    }
+    if (name && router.hasRoute(name)) router.removeRoute(name)
   })
 }
 export default router

+ 1 - 2
src/router/modules/dynamicRouter.ts

@@ -16,7 +16,6 @@ export const initDynamicRouter = async () => {
     if (authStore.isLoaded) return
     await authStore.setMenuList()
     await authStore.setLoaded()
-
     if (!authStore.getMenuList.length) {
       userStore.setToken('')
       router.replace(LOGIN_URL)
@@ -33,7 +32,7 @@ export const initDynamicRouter = async () => {
       if (item.meta.isFull) {
         router.addRoute(item as unknown as RouteRecordRaw)
       } else {
-        router.addRoute('layout', item as unknown as RouteRecordRaw)
+        router.addRoute('Layout', item as unknown as RouteRecordRaw)
       }
     })
   } catch (error) {

+ 2 - 17
src/router/modules/staticRouter.ts

@@ -17,25 +17,10 @@ export const staticRouter: RouteRecordRaw[] = [
   },
   {
     path: '/layout',
-    name: 'layout',
+    name: 'Layout',
     component: () => import('@/layouts/index.vue'),
     redirect: HOME_URL,
-    children: [
-      {
-        path: HOME_URL,
-        name: 'Home',
-        component: () => import('@/views/home/index.vue'),
-        meta: {
-          title: '首页',
-          icon: 'HomeFilled',
-          isAffix: true,
-          isFull: false,
-          isHidden: false,
-          isKeepAlive: true,
-          isLink: null
-        }
-      }
-    ]
+    children: []
   }
 ]
 

+ 4 - 0
src/types/auto-components.d.ts

@@ -12,10 +12,14 @@ declare module 'vue' {
     AppTransverse: typeof import('./../layouts/container/AppTransverse/index.vue')['default']
     ElButton: typeof import('element-plus/es')['ElButton']
     ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
+    ElContainer: typeof import('element-plus/es')['ElContainer']
+    ElFooter: typeof import('element-plus/es')['ElFooter']
     ElForm: typeof import('element-plus/es')['ElForm']
     ElFormItem: typeof import('element-plus/es')['ElFormItem']
+    ElHeader: typeof import('element-plus/es')['ElHeader']
     ElIcon: typeof import('element-plus/es')['ElIcon']
     ElInput: typeof import('element-plus/es')['ElInput']
+    ElMain: typeof import('element-plus/es')['ElMain']
     HelloWorld: typeof import('./../components/HelloWorld.vue')['default']
     LoginForm: typeof import('./../views/login/components/LoginForm.vue')['default']
     RouterLink: typeof import('vue-router')['RouterLink']

+ 602 - 619
src/types/auto-imports.d.ts

@@ -6,328 +6,311 @@
 // biome-ignore lint: disable
 export {}
 declare global {
-  const EffectScope: (typeof import('vue'))['EffectScope']
-  const ElMessage: (typeof import('element-plus/es'))['ElMessage']
-  const acceptHMRUpdate: (typeof import('pinia'))['acceptHMRUpdate']
-  const asyncComputed: (typeof import('@vueuse/core'))['asyncComputed']
-  const autoResetRef: (typeof import('@vueuse/core'))['autoResetRef']
-  const computed: (typeof import('vue'))['computed']
-  const computedAsync: (typeof import('@vueuse/core'))['computedAsync']
-  const computedEager: (typeof import('@vueuse/core'))['computedEager']
-  const computedInject: (typeof import('@vueuse/core'))['computedInject']
-  const computedWithControl: (typeof import('@vueuse/core'))['computedWithControl']
-  const controlledComputed: (typeof import('@vueuse/core'))['controlledComputed']
-  const controlledRef: (typeof import('@vueuse/core'))['controlledRef']
-  const createApp: (typeof import('vue'))['createApp']
-  const createEventHook: (typeof import('@vueuse/core'))['createEventHook']
-  const createGlobalState: (typeof import('@vueuse/core'))['createGlobalState']
-  const createInjectionState: (typeof import('@vueuse/core'))['createInjectionState']
-  const createPinia: (typeof import('pinia'))['createPinia']
-  const createReactiveFn: (typeof import('@vueuse/core'))['createReactiveFn']
-  const createRef: (typeof import('@vueuse/core'))['createRef']
-  const createReusableTemplate: (typeof import('@vueuse/core'))['createReusableTemplate']
-  const createSharedComposable: (typeof import('@vueuse/core'))['createSharedComposable']
-  const createTemplatePromise: (typeof import('@vueuse/core'))['createTemplatePromise']
-  const createUnrefFn: (typeof import('@vueuse/core'))['createUnrefFn']
-  const customRef: (typeof import('vue'))['customRef']
-  const debouncedRef: (typeof import('@vueuse/core'))['debouncedRef']
-  const debouncedWatch: (typeof import('@vueuse/core'))['debouncedWatch']
-  const defineAsyncComponent: (typeof import('vue'))['defineAsyncComponent']
-  const defineComponent: (typeof import('vue'))['defineComponent']
-  const defineStore: (typeof import('pinia'))['defineStore']
-  const eagerComputed: (typeof import('@vueuse/core'))['eagerComputed']
-  const effectScope: (typeof import('vue'))['effectScope']
-  const extendRef: (typeof import('@vueuse/core'))['extendRef']
-  const getActivePinia: (typeof import('pinia'))['getActivePinia']
-  const getCurrentInstance: (typeof import('vue'))['getCurrentInstance']
-  const getCurrentScope: (typeof import('vue'))['getCurrentScope']
-  const h: (typeof import('vue'))['h']
-  const ignorableWatch: (typeof import('@vueuse/core'))['ignorableWatch']
-  const inject: (typeof import('vue'))['inject']
-  const injectLocal: (typeof import('@vueuse/core'))['injectLocal']
-  const isDefined: (typeof import('@vueuse/core'))['isDefined']
-  const isProxy: (typeof import('vue'))['isProxy']
-  const isReactive: (typeof import('vue'))['isReactive']
-  const isReadonly: (typeof import('vue'))['isReadonly']
-  const isRef: (typeof import('vue'))['isRef']
-  const makeDestructurable: (typeof import('@vueuse/core'))['makeDestructurable']
-  const mapActions: (typeof import('pinia'))['mapActions']
-  const mapGetters: (typeof import('pinia'))['mapGetters']
-  const mapState: (typeof import('pinia'))['mapState']
-  const mapStores: (typeof import('pinia'))['mapStores']
-  const mapWritableState: (typeof import('pinia'))['mapWritableState']
-  const markRaw: (typeof import('vue'))['markRaw']
-  const nextTick: (typeof import('vue'))['nextTick']
-  const onActivated: (typeof import('vue'))['onActivated']
-  const onBeforeMount: (typeof import('vue'))['onBeforeMount']
-  const onBeforeRouteLeave: (typeof import('vue-router'))['onBeforeRouteLeave']
-  const onBeforeRouteUpdate: (typeof import('vue-router'))['onBeforeRouteUpdate']
-  const onBeforeUnmount: (typeof import('vue'))['onBeforeUnmount']
-  const onBeforeUpdate: (typeof import('vue'))['onBeforeUpdate']
-  const onClickOutside: (typeof import('@vueuse/core'))['onClickOutside']
-  const onDeactivated: (typeof import('vue'))['onDeactivated']
-  const onElementRemoval: (typeof import('@vueuse/core'))['onElementRemoval']
-  const onErrorCaptured: (typeof import('vue'))['onErrorCaptured']
-  const onKeyStroke: (typeof import('@vueuse/core'))['onKeyStroke']
-  const onLongPress: (typeof import('@vueuse/core'))['onLongPress']
-  const onMounted: (typeof import('vue'))['onMounted']
-  const onRenderTracked: (typeof import('vue'))['onRenderTracked']
-  const onRenderTriggered: (typeof import('vue'))['onRenderTriggered']
-  const onScopeDispose: (typeof import('vue'))['onScopeDispose']
-  const onServerPrefetch: (typeof import('vue'))['onServerPrefetch']
-  const onStartTyping: (typeof import('@vueuse/core'))['onStartTyping']
-  const onUnmounted: (typeof import('vue'))['onUnmounted']
-  const onUpdated: (typeof import('vue'))['onUpdated']
-  const onWatcherCleanup: (typeof import('vue'))['onWatcherCleanup']
-  const pausableWatch: (typeof import('@vueuse/core'))['pausableWatch']
-  const provide: (typeof import('vue'))['provide']
-  const provideLocal: (typeof import('@vueuse/core'))['provideLocal']
-  const reactify: (typeof import('@vueuse/core'))['reactify']
-  const reactifyObject: (typeof import('@vueuse/core'))['reactifyObject']
-  const reactive: (typeof import('vue'))['reactive']
-  const reactiveComputed: (typeof import('@vueuse/core'))['reactiveComputed']
-  const reactiveOmit: (typeof import('@vueuse/core'))['reactiveOmit']
-  const reactivePick: (typeof import('@vueuse/core'))['reactivePick']
-  const readonly: (typeof import('vue'))['readonly']
-  const ref: (typeof import('vue'))['ref']
-  const refAutoReset: (typeof import('@vueuse/core'))['refAutoReset']
-  const refDebounced: (typeof import('@vueuse/core'))['refDebounced']
-  const refDefault: (typeof import('@vueuse/core'))['refDefault']
-  const refThrottled: (typeof import('@vueuse/core'))['refThrottled']
-  const refWithControl: (typeof import('@vueuse/core'))['refWithControl']
-  const resolveComponent: (typeof import('vue'))['resolveComponent']
-  const resolveRef: (typeof import('@vueuse/core'))['resolveRef']
-  const resolveUnref: (typeof import('@vueuse/core'))['resolveUnref']
-  const setActivePinia: (typeof import('pinia'))['setActivePinia']
-  const setMapStoreSuffix: (typeof import('pinia'))['setMapStoreSuffix']
-  const shallowReactive: (typeof import('vue'))['shallowReactive']
-  const shallowReadonly: (typeof import('vue'))['shallowReadonly']
-  const shallowRef: (typeof import('vue'))['shallowRef']
-  const storeToRefs: (typeof import('pinia'))['storeToRefs']
-  const syncRef: (typeof import('@vueuse/core'))['syncRef']
-  const syncRefs: (typeof import('@vueuse/core'))['syncRefs']
-  const templateRef: (typeof import('@vueuse/core'))['templateRef']
-  const throttledRef: (typeof import('@vueuse/core'))['throttledRef']
-  const throttledWatch: (typeof import('@vueuse/core'))['throttledWatch']
-  const toRaw: (typeof import('vue'))['toRaw']
-  const toReactive: (typeof import('@vueuse/core'))['toReactive']
-  const toRef: (typeof import('vue'))['toRef']
-  const toRefs: (typeof import('vue'))['toRefs']
-  const toValue: (typeof import('vue'))['toValue']
-  const triggerRef: (typeof import('vue'))['triggerRef']
-  const tryOnBeforeMount: (typeof import('@vueuse/core'))['tryOnBeforeMount']
-  const tryOnBeforeUnmount: (typeof import('@vueuse/core'))['tryOnBeforeUnmount']
-  const tryOnMounted: (typeof import('@vueuse/core'))['tryOnMounted']
-  const tryOnScopeDispose: (typeof import('@vueuse/core'))['tryOnScopeDispose']
-  const tryOnUnmounted: (typeof import('@vueuse/core'))['tryOnUnmounted']
-  const unref: (typeof import('vue'))['unref']
-  const unrefElement: (typeof import('@vueuse/core'))['unrefElement']
-  const until: (typeof import('@vueuse/core'))['until']
-  const useActiveElement: (typeof import('@vueuse/core'))['useActiveElement']
-  const useAnimate: (typeof import('@vueuse/core'))['useAnimate']
-  const useArrayDifference: (typeof import('@vueuse/core'))['useArrayDifference']
-  const useArrayEvery: (typeof import('@vueuse/core'))['useArrayEvery']
-  const useArrayFilter: (typeof import('@vueuse/core'))['useArrayFilter']
-  const useArrayFind: (typeof import('@vueuse/core'))['useArrayFind']
-  const useArrayFindIndex: (typeof import('@vueuse/core'))['useArrayFindIndex']
-  const useArrayFindLast: (typeof import('@vueuse/core'))['useArrayFindLast']
-  const useArrayIncludes: (typeof import('@vueuse/core'))['useArrayIncludes']
-  const useArrayJoin: (typeof import('@vueuse/core'))['useArrayJoin']
-  const useArrayMap: (typeof import('@vueuse/core'))['useArrayMap']
-  const useArrayReduce: (typeof import('@vueuse/core'))['useArrayReduce']
-  const useArraySome: (typeof import('@vueuse/core'))['useArraySome']
-  const useArrayUnique: (typeof import('@vueuse/core'))['useArrayUnique']
-  const useAsyncQueue: (typeof import('@vueuse/core'))['useAsyncQueue']
-  const useAsyncState: (typeof import('@vueuse/core'))['useAsyncState']
-  const useAttrs: (typeof import('vue'))['useAttrs']
-  const useBase64: (typeof import('@vueuse/core'))['useBase64']
-  const useBattery: (typeof import('@vueuse/core'))['useBattery']
-  const useBluetooth: (typeof import('@vueuse/core'))['useBluetooth']
-  const useBreakpoints: (typeof import('@vueuse/core'))['useBreakpoints']
-  const useBroadcastChannel: (typeof import('@vueuse/core'))['useBroadcastChannel']
-  const useBrowserLocation: (typeof import('@vueuse/core'))['useBrowserLocation']
-  const useCached: (typeof import('@vueuse/core'))['useCached']
-  const useClipboard: (typeof import('@vueuse/core'))['useClipboard']
-  const useClipboardItems: (typeof import('@vueuse/core'))['useClipboardItems']
-  const useCloned: (typeof import('@vueuse/core'))['useCloned']
-  const useColorMode: (typeof import('@vueuse/core'))['useColorMode']
-  const useConfirmDialog: (typeof import('@vueuse/core'))['useConfirmDialog']
-  const useCountdown: (typeof import('@vueuse/core'))['useCountdown']
-  const useCounter: (typeof import('@vueuse/core'))['useCounter']
-  const useCssModule: (typeof import('vue'))['useCssModule']
-  const useCssVar: (typeof import('@vueuse/core'))['useCssVar']
-  const useCssVars: (typeof import('vue'))['useCssVars']
-  const useCurrentElement: (typeof import('@vueuse/core'))['useCurrentElement']
-  const useCycleList: (typeof import('@vueuse/core'))['useCycleList']
-  const useDark: (typeof import('@vueuse/core'))['useDark']
-  const useDateFormat: (typeof import('@vueuse/core'))['useDateFormat']
-  const useDebounce: (typeof import('@vueuse/core'))['useDebounce']
-  const useDebounceFn: (typeof import('@vueuse/core'))['useDebounceFn']
-  const useDebouncedRefHistory: (typeof import('@vueuse/core'))['useDebouncedRefHistory']
-  const useDeviceMotion: (typeof import('@vueuse/core'))['useDeviceMotion']
-  const useDeviceOrientation: (typeof import('@vueuse/core'))['useDeviceOrientation']
-  const useDevicePixelRatio: (typeof import('@vueuse/core'))['useDevicePixelRatio']
-  const useDevicesList: (typeof import('@vueuse/core'))['useDevicesList']
-  const useDisplayMedia: (typeof import('@vueuse/core'))['useDisplayMedia']
-  const useDocumentVisibility: (typeof import('@vueuse/core'))['useDocumentVisibility']
-  const useDraggable: (typeof import('@vueuse/core'))['useDraggable']
-  const useDropZone: (typeof import('@vueuse/core'))['useDropZone']
-  const useElementBounding: (typeof import('@vueuse/core'))['useElementBounding']
-  const useElementByPoint: (typeof import('@vueuse/core'))['useElementByPoint']
-  const useElementHover: (typeof import('@vueuse/core'))['useElementHover']
-  const useElementSize: (typeof import('@vueuse/core'))['useElementSize']
-  const useElementVisibility: (typeof import('@vueuse/core'))['useElementVisibility']
-  const useEventBus: (typeof import('@vueuse/core'))['useEventBus']
-  const useEventListener: (typeof import('@vueuse/core'))['useEventListener']
-  const useEventSource: (typeof import('@vueuse/core'))['useEventSource']
-  const useEyeDropper: (typeof import('@vueuse/core'))['useEyeDropper']
-  const useFavicon: (typeof import('@vueuse/core'))['useFavicon']
-  const useFetch: (typeof import('@vueuse/core'))['useFetch']
-  const useFileDialog: (typeof import('@vueuse/core'))['useFileDialog']
-  const useFileSystemAccess: (typeof import('@vueuse/core'))['useFileSystemAccess']
-  const useFocus: (typeof import('@vueuse/core'))['useFocus']
-  const useFocusWithin: (typeof import('@vueuse/core'))['useFocusWithin']
-  const useFps: (typeof import('@vueuse/core'))['useFps']
-  const useFullscreen: (typeof import('@vueuse/core'))['useFullscreen']
-  const useGamepad: (typeof import('@vueuse/core'))['useGamepad']
-  const useGeolocation: (typeof import('@vueuse/core'))['useGeolocation']
-  const useId: (typeof import('vue'))['useId']
-  const useIdle: (typeof import('@vueuse/core'))['useIdle']
-  const useImage: (typeof import('@vueuse/core'))['useImage']
-  const useInfiniteScroll: (typeof import('@vueuse/core'))['useInfiniteScroll']
-  const useIntersectionObserver: (typeof import('@vueuse/core'))['useIntersectionObserver']
-  const useInterval: (typeof import('@vueuse/core'))['useInterval']
-  const useIntervalFn: (typeof import('@vueuse/core'))['useIntervalFn']
-  const useKeyModifier: (typeof import('@vueuse/core'))['useKeyModifier']
-  const useLastChanged: (typeof import('@vueuse/core'))['useLastChanged']
-  const useLink: (typeof import('vue-router'))['useLink']
-  const useLocalStorage: (typeof import('@vueuse/core'))['useLocalStorage']
-  const useMagicKeys: (typeof import('@vueuse/core'))['useMagicKeys']
-  const useManualRefHistory: (typeof import('@vueuse/core'))['useManualRefHistory']
-  const useMediaControls: (typeof import('@vueuse/core'))['useMediaControls']
-  const useMediaQuery: (typeof import('@vueuse/core'))['useMediaQuery']
-  const useMemoize: (typeof import('@vueuse/core'))['useMemoize']
-  const useMemory: (typeof import('@vueuse/core'))['useMemory']
-  const useModel: (typeof import('vue'))['useModel']
-  const useMounted: (typeof import('@vueuse/core'))['useMounted']
-  const useMouse: (typeof import('@vueuse/core'))['useMouse']
-  const useMouseInElement: (typeof import('@vueuse/core'))['useMouseInElement']
-  const useMousePressed: (typeof import('@vueuse/core'))['useMousePressed']
-  const useMutationObserver: (typeof import('@vueuse/core'))['useMutationObserver']
-  const useNavigatorLanguage: (typeof import('@vueuse/core'))['useNavigatorLanguage']
-  const useNetwork: (typeof import('@vueuse/core'))['useNetwork']
-  const useNow: (typeof import('@vueuse/core'))['useNow']
-  const useObjectUrl: (typeof import('@vueuse/core'))['useObjectUrl']
-  const useOffsetPagination: (typeof import('@vueuse/core'))['useOffsetPagination']
-  const useOnline: (typeof import('@vueuse/core'))['useOnline']
-  const usePageLeave: (typeof import('@vueuse/core'))['usePageLeave']
-  const useParallax: (typeof import('@vueuse/core'))['useParallax']
-  const useParentElement: (typeof import('@vueuse/core'))['useParentElement']
-  const usePerformanceObserver: (typeof import('@vueuse/core'))['usePerformanceObserver']
-  const usePermission: (typeof import('@vueuse/core'))['usePermission']
-  const usePointer: (typeof import('@vueuse/core'))['usePointer']
-  const usePointerLock: (typeof import('@vueuse/core'))['usePointerLock']
-  const usePointerSwipe: (typeof import('@vueuse/core'))['usePointerSwipe']
-  const usePreferredColorScheme: (typeof import('@vueuse/core'))['usePreferredColorScheme']
-  const usePreferredContrast: (typeof import('@vueuse/core'))['usePreferredContrast']
-  const usePreferredDark: (typeof import('@vueuse/core'))['usePreferredDark']
-  const usePreferredLanguages: (typeof import('@vueuse/core'))['usePreferredLanguages']
-  const usePreferredReducedMotion: (typeof import('@vueuse/core'))['usePreferredReducedMotion']
-  const usePreferredReducedTransparency: (typeof import('@vueuse/core'))['usePreferredReducedTransparency']
-  const usePrevious: (typeof import('@vueuse/core'))['usePrevious']
-  const useRafFn: (typeof import('@vueuse/core'))['useRafFn']
-  const useRefHistory: (typeof import('@vueuse/core'))['useRefHistory']
-  const useResizeObserver: (typeof import('@vueuse/core'))['useResizeObserver']
-  const useRoute: (typeof import('vue-router'))['useRoute']
-  const useRouter: (typeof import('vue-router'))['useRouter']
-  const useSSRWidth: (typeof import('@vueuse/core'))['useSSRWidth']
-  const useScreenOrientation: (typeof import('@vueuse/core'))['useScreenOrientation']
-  const useScreenSafeArea: (typeof import('@vueuse/core'))['useScreenSafeArea']
-  const useScriptTag: (typeof import('@vueuse/core'))['useScriptTag']
-  const useScroll: (typeof import('@vueuse/core'))['useScroll']
-  const useScrollLock: (typeof import('@vueuse/core'))['useScrollLock']
-  const useSessionStorage: (typeof import('@vueuse/core'))['useSessionStorage']
-  const useShare: (typeof import('@vueuse/core'))['useShare']
-  const useSlots: (typeof import('vue'))['useSlots']
-  const useSorted: (typeof import('@vueuse/core'))['useSorted']
-  const useSpeechRecognition: (typeof import('@vueuse/core'))['useSpeechRecognition']
-  const useSpeechSynthesis: (typeof import('@vueuse/core'))['useSpeechSynthesis']
-  const useStepper: (typeof import('@vueuse/core'))['useStepper']
-  const useStorage: (typeof import('@vueuse/core'))['useStorage']
-  const useStorageAsync: (typeof import('@vueuse/core'))['useStorageAsync']
-  const useStyleTag: (typeof import('@vueuse/core'))['useStyleTag']
-  const useSupported: (typeof import('@vueuse/core'))['useSupported']
-  const useSwipe: (typeof import('@vueuse/core'))['useSwipe']
-  const useTemplateRef: (typeof import('vue'))['useTemplateRef']
-  const useTemplateRefsList: (typeof import('@vueuse/core'))['useTemplateRefsList']
-  const useTextDirection: (typeof import('@vueuse/core'))['useTextDirection']
-  const useTextSelection: (typeof import('@vueuse/core'))['useTextSelection']
-  const useTextareaAutosize: (typeof import('@vueuse/core'))['useTextareaAutosize']
-  const useThrottle: (typeof import('@vueuse/core'))['useThrottle']
-  const useThrottleFn: (typeof import('@vueuse/core'))['useThrottleFn']
-  const useThrottledRefHistory: (typeof import('@vueuse/core'))['useThrottledRefHistory']
-  const useTimeAgo: (typeof import('@vueuse/core'))['useTimeAgo']
-  const useTimeout: (typeof import('@vueuse/core'))['useTimeout']
-  const useTimeoutFn: (typeof import('@vueuse/core'))['useTimeoutFn']
-  const useTimeoutPoll: (typeof import('@vueuse/core'))['useTimeoutPoll']
-  const useTimestamp: (typeof import('@vueuse/core'))['useTimestamp']
-  const useTitle: (typeof import('@vueuse/core'))['useTitle']
-  const useToNumber: (typeof import('@vueuse/core'))['useToNumber']
-  const useToString: (typeof import('@vueuse/core'))['useToString']
-  const useToggle: (typeof import('@vueuse/core'))['useToggle']
-  const useTransition: (typeof import('@vueuse/core'))['useTransition']
-  const useUrlSearchParams: (typeof import('@vueuse/core'))['useUrlSearchParams']
-  const useUserMedia: (typeof import('@vueuse/core'))['useUserMedia']
-  const useVModel: (typeof import('@vueuse/core'))['useVModel']
-  const useVModels: (typeof import('@vueuse/core'))['useVModels']
-  const useVibrate: (typeof import('@vueuse/core'))['useVibrate']
-  const useVirtualList: (typeof import('@vueuse/core'))['useVirtualList']
-  const useWakeLock: (typeof import('@vueuse/core'))['useWakeLock']
-  const useWebNotification: (typeof import('@vueuse/core'))['useWebNotification']
-  const useWebSocket: (typeof import('@vueuse/core'))['useWebSocket']
-  const useWebWorker: (typeof import('@vueuse/core'))['useWebWorker']
-  const useWebWorkerFn: (typeof import('@vueuse/core'))['useWebWorkerFn']
-  const useWindowFocus: (typeof import('@vueuse/core'))['useWindowFocus']
-  const useWindowScroll: (typeof import('@vueuse/core'))['useWindowScroll']
-  const useWindowSize: (typeof import('@vueuse/core'))['useWindowSize']
-  const watch: (typeof import('vue'))['watch']
-  const watchArray: (typeof import('@vueuse/core'))['watchArray']
-  const watchAtMost: (typeof import('@vueuse/core'))['watchAtMost']
-  const watchDebounced: (typeof import('@vueuse/core'))['watchDebounced']
-  const watchDeep: (typeof import('@vueuse/core'))['watchDeep']
-  const watchEffect: (typeof import('vue'))['watchEffect']
-  const watchIgnorable: (typeof import('@vueuse/core'))['watchIgnorable']
-  const watchImmediate: (typeof import('@vueuse/core'))['watchImmediate']
-  const watchOnce: (typeof import('@vueuse/core'))['watchOnce']
-  const watchPausable: (typeof import('@vueuse/core'))['watchPausable']
-  const watchPostEffect: (typeof import('vue'))['watchPostEffect']
-  const watchSyncEffect: (typeof import('vue'))['watchSyncEffect']
-  const watchThrottled: (typeof import('@vueuse/core'))['watchThrottled']
-  const watchTriggerable: (typeof import('@vueuse/core'))['watchTriggerable']
-  const watchWithFilter: (typeof import('@vueuse/core'))['watchWithFilter']
-  const whenever: (typeof import('@vueuse/core'))['whenever']
+  const EffectScope: typeof import('vue')['EffectScope']
+  const ElMessage: typeof import('element-plus/es')['ElMessage']
+  const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate']
+  const asyncComputed: typeof import('@vueuse/core')['asyncComputed']
+  const autoResetRef: typeof import('@vueuse/core')['autoResetRef']
+  const computed: typeof import('vue')['computed']
+  const computedAsync: typeof import('@vueuse/core')['computedAsync']
+  const computedEager: typeof import('@vueuse/core')['computedEager']
+  const computedInject: typeof import('@vueuse/core')['computedInject']
+  const computedWithControl: typeof import('@vueuse/core')['computedWithControl']
+  const controlledComputed: typeof import('@vueuse/core')['controlledComputed']
+  const controlledRef: typeof import('@vueuse/core')['controlledRef']
+  const createApp: typeof import('vue')['createApp']
+  const createEventHook: typeof import('@vueuse/core')['createEventHook']
+  const createGlobalState: typeof import('@vueuse/core')['createGlobalState']
+  const createInjectionState: typeof import('@vueuse/core')['createInjectionState']
+  const createPinia: typeof import('pinia')['createPinia']
+  const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn']
+  const createRef: typeof import('@vueuse/core')['createRef']
+  const createReusableTemplate: typeof import('@vueuse/core')['createReusableTemplate']
+  const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable']
+  const createTemplatePromise: typeof import('@vueuse/core')['createTemplatePromise']
+  const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn']
+  const customRef: typeof import('vue')['customRef']
+  const debouncedRef: typeof import('@vueuse/core')['debouncedRef']
+  const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch']
+  const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
+  const defineComponent: typeof import('vue')['defineComponent']
+  const defineStore: typeof import('pinia')['defineStore']
+  const eagerComputed: typeof import('@vueuse/core')['eagerComputed']
+  const effectScope: typeof import('vue')['effectScope']
+  const extendRef: typeof import('@vueuse/core')['extendRef']
+  const getActivePinia: typeof import('pinia')['getActivePinia']
+  const getCurrentInstance: typeof import('vue')['getCurrentInstance']
+  const getCurrentScope: typeof import('vue')['getCurrentScope']
+  const h: typeof import('vue')['h']
+  const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch']
+  const inject: typeof import('vue')['inject']
+  const injectLocal: typeof import('@vueuse/core')['injectLocal']
+  const isDefined: typeof import('@vueuse/core')['isDefined']
+  const isProxy: typeof import('vue')['isProxy']
+  const isReactive: typeof import('vue')['isReactive']
+  const isReadonly: typeof import('vue')['isReadonly']
+  const isRef: typeof import('vue')['isRef']
+  const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable']
+  const mapActions: typeof import('pinia')['mapActions']
+  const mapGetters: typeof import('pinia')['mapGetters']
+  const mapState: typeof import('pinia')['mapState']
+  const mapStores: typeof import('pinia')['mapStores']
+  const mapWritableState: typeof import('pinia')['mapWritableState']
+  const markRaw: typeof import('vue')['markRaw']
+  const nextTick: typeof import('vue')['nextTick']
+  const onActivated: typeof import('vue')['onActivated']
+  const onBeforeMount: typeof import('vue')['onBeforeMount']
+  const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
+  const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
+  const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
+  const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
+  const onClickOutside: typeof import('@vueuse/core')['onClickOutside']
+  const onDeactivated: typeof import('vue')['onDeactivated']
+  const onElementRemoval: typeof import('@vueuse/core')['onElementRemoval']
+  const onErrorCaptured: typeof import('vue')['onErrorCaptured']
+  const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke']
+  const onLongPress: typeof import('@vueuse/core')['onLongPress']
+  const onMounted: typeof import('vue')['onMounted']
+  const onRenderTracked: typeof import('vue')['onRenderTracked']
+  const onRenderTriggered: typeof import('vue')['onRenderTriggered']
+  const onScopeDispose: typeof import('vue')['onScopeDispose']
+  const onServerPrefetch: typeof import('vue')['onServerPrefetch']
+  const onStartTyping: typeof import('@vueuse/core')['onStartTyping']
+  const onUnmounted: typeof import('vue')['onUnmounted']
+  const onUpdated: typeof import('vue')['onUpdated']
+  const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
+  const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
+  const provide: typeof import('vue')['provide']
+  const provideLocal: typeof import('@vueuse/core')['provideLocal']
+  const reactify: typeof import('@vueuse/core')['reactify']
+  const reactifyObject: typeof import('@vueuse/core')['reactifyObject']
+  const reactive: typeof import('vue')['reactive']
+  const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed']
+  const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit']
+  const reactivePick: typeof import('@vueuse/core')['reactivePick']
+  const readonly: typeof import('vue')['readonly']
+  const ref: typeof import('vue')['ref']
+  const refAutoReset: typeof import('@vueuse/core')['refAutoReset']
+  const refDebounced: typeof import('@vueuse/core')['refDebounced']
+  const refDefault: typeof import('@vueuse/core')['refDefault']
+  const refThrottled: typeof import('@vueuse/core')['refThrottled']
+  const refWithControl: typeof import('@vueuse/core')['refWithControl']
+  const resolveComponent: typeof import('vue')['resolveComponent']
+  const resolveRef: typeof import('@vueuse/core')['resolveRef']
+  const resolveUnref: typeof import('@vueuse/core')['resolveUnref']
+  const setActivePinia: typeof import('pinia')['setActivePinia']
+  const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix']
+  const shallowReactive: typeof import('vue')['shallowReactive']
+  const shallowReadonly: typeof import('vue')['shallowReadonly']
+  const shallowRef: typeof import('vue')['shallowRef']
+  const storeToRefs: typeof import('pinia')['storeToRefs']
+  const syncRef: typeof import('@vueuse/core')['syncRef']
+  const syncRefs: typeof import('@vueuse/core')['syncRefs']
+  const templateRef: typeof import('@vueuse/core')['templateRef']
+  const throttledRef: typeof import('@vueuse/core')['throttledRef']
+  const throttledWatch: typeof import('@vueuse/core')['throttledWatch']
+  const toRaw: typeof import('vue')['toRaw']
+  const toReactive: typeof import('@vueuse/core')['toReactive']
+  const toRef: typeof import('vue')['toRef']
+  const toRefs: typeof import('vue')['toRefs']
+  const toValue: typeof import('vue')['toValue']
+  const triggerRef: typeof import('vue')['triggerRef']
+  const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount']
+  const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount']
+  const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted']
+  const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose']
+  const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted']
+  const unref: typeof import('vue')['unref']
+  const unrefElement: typeof import('@vueuse/core')['unrefElement']
+  const until: typeof import('@vueuse/core')['until']
+  const useActiveElement: typeof import('@vueuse/core')['useActiveElement']
+  const useAnimate: typeof import('@vueuse/core')['useAnimate']
+  const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference']
+  const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery']
+  const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter']
+  const useArrayFind: typeof import('@vueuse/core')['useArrayFind']
+  const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex']
+  const useArrayFindLast: typeof import('@vueuse/core')['useArrayFindLast']
+  const useArrayIncludes: typeof import('@vueuse/core')['useArrayIncludes']
+  const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin']
+  const useArrayMap: typeof import('@vueuse/core')['useArrayMap']
+  const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce']
+  const useArraySome: typeof import('@vueuse/core')['useArraySome']
+  const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique']
+  const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue']
+  const useAsyncState: typeof import('@vueuse/core')['useAsyncState']
+  const useAttrs: typeof import('vue')['useAttrs']
+  const useBase64: typeof import('@vueuse/core')['useBase64']
+  const useBattery: typeof import('@vueuse/core')['useBattery']
+  const useBluetooth: typeof import('@vueuse/core')['useBluetooth']
+  const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints']
+  const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel']
+  const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
+  const useCached: typeof import('@vueuse/core')['useCached']
+  const useClipboard: typeof import('@vueuse/core')['useClipboard']
+  const useClipboardItems: typeof import('@vueuse/core')['useClipboardItems']
+  const useCloned: typeof import('@vueuse/core')['useCloned']
+  const useColorMode: typeof import('@vueuse/core')['useColorMode']
+  const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog']
+  const useCountdown: typeof import('@vueuse/core')['useCountdown']
+  const useCounter: typeof import('@vueuse/core')['useCounter']
+  const useCssModule: typeof import('vue')['useCssModule']
+  const useCssVar: typeof import('@vueuse/core')['useCssVar']
+  const useCssVars: typeof import('vue')['useCssVars']
+  const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement']
+  const useCycleList: typeof import('@vueuse/core')['useCycleList']
+  const useDark: typeof import('@vueuse/core')['useDark']
+  const useDateFormat: typeof import('@vueuse/core')['useDateFormat']
+  const useDebounce: typeof import('@vueuse/core')['useDebounce']
+  const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn']
+  const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory']
+  const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion']
+  const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation']
+  const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio']
+  const useDevicesList: typeof import('@vueuse/core')['useDevicesList']
+  const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia']
+  const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility']
+  const useDraggable: typeof import('@vueuse/core')['useDraggable']
+  const useDropZone: typeof import('@vueuse/core')['useDropZone']
+  const useElementBounding: typeof import('@vueuse/core')['useElementBounding']
+  const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint']
+  const useElementHover: typeof import('@vueuse/core')['useElementHover']
+  const useElementSize: typeof import('@vueuse/core')['useElementSize']
+  const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility']
+  const useEventBus: typeof import('@vueuse/core')['useEventBus']
+  const useEventListener: typeof import('@vueuse/core')['useEventListener']
+  const useEventSource: typeof import('@vueuse/core')['useEventSource']
+  const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper']
+  const useFavicon: typeof import('@vueuse/core')['useFavicon']
+  const useFetch: typeof import('@vueuse/core')['useFetch']
+  const useFileDialog: typeof import('@vueuse/core')['useFileDialog']
+  const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess']
+  const useFocus: typeof import('@vueuse/core')['useFocus']
+  const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin']
+  const useFps: typeof import('@vueuse/core')['useFps']
+  const useFullscreen: typeof import('@vueuse/core')['useFullscreen']
+  const useGamepad: typeof import('@vueuse/core')['useGamepad']
+  const useGeolocation: typeof import('@vueuse/core')['useGeolocation']
+  const useId: typeof import('vue')['useId']
+  const useIdle: typeof import('@vueuse/core')['useIdle']
+  const useImage: typeof import('@vueuse/core')['useImage']
+  const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll']
+  const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver']
+  const useInterval: typeof import('@vueuse/core')['useInterval']
+  const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn']
+  const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier']
+  const useLastChanged: typeof import('@vueuse/core')['useLastChanged']
+  const useLink: typeof import('vue-router')['useLink']
+  const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage']
+  const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys']
+  const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory']
+  const useMediaControls: typeof import('@vueuse/core')['useMediaControls']
+  const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery']
+  const useMemoize: typeof import('@vueuse/core')['useMemoize']
+  const useMemory: typeof import('@vueuse/core')['useMemory']
+  const useModel: typeof import('vue')['useModel']
+  const useMounted: typeof import('@vueuse/core')['useMounted']
+  const useMouse: typeof import('@vueuse/core')['useMouse']
+  const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement']
+  const useMousePressed: typeof import('@vueuse/core')['useMousePressed']
+  const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver']
+  const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage']
+  const useNetwork: typeof import('@vueuse/core')['useNetwork']
+  const useNow: typeof import('@vueuse/core')['useNow']
+  const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl']
+  const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination']
+  const useOnline: typeof import('@vueuse/core')['useOnline']
+  const usePageLeave: typeof import('@vueuse/core')['usePageLeave']
+  const useParallax: typeof import('@vueuse/core')['useParallax']
+  const useParentElement: typeof import('@vueuse/core')['useParentElement']
+  const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver']
+  const usePermission: typeof import('@vueuse/core')['usePermission']
+  const usePointer: typeof import('@vueuse/core')['usePointer']
+  const usePointerLock: typeof import('@vueuse/core')['usePointerLock']
+  const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe']
+  const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme']
+  const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast']
+  const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark']
+  const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages']
+  const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion']
+  const usePreferredReducedTransparency: typeof import('@vueuse/core')['usePreferredReducedTransparency']
+  const usePrevious: typeof import('@vueuse/core')['usePrevious']
+  const useRafFn: typeof import('@vueuse/core')['useRafFn']
+  const useRefHistory: typeof import('@vueuse/core')['useRefHistory']
+  const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver']
+  const useRoute: typeof import('vue-router')['useRoute']
+  const useRouter: typeof import('vue-router')['useRouter']
+  const useSSRWidth: typeof import('@vueuse/core')['useSSRWidth']
+  const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation']
+  const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea']
+  const useScriptTag: typeof import('@vueuse/core')['useScriptTag']
+  const useScroll: typeof import('@vueuse/core')['useScroll']
+  const useScrollLock: typeof import('@vueuse/core')['useScrollLock']
+  const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage']
+  const useShare: typeof import('@vueuse/core')['useShare']
+  const useSlots: typeof import('vue')['useSlots']
+  const useSorted: typeof import('@vueuse/core')['useSorted']
+  const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition']
+  const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis']
+  const useStepper: typeof import('@vueuse/core')['useStepper']
+  const useStorage: typeof import('@vueuse/core')['useStorage']
+  const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync']
+  const useStyleTag: typeof import('@vueuse/core')['useStyleTag']
+  const useSupported: typeof import('@vueuse/core')['useSupported']
+  const useSwipe: typeof import('@vueuse/core')['useSwipe']
+  const useTemplateRef: typeof import('vue')['useTemplateRef']
+  const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList']
+  const useTextDirection: typeof import('@vueuse/core')['useTextDirection']
+  const useTextSelection: typeof import('@vueuse/core')['useTextSelection']
+  const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize']
+  const useThrottle: typeof import('@vueuse/core')['useThrottle']
+  const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn']
+  const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory']
+  const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo']
+  const useTimeout: typeof import('@vueuse/core')['useTimeout']
+  const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn']
+  const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll']
+  const useTimestamp: typeof import('@vueuse/core')['useTimestamp']
+  const useTitle: typeof import('@vueuse/core')['useTitle']
+  const useToNumber: typeof import('@vueuse/core')['useToNumber']
+  const useToString: typeof import('@vueuse/core')['useToString']
+  const useToggle: typeof import('@vueuse/core')['useToggle']
+  const useTransition: typeof import('@vueuse/core')['useTransition']
+  const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams']
+  const useUserMedia: typeof import('@vueuse/core')['useUserMedia']
+  const useVModel: typeof import('@vueuse/core')['useVModel']
+  const useVModels: typeof import('@vueuse/core')['useVModels']
+  const useVibrate: typeof import('@vueuse/core')['useVibrate']
+  const useVirtualList: typeof import('@vueuse/core')['useVirtualList']
+  const useWakeLock: typeof import('@vueuse/core')['useWakeLock']
+  const useWebNotification: typeof import('@vueuse/core')['useWebNotification']
+  const useWebSocket: typeof import('@vueuse/core')['useWebSocket']
+  const useWebWorker: typeof import('@vueuse/core')['useWebWorker']
+  const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn']
+  const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus']
+  const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll']
+  const useWindowSize: typeof import('@vueuse/core')['useWindowSize']
+  const watch: typeof import('vue')['watch']
+  const watchArray: typeof import('@vueuse/core')['watchArray']
+  const watchAtMost: typeof import('@vueuse/core')['watchAtMost']
+  const watchDebounced: typeof import('@vueuse/core')['watchDebounced']
+  const watchDeep: typeof import('@vueuse/core')['watchDeep']
+  const watchEffect: typeof import('vue')['watchEffect']
+  const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable']
+  const watchImmediate: typeof import('@vueuse/core')['watchImmediate']
+  const watchOnce: typeof import('@vueuse/core')['watchOnce']
+  const watchPausable: typeof import('@vueuse/core')['watchPausable']
+  const watchPostEffect: typeof import('vue')['watchPostEffect']
+  const watchSyncEffect: typeof import('vue')['watchSyncEffect']
+  const watchThrottled: typeof import('@vueuse/core')['watchThrottled']
+  const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable']
+  const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter']
+  const whenever: typeof import('@vueuse/core')['whenever']
 }
 // for type re-export
 declare global {
   // @ts-ignore
-  export type {
-    Component,
-    Slot,
-    Slots,
-    ComponentPublicInstance,
-    ComputedRef,
-    DirectiveBinding,
-    ExtractDefaultPropTypes,
-    ExtractPropTypes,
-    ExtractPublicPropTypes,
-    InjectionKey,
-    PropType,
-    Ref,
-    MaybeRef,
-    MaybeRefOrGetter,
-    VNode,
-    WritableComputedRef
-  } from 'vue'
+  export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
   import('vue')
 }
 
@@ -336,305 +319,305 @@ import { UnwrapRef } from 'vue'
 declare module 'vue' {
   interface GlobalComponents {}
   interface ComponentCustomProperties {
-    readonly EffectScope: UnwrapRef<(typeof import('vue'))['EffectScope']>
-    readonly ElMessage: UnwrapRef<(typeof import('element-plus/es'))['ElMessage']>
-    readonly acceptHMRUpdate: UnwrapRef<(typeof import('pinia'))['acceptHMRUpdate']>
-    readonly asyncComputed: UnwrapRef<(typeof import('@vueuse/core'))['asyncComputed']>
-    readonly autoResetRef: UnwrapRef<(typeof import('@vueuse/core'))['autoResetRef']>
-    readonly computed: UnwrapRef<(typeof import('vue'))['computed']>
-    readonly computedAsync: UnwrapRef<(typeof import('@vueuse/core'))['computedAsync']>
-    readonly computedEager: UnwrapRef<(typeof import('@vueuse/core'))['computedEager']>
-    readonly computedInject: UnwrapRef<(typeof import('@vueuse/core'))['computedInject']>
-    readonly computedWithControl: UnwrapRef<(typeof import('@vueuse/core'))['computedWithControl']>
-    readonly controlledComputed: UnwrapRef<(typeof import('@vueuse/core'))['controlledComputed']>
-    readonly controlledRef: UnwrapRef<(typeof import('@vueuse/core'))['controlledRef']>
-    readonly createApp: UnwrapRef<(typeof import('vue'))['createApp']>
-    readonly createEventHook: UnwrapRef<(typeof import('@vueuse/core'))['createEventHook']>
-    readonly createGlobalState: UnwrapRef<(typeof import('@vueuse/core'))['createGlobalState']>
-    readonly createInjectionState: UnwrapRef<(typeof import('@vueuse/core'))['createInjectionState']>
-    readonly createPinia: UnwrapRef<(typeof import('pinia'))['createPinia']>
-    readonly createReactiveFn: UnwrapRef<(typeof import('@vueuse/core'))['createReactiveFn']>
-    readonly createRef: UnwrapRef<(typeof import('@vueuse/core'))['createRef']>
-    readonly createReusableTemplate: UnwrapRef<(typeof import('@vueuse/core'))['createReusableTemplate']>
-    readonly createSharedComposable: UnwrapRef<(typeof import('@vueuse/core'))['createSharedComposable']>
-    readonly createTemplatePromise: UnwrapRef<(typeof import('@vueuse/core'))['createTemplatePromise']>
-    readonly createUnrefFn: UnwrapRef<(typeof import('@vueuse/core'))['createUnrefFn']>
-    readonly customRef: UnwrapRef<(typeof import('vue'))['customRef']>
-    readonly debouncedRef: UnwrapRef<(typeof import('@vueuse/core'))['debouncedRef']>
-    readonly debouncedWatch: UnwrapRef<(typeof import('@vueuse/core'))['debouncedWatch']>
-    readonly defineAsyncComponent: UnwrapRef<(typeof import('vue'))['defineAsyncComponent']>
-    readonly defineComponent: UnwrapRef<(typeof import('vue'))['defineComponent']>
-    readonly defineStore: UnwrapRef<(typeof import('pinia'))['defineStore']>
-    readonly eagerComputed: UnwrapRef<(typeof import('@vueuse/core'))['eagerComputed']>
-    readonly effectScope: UnwrapRef<(typeof import('vue'))['effectScope']>
-    readonly extendRef: UnwrapRef<(typeof import('@vueuse/core'))['extendRef']>
-    readonly getActivePinia: UnwrapRef<(typeof import('pinia'))['getActivePinia']>
-    readonly getCurrentInstance: UnwrapRef<(typeof import('vue'))['getCurrentInstance']>
-    readonly getCurrentScope: UnwrapRef<(typeof import('vue'))['getCurrentScope']>
-    readonly h: UnwrapRef<(typeof import('vue'))['h']>
-    readonly ignorableWatch: UnwrapRef<(typeof import('@vueuse/core'))['ignorableWatch']>
-    readonly inject: UnwrapRef<(typeof import('vue'))['inject']>
-    readonly injectLocal: UnwrapRef<(typeof import('@vueuse/core'))['injectLocal']>
-    readonly isDefined: UnwrapRef<(typeof import('@vueuse/core'))['isDefined']>
-    readonly isProxy: UnwrapRef<(typeof import('vue'))['isProxy']>
-    readonly isReactive: UnwrapRef<(typeof import('vue'))['isReactive']>
-    readonly isReadonly: UnwrapRef<(typeof import('vue'))['isReadonly']>
-    readonly isRef: UnwrapRef<(typeof import('vue'))['isRef']>
-    readonly makeDestructurable: UnwrapRef<(typeof import('@vueuse/core'))['makeDestructurable']>
-    readonly mapActions: UnwrapRef<(typeof import('pinia'))['mapActions']>
-    readonly mapGetters: UnwrapRef<(typeof import('pinia'))['mapGetters']>
-    readonly mapState: UnwrapRef<(typeof import('pinia'))['mapState']>
-    readonly mapStores: UnwrapRef<(typeof import('pinia'))['mapStores']>
-    readonly mapWritableState: UnwrapRef<(typeof import('pinia'))['mapWritableState']>
-    readonly markRaw: UnwrapRef<(typeof import('vue'))['markRaw']>
-    readonly nextTick: UnwrapRef<(typeof import('vue'))['nextTick']>
-    readonly onActivated: UnwrapRef<(typeof import('vue'))['onActivated']>
-    readonly onBeforeMount: UnwrapRef<(typeof import('vue'))['onBeforeMount']>
-    readonly onBeforeRouteLeave: UnwrapRef<(typeof import('vue-router'))['onBeforeRouteLeave']>
-    readonly onBeforeRouteUpdate: UnwrapRef<(typeof import('vue-router'))['onBeforeRouteUpdate']>
-    readonly onBeforeUnmount: UnwrapRef<(typeof import('vue'))['onBeforeUnmount']>
-    readonly onBeforeUpdate: UnwrapRef<(typeof import('vue'))['onBeforeUpdate']>
-    readonly onClickOutside: UnwrapRef<(typeof import('@vueuse/core'))['onClickOutside']>
-    readonly onDeactivated: UnwrapRef<(typeof import('vue'))['onDeactivated']>
-    readonly onElementRemoval: UnwrapRef<(typeof import('@vueuse/core'))['onElementRemoval']>
-    readonly onErrorCaptured: UnwrapRef<(typeof import('vue'))['onErrorCaptured']>
-    readonly onKeyStroke: UnwrapRef<(typeof import('@vueuse/core'))['onKeyStroke']>
-    readonly onLongPress: UnwrapRef<(typeof import('@vueuse/core'))['onLongPress']>
-    readonly onMounted: UnwrapRef<(typeof import('vue'))['onMounted']>
-    readonly onRenderTracked: UnwrapRef<(typeof import('vue'))['onRenderTracked']>
-    readonly onRenderTriggered: UnwrapRef<(typeof import('vue'))['onRenderTriggered']>
-    readonly onScopeDispose: UnwrapRef<(typeof import('vue'))['onScopeDispose']>
-    readonly onServerPrefetch: UnwrapRef<(typeof import('vue'))['onServerPrefetch']>
-    readonly onStartTyping: UnwrapRef<(typeof import('@vueuse/core'))['onStartTyping']>
-    readonly onUnmounted: UnwrapRef<(typeof import('vue'))['onUnmounted']>
-    readonly onUpdated: UnwrapRef<(typeof import('vue'))['onUpdated']>
-    readonly onWatcherCleanup: UnwrapRef<(typeof import('vue'))['onWatcherCleanup']>
-    readonly pausableWatch: UnwrapRef<(typeof import('@vueuse/core'))['pausableWatch']>
-    readonly provide: UnwrapRef<(typeof import('vue'))['provide']>
-    readonly provideLocal: UnwrapRef<(typeof import('@vueuse/core'))['provideLocal']>
-    readonly reactify: UnwrapRef<(typeof import('@vueuse/core'))['reactify']>
-    readonly reactifyObject: UnwrapRef<(typeof import('@vueuse/core'))['reactifyObject']>
-    readonly reactive: UnwrapRef<(typeof import('vue'))['reactive']>
-    readonly reactiveComputed: UnwrapRef<(typeof import('@vueuse/core'))['reactiveComputed']>
-    readonly reactiveOmit: UnwrapRef<(typeof import('@vueuse/core'))['reactiveOmit']>
-    readonly reactivePick: UnwrapRef<(typeof import('@vueuse/core'))['reactivePick']>
-    readonly readonly: UnwrapRef<(typeof import('vue'))['readonly']>
-    readonly ref: UnwrapRef<(typeof import('vue'))['ref']>
-    readonly refAutoReset: UnwrapRef<(typeof import('@vueuse/core'))['refAutoReset']>
-    readonly refDebounced: UnwrapRef<(typeof import('@vueuse/core'))['refDebounced']>
-    readonly refDefault: UnwrapRef<(typeof import('@vueuse/core'))['refDefault']>
-    readonly refThrottled: UnwrapRef<(typeof import('@vueuse/core'))['refThrottled']>
-    readonly refWithControl: UnwrapRef<(typeof import('@vueuse/core'))['refWithControl']>
-    readonly resolveComponent: UnwrapRef<(typeof import('vue'))['resolveComponent']>
-    readonly resolveRef: UnwrapRef<(typeof import('@vueuse/core'))['resolveRef']>
-    readonly resolveUnref: UnwrapRef<(typeof import('@vueuse/core'))['resolveUnref']>
-    readonly setActivePinia: UnwrapRef<(typeof import('pinia'))['setActivePinia']>
-    readonly setMapStoreSuffix: UnwrapRef<(typeof import('pinia'))['setMapStoreSuffix']>
-    readonly shallowReactive: UnwrapRef<(typeof import('vue'))['shallowReactive']>
-    readonly shallowReadonly: UnwrapRef<(typeof import('vue'))['shallowReadonly']>
-    readonly shallowRef: UnwrapRef<(typeof import('vue'))['shallowRef']>
-    readonly storeToRefs: UnwrapRef<(typeof import('pinia'))['storeToRefs']>
-    readonly syncRef: UnwrapRef<(typeof import('@vueuse/core'))['syncRef']>
-    readonly syncRefs: UnwrapRef<(typeof import('@vueuse/core'))['syncRefs']>
-    readonly templateRef: UnwrapRef<(typeof import('@vueuse/core'))['templateRef']>
-    readonly throttledRef: UnwrapRef<(typeof import('@vueuse/core'))['throttledRef']>
-    readonly throttledWatch: UnwrapRef<(typeof import('@vueuse/core'))['throttledWatch']>
-    readonly toRaw: UnwrapRef<(typeof import('vue'))['toRaw']>
-    readonly toReactive: UnwrapRef<(typeof import('@vueuse/core'))['toReactive']>
-    readonly toRef: UnwrapRef<(typeof import('vue'))['toRef']>
-    readonly toRefs: UnwrapRef<(typeof import('vue'))['toRefs']>
-    readonly toValue: UnwrapRef<(typeof import('vue'))['toValue']>
-    readonly triggerRef: UnwrapRef<(typeof import('vue'))['triggerRef']>
-    readonly tryOnBeforeMount: UnwrapRef<(typeof import('@vueuse/core'))['tryOnBeforeMount']>
-    readonly tryOnBeforeUnmount: UnwrapRef<(typeof import('@vueuse/core'))['tryOnBeforeUnmount']>
-    readonly tryOnMounted: UnwrapRef<(typeof import('@vueuse/core'))['tryOnMounted']>
-    readonly tryOnScopeDispose: UnwrapRef<(typeof import('@vueuse/core'))['tryOnScopeDispose']>
-    readonly tryOnUnmounted: UnwrapRef<(typeof import('@vueuse/core'))['tryOnUnmounted']>
-    readonly unref: UnwrapRef<(typeof import('vue'))['unref']>
-    readonly unrefElement: UnwrapRef<(typeof import('@vueuse/core'))['unrefElement']>
-    readonly until: UnwrapRef<(typeof import('@vueuse/core'))['until']>
-    readonly useActiveElement: UnwrapRef<(typeof import('@vueuse/core'))['useActiveElement']>
-    readonly useAnimate: UnwrapRef<(typeof import('@vueuse/core'))['useAnimate']>
-    readonly useArrayDifference: UnwrapRef<(typeof import('@vueuse/core'))['useArrayDifference']>
-    readonly useArrayEvery: UnwrapRef<(typeof import('@vueuse/core'))['useArrayEvery']>
-    readonly useArrayFilter: UnwrapRef<(typeof import('@vueuse/core'))['useArrayFilter']>
-    readonly useArrayFind: UnwrapRef<(typeof import('@vueuse/core'))['useArrayFind']>
-    readonly useArrayFindIndex: UnwrapRef<(typeof import('@vueuse/core'))['useArrayFindIndex']>
-    readonly useArrayFindLast: UnwrapRef<(typeof import('@vueuse/core'))['useArrayFindLast']>
-    readonly useArrayIncludes: UnwrapRef<(typeof import('@vueuse/core'))['useArrayIncludes']>
-    readonly useArrayJoin: UnwrapRef<(typeof import('@vueuse/core'))['useArrayJoin']>
-    readonly useArrayMap: UnwrapRef<(typeof import('@vueuse/core'))['useArrayMap']>
-    readonly useArrayReduce: UnwrapRef<(typeof import('@vueuse/core'))['useArrayReduce']>
-    readonly useArraySome: UnwrapRef<(typeof import('@vueuse/core'))['useArraySome']>
-    readonly useArrayUnique: UnwrapRef<(typeof import('@vueuse/core'))['useArrayUnique']>
-    readonly useAsyncQueue: UnwrapRef<(typeof import('@vueuse/core'))['useAsyncQueue']>
-    readonly useAsyncState: UnwrapRef<(typeof import('@vueuse/core'))['useAsyncState']>
-    readonly useAttrs: UnwrapRef<(typeof import('vue'))['useAttrs']>
-    readonly useBase64: UnwrapRef<(typeof import('@vueuse/core'))['useBase64']>
-    readonly useBattery: UnwrapRef<(typeof import('@vueuse/core'))['useBattery']>
-    readonly useBluetooth: UnwrapRef<(typeof import('@vueuse/core'))['useBluetooth']>
-    readonly useBreakpoints: UnwrapRef<(typeof import('@vueuse/core'))['useBreakpoints']>
-    readonly useBroadcastChannel: UnwrapRef<(typeof import('@vueuse/core'))['useBroadcastChannel']>
-    readonly useBrowserLocation: UnwrapRef<(typeof import('@vueuse/core'))['useBrowserLocation']>
-    readonly useCached: UnwrapRef<(typeof import('@vueuse/core'))['useCached']>
-    readonly useClipboard: UnwrapRef<(typeof import('@vueuse/core'))['useClipboard']>
-    readonly useClipboardItems: UnwrapRef<(typeof import('@vueuse/core'))['useClipboardItems']>
-    readonly useCloned: UnwrapRef<(typeof import('@vueuse/core'))['useCloned']>
-    readonly useColorMode: UnwrapRef<(typeof import('@vueuse/core'))['useColorMode']>
-    readonly useConfirmDialog: UnwrapRef<(typeof import('@vueuse/core'))['useConfirmDialog']>
-    readonly useCountdown: UnwrapRef<(typeof import('@vueuse/core'))['useCountdown']>
-    readonly useCounter: UnwrapRef<(typeof import('@vueuse/core'))['useCounter']>
-    readonly useCssModule: UnwrapRef<(typeof import('vue'))['useCssModule']>
-    readonly useCssVar: UnwrapRef<(typeof import('@vueuse/core'))['useCssVar']>
-    readonly useCssVars: UnwrapRef<(typeof import('vue'))['useCssVars']>
-    readonly useCurrentElement: UnwrapRef<(typeof import('@vueuse/core'))['useCurrentElement']>
-    readonly useCycleList: UnwrapRef<(typeof import('@vueuse/core'))['useCycleList']>
-    readonly useDark: UnwrapRef<(typeof import('@vueuse/core'))['useDark']>
-    readonly useDateFormat: UnwrapRef<(typeof import('@vueuse/core'))['useDateFormat']>
-    readonly useDebounce: UnwrapRef<(typeof import('@vueuse/core'))['useDebounce']>
-    readonly useDebounceFn: UnwrapRef<(typeof import('@vueuse/core'))['useDebounceFn']>
-    readonly useDebouncedRefHistory: UnwrapRef<(typeof import('@vueuse/core'))['useDebouncedRefHistory']>
-    readonly useDeviceMotion: UnwrapRef<(typeof import('@vueuse/core'))['useDeviceMotion']>
-    readonly useDeviceOrientation: UnwrapRef<(typeof import('@vueuse/core'))['useDeviceOrientation']>
-    readonly useDevicePixelRatio: UnwrapRef<(typeof import('@vueuse/core'))['useDevicePixelRatio']>
-    readonly useDevicesList: UnwrapRef<(typeof import('@vueuse/core'))['useDevicesList']>
-    readonly useDisplayMedia: UnwrapRef<(typeof import('@vueuse/core'))['useDisplayMedia']>
-    readonly useDocumentVisibility: UnwrapRef<(typeof import('@vueuse/core'))['useDocumentVisibility']>
-    readonly useDraggable: UnwrapRef<(typeof import('@vueuse/core'))['useDraggable']>
-    readonly useDropZone: UnwrapRef<(typeof import('@vueuse/core'))['useDropZone']>
-    readonly useElementBounding: UnwrapRef<(typeof import('@vueuse/core'))['useElementBounding']>
-    readonly useElementByPoint: UnwrapRef<(typeof import('@vueuse/core'))['useElementByPoint']>
-    readonly useElementHover: UnwrapRef<(typeof import('@vueuse/core'))['useElementHover']>
-    readonly useElementSize: UnwrapRef<(typeof import('@vueuse/core'))['useElementSize']>
-    readonly useElementVisibility: UnwrapRef<(typeof import('@vueuse/core'))['useElementVisibility']>
-    readonly useEventBus: UnwrapRef<(typeof import('@vueuse/core'))['useEventBus']>
-    readonly useEventListener: UnwrapRef<(typeof import('@vueuse/core'))['useEventListener']>
-    readonly useEventSource: UnwrapRef<(typeof import('@vueuse/core'))['useEventSource']>
-    readonly useEyeDropper: UnwrapRef<(typeof import('@vueuse/core'))['useEyeDropper']>
-    readonly useFavicon: UnwrapRef<(typeof import('@vueuse/core'))['useFavicon']>
-    readonly useFetch: UnwrapRef<(typeof import('@vueuse/core'))['useFetch']>
-    readonly useFileDialog: UnwrapRef<(typeof import('@vueuse/core'))['useFileDialog']>
-    readonly useFileSystemAccess: UnwrapRef<(typeof import('@vueuse/core'))['useFileSystemAccess']>
-    readonly useFocus: UnwrapRef<(typeof import('@vueuse/core'))['useFocus']>
-    readonly useFocusWithin: UnwrapRef<(typeof import('@vueuse/core'))['useFocusWithin']>
-    readonly useFps: UnwrapRef<(typeof import('@vueuse/core'))['useFps']>
-    readonly useFullscreen: UnwrapRef<(typeof import('@vueuse/core'))['useFullscreen']>
-    readonly useGamepad: UnwrapRef<(typeof import('@vueuse/core'))['useGamepad']>
-    readonly useGeolocation: UnwrapRef<(typeof import('@vueuse/core'))['useGeolocation']>
-    readonly useId: UnwrapRef<(typeof import('vue'))['useId']>
-    readonly useIdle: UnwrapRef<(typeof import('@vueuse/core'))['useIdle']>
-    readonly useImage: UnwrapRef<(typeof import('@vueuse/core'))['useImage']>
-    readonly useInfiniteScroll: UnwrapRef<(typeof import('@vueuse/core'))['useInfiniteScroll']>
-    readonly useIntersectionObserver: UnwrapRef<(typeof import('@vueuse/core'))['useIntersectionObserver']>
-    readonly useInterval: UnwrapRef<(typeof import('@vueuse/core'))['useInterval']>
-    readonly useIntervalFn: UnwrapRef<(typeof import('@vueuse/core'))['useIntervalFn']>
-    readonly useKeyModifier: UnwrapRef<(typeof import('@vueuse/core'))['useKeyModifier']>
-    readonly useLastChanged: UnwrapRef<(typeof import('@vueuse/core'))['useLastChanged']>
-    readonly useLink: UnwrapRef<(typeof import('vue-router'))['useLink']>
-    readonly useLocalStorage: UnwrapRef<(typeof import('@vueuse/core'))['useLocalStorage']>
-    readonly useMagicKeys: UnwrapRef<(typeof import('@vueuse/core'))['useMagicKeys']>
-    readonly useManualRefHistory: UnwrapRef<(typeof import('@vueuse/core'))['useManualRefHistory']>
-    readonly useMediaControls: UnwrapRef<(typeof import('@vueuse/core'))['useMediaControls']>
-    readonly useMediaQuery: UnwrapRef<(typeof import('@vueuse/core'))['useMediaQuery']>
-    readonly useMemoize: UnwrapRef<(typeof import('@vueuse/core'))['useMemoize']>
-    readonly useMemory: UnwrapRef<(typeof import('@vueuse/core'))['useMemory']>
-    readonly useModel: UnwrapRef<(typeof import('vue'))['useModel']>
-    readonly useMounted: UnwrapRef<(typeof import('@vueuse/core'))['useMounted']>
-    readonly useMouse: UnwrapRef<(typeof import('@vueuse/core'))['useMouse']>
-    readonly useMouseInElement: UnwrapRef<(typeof import('@vueuse/core'))['useMouseInElement']>
-    readonly useMousePressed: UnwrapRef<(typeof import('@vueuse/core'))['useMousePressed']>
-    readonly useMutationObserver: UnwrapRef<(typeof import('@vueuse/core'))['useMutationObserver']>
-    readonly useNavigatorLanguage: UnwrapRef<(typeof import('@vueuse/core'))['useNavigatorLanguage']>
-    readonly useNetwork: UnwrapRef<(typeof import('@vueuse/core'))['useNetwork']>
-    readonly useNow: UnwrapRef<(typeof import('@vueuse/core'))['useNow']>
-    readonly useObjectUrl: UnwrapRef<(typeof import('@vueuse/core'))['useObjectUrl']>
-    readonly useOffsetPagination: UnwrapRef<(typeof import('@vueuse/core'))['useOffsetPagination']>
-    readonly useOnline: UnwrapRef<(typeof import('@vueuse/core'))['useOnline']>
-    readonly usePageLeave: UnwrapRef<(typeof import('@vueuse/core'))['usePageLeave']>
-    readonly useParallax: UnwrapRef<(typeof import('@vueuse/core'))['useParallax']>
-    readonly useParentElement: UnwrapRef<(typeof import('@vueuse/core'))['useParentElement']>
-    readonly usePerformanceObserver: UnwrapRef<(typeof import('@vueuse/core'))['usePerformanceObserver']>
-    readonly usePermission: UnwrapRef<(typeof import('@vueuse/core'))['usePermission']>
-    readonly usePointer: UnwrapRef<(typeof import('@vueuse/core'))['usePointer']>
-    readonly usePointerLock: UnwrapRef<(typeof import('@vueuse/core'))['usePointerLock']>
-    readonly usePointerSwipe: UnwrapRef<(typeof import('@vueuse/core'))['usePointerSwipe']>
-    readonly usePreferredColorScheme: UnwrapRef<(typeof import('@vueuse/core'))['usePreferredColorScheme']>
-    readonly usePreferredContrast: UnwrapRef<(typeof import('@vueuse/core'))['usePreferredContrast']>
-    readonly usePreferredDark: UnwrapRef<(typeof import('@vueuse/core'))['usePreferredDark']>
-    readonly usePreferredLanguages: UnwrapRef<(typeof import('@vueuse/core'))['usePreferredLanguages']>
-    readonly usePreferredReducedMotion: UnwrapRef<(typeof import('@vueuse/core'))['usePreferredReducedMotion']>
-    readonly usePreferredReducedTransparency: UnwrapRef<(typeof import('@vueuse/core'))['usePreferredReducedTransparency']>
-    readonly usePrevious: UnwrapRef<(typeof import('@vueuse/core'))['usePrevious']>
-    readonly useRafFn: UnwrapRef<(typeof import('@vueuse/core'))['useRafFn']>
-    readonly useRefHistory: UnwrapRef<(typeof import('@vueuse/core'))['useRefHistory']>
-    readonly useResizeObserver: UnwrapRef<(typeof import('@vueuse/core'))['useResizeObserver']>
-    readonly useRoute: UnwrapRef<(typeof import('vue-router'))['useRoute']>
-    readonly useRouter: UnwrapRef<(typeof import('vue-router'))['useRouter']>
-    readonly useSSRWidth: UnwrapRef<(typeof import('@vueuse/core'))['useSSRWidth']>
-    readonly useScreenOrientation: UnwrapRef<(typeof import('@vueuse/core'))['useScreenOrientation']>
-    readonly useScreenSafeArea: UnwrapRef<(typeof import('@vueuse/core'))['useScreenSafeArea']>
-    readonly useScriptTag: UnwrapRef<(typeof import('@vueuse/core'))['useScriptTag']>
-    readonly useScroll: UnwrapRef<(typeof import('@vueuse/core'))['useScroll']>
-    readonly useScrollLock: UnwrapRef<(typeof import('@vueuse/core'))['useScrollLock']>
-    readonly useSessionStorage: UnwrapRef<(typeof import('@vueuse/core'))['useSessionStorage']>
-    readonly useShare: UnwrapRef<(typeof import('@vueuse/core'))['useShare']>
-    readonly useSlots: UnwrapRef<(typeof import('vue'))['useSlots']>
-    readonly useSorted: UnwrapRef<(typeof import('@vueuse/core'))['useSorted']>
-    readonly useSpeechRecognition: UnwrapRef<(typeof import('@vueuse/core'))['useSpeechRecognition']>
-    readonly useSpeechSynthesis: UnwrapRef<(typeof import('@vueuse/core'))['useSpeechSynthesis']>
-    readonly useStepper: UnwrapRef<(typeof import('@vueuse/core'))['useStepper']>
-    readonly useStorage: UnwrapRef<(typeof import('@vueuse/core'))['useStorage']>
-    readonly useStorageAsync: UnwrapRef<(typeof import('@vueuse/core'))['useStorageAsync']>
-    readonly useStyleTag: UnwrapRef<(typeof import('@vueuse/core'))['useStyleTag']>
-    readonly useSupported: UnwrapRef<(typeof import('@vueuse/core'))['useSupported']>
-    readonly useSwipe: UnwrapRef<(typeof import('@vueuse/core'))['useSwipe']>
-    readonly useTemplateRef: UnwrapRef<(typeof import('vue'))['useTemplateRef']>
-    readonly useTemplateRefsList: UnwrapRef<(typeof import('@vueuse/core'))['useTemplateRefsList']>
-    readonly useTextDirection: UnwrapRef<(typeof import('@vueuse/core'))['useTextDirection']>
-    readonly useTextSelection: UnwrapRef<(typeof import('@vueuse/core'))['useTextSelection']>
-    readonly useTextareaAutosize: UnwrapRef<(typeof import('@vueuse/core'))['useTextareaAutosize']>
-    readonly useThrottle: UnwrapRef<(typeof import('@vueuse/core'))['useThrottle']>
-    readonly useThrottleFn: UnwrapRef<(typeof import('@vueuse/core'))['useThrottleFn']>
-    readonly useThrottledRefHistory: UnwrapRef<(typeof import('@vueuse/core'))['useThrottledRefHistory']>
-    readonly useTimeAgo: UnwrapRef<(typeof import('@vueuse/core'))['useTimeAgo']>
-    readonly useTimeout: UnwrapRef<(typeof import('@vueuse/core'))['useTimeout']>
-    readonly useTimeoutFn: UnwrapRef<(typeof import('@vueuse/core'))['useTimeoutFn']>
-    readonly useTimeoutPoll: UnwrapRef<(typeof import('@vueuse/core'))['useTimeoutPoll']>
-    readonly useTimestamp: UnwrapRef<(typeof import('@vueuse/core'))['useTimestamp']>
-    readonly useTitle: UnwrapRef<(typeof import('@vueuse/core'))['useTitle']>
-    readonly useToNumber: UnwrapRef<(typeof import('@vueuse/core'))['useToNumber']>
-    readonly useToString: UnwrapRef<(typeof import('@vueuse/core'))['useToString']>
-    readonly useToggle: UnwrapRef<(typeof import('@vueuse/core'))['useToggle']>
-    readonly useTransition: UnwrapRef<(typeof import('@vueuse/core'))['useTransition']>
-    readonly useUrlSearchParams: UnwrapRef<(typeof import('@vueuse/core'))['useUrlSearchParams']>
-    readonly useUserMedia: UnwrapRef<(typeof import('@vueuse/core'))['useUserMedia']>
-    readonly useVModel: UnwrapRef<(typeof import('@vueuse/core'))['useVModel']>
-    readonly useVModels: UnwrapRef<(typeof import('@vueuse/core'))['useVModels']>
-    readonly useVibrate: UnwrapRef<(typeof import('@vueuse/core'))['useVibrate']>
-    readonly useVirtualList: UnwrapRef<(typeof import('@vueuse/core'))['useVirtualList']>
-    readonly useWakeLock: UnwrapRef<(typeof import('@vueuse/core'))['useWakeLock']>
-    readonly useWebNotification: UnwrapRef<(typeof import('@vueuse/core'))['useWebNotification']>
-    readonly useWebSocket: UnwrapRef<(typeof import('@vueuse/core'))['useWebSocket']>
-    readonly useWebWorker: UnwrapRef<(typeof import('@vueuse/core'))['useWebWorker']>
-    readonly useWebWorkerFn: UnwrapRef<(typeof import('@vueuse/core'))['useWebWorkerFn']>
-    readonly useWindowFocus: UnwrapRef<(typeof import('@vueuse/core'))['useWindowFocus']>
-    readonly useWindowScroll: UnwrapRef<(typeof import('@vueuse/core'))['useWindowScroll']>
-    readonly useWindowSize: UnwrapRef<(typeof import('@vueuse/core'))['useWindowSize']>
-    readonly watch: UnwrapRef<(typeof import('vue'))['watch']>
-    readonly watchArray: UnwrapRef<(typeof import('@vueuse/core'))['watchArray']>
-    readonly watchAtMost: UnwrapRef<(typeof import('@vueuse/core'))['watchAtMost']>
-    readonly watchDebounced: UnwrapRef<(typeof import('@vueuse/core'))['watchDebounced']>
-    readonly watchDeep: UnwrapRef<(typeof import('@vueuse/core'))['watchDeep']>
-    readonly watchEffect: UnwrapRef<(typeof import('vue'))['watchEffect']>
-    readonly watchIgnorable: UnwrapRef<(typeof import('@vueuse/core'))['watchIgnorable']>
-    readonly watchImmediate: UnwrapRef<(typeof import('@vueuse/core'))['watchImmediate']>
-    readonly watchOnce: UnwrapRef<(typeof import('@vueuse/core'))['watchOnce']>
-    readonly watchPausable: UnwrapRef<(typeof import('@vueuse/core'))['watchPausable']>
-    readonly watchPostEffect: UnwrapRef<(typeof import('vue'))['watchPostEffect']>
-    readonly watchSyncEffect: UnwrapRef<(typeof import('vue'))['watchSyncEffect']>
-    readonly watchThrottled: UnwrapRef<(typeof import('@vueuse/core'))['watchThrottled']>
-    readonly watchTriggerable: UnwrapRef<(typeof import('@vueuse/core'))['watchTriggerable']>
-    readonly watchWithFilter: UnwrapRef<(typeof import('@vueuse/core'))['watchWithFilter']>
-    readonly whenever: UnwrapRef<(typeof import('@vueuse/core'))['whenever']>
+    readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']>
+    readonly ElMessage: UnwrapRef<typeof import('element-plus/es')['ElMessage']>
+    readonly acceptHMRUpdate: UnwrapRef<typeof import('pinia')['acceptHMRUpdate']>
+    readonly asyncComputed: UnwrapRef<typeof import('@vueuse/core')['asyncComputed']>
+    readonly autoResetRef: UnwrapRef<typeof import('@vueuse/core')['autoResetRef']>
+    readonly computed: UnwrapRef<typeof import('vue')['computed']>
+    readonly computedAsync: UnwrapRef<typeof import('@vueuse/core')['computedAsync']>
+    readonly computedEager: UnwrapRef<typeof import('@vueuse/core')['computedEager']>
+    readonly computedInject: UnwrapRef<typeof import('@vueuse/core')['computedInject']>
+    readonly computedWithControl: UnwrapRef<typeof import('@vueuse/core')['computedWithControl']>
+    readonly controlledComputed: UnwrapRef<typeof import('@vueuse/core')['controlledComputed']>
+    readonly controlledRef: UnwrapRef<typeof import('@vueuse/core')['controlledRef']>
+    readonly createApp: UnwrapRef<typeof import('vue')['createApp']>
+    readonly createEventHook: UnwrapRef<typeof import('@vueuse/core')['createEventHook']>
+    readonly createGlobalState: UnwrapRef<typeof import('@vueuse/core')['createGlobalState']>
+    readonly createInjectionState: UnwrapRef<typeof import('@vueuse/core')['createInjectionState']>
+    readonly createPinia: UnwrapRef<typeof import('pinia')['createPinia']>
+    readonly createReactiveFn: UnwrapRef<typeof import('@vueuse/core')['createReactiveFn']>
+    readonly createRef: UnwrapRef<typeof import('@vueuse/core')['createRef']>
+    readonly createReusableTemplate: UnwrapRef<typeof import('@vueuse/core')['createReusableTemplate']>
+    readonly createSharedComposable: UnwrapRef<typeof import('@vueuse/core')['createSharedComposable']>
+    readonly createTemplatePromise: UnwrapRef<typeof import('@vueuse/core')['createTemplatePromise']>
+    readonly createUnrefFn: UnwrapRef<typeof import('@vueuse/core')['createUnrefFn']>
+    readonly customRef: UnwrapRef<typeof import('vue')['customRef']>
+    readonly debouncedRef: UnwrapRef<typeof import('@vueuse/core')['debouncedRef']>
+    readonly debouncedWatch: UnwrapRef<typeof import('@vueuse/core')['debouncedWatch']>
+    readonly defineAsyncComponent: UnwrapRef<typeof import('vue')['defineAsyncComponent']>
+    readonly defineComponent: UnwrapRef<typeof import('vue')['defineComponent']>
+    readonly defineStore: UnwrapRef<typeof import('pinia')['defineStore']>
+    readonly eagerComputed: UnwrapRef<typeof import('@vueuse/core')['eagerComputed']>
+    readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']>
+    readonly extendRef: UnwrapRef<typeof import('@vueuse/core')['extendRef']>
+    readonly getActivePinia: UnwrapRef<typeof import('pinia')['getActivePinia']>
+    readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
+    readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
+    readonly h: UnwrapRef<typeof import('vue')['h']>
+    readonly ignorableWatch: UnwrapRef<typeof import('@vueuse/core')['ignorableWatch']>
+    readonly inject: UnwrapRef<typeof import('vue')['inject']>
+    readonly injectLocal: UnwrapRef<typeof import('@vueuse/core')['injectLocal']>
+    readonly isDefined: UnwrapRef<typeof import('@vueuse/core')['isDefined']>
+    readonly isProxy: UnwrapRef<typeof import('vue')['isProxy']>
+    readonly isReactive: UnwrapRef<typeof import('vue')['isReactive']>
+    readonly isReadonly: UnwrapRef<typeof import('vue')['isReadonly']>
+    readonly isRef: UnwrapRef<typeof import('vue')['isRef']>
+    readonly makeDestructurable: UnwrapRef<typeof import('@vueuse/core')['makeDestructurable']>
+    readonly mapActions: UnwrapRef<typeof import('pinia')['mapActions']>
+    readonly mapGetters: UnwrapRef<typeof import('pinia')['mapGetters']>
+    readonly mapState: UnwrapRef<typeof import('pinia')['mapState']>
+    readonly mapStores: UnwrapRef<typeof import('pinia')['mapStores']>
+    readonly mapWritableState: UnwrapRef<typeof import('pinia')['mapWritableState']>
+    readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']>
+    readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']>
+    readonly onActivated: UnwrapRef<typeof import('vue')['onActivated']>
+    readonly onBeforeMount: UnwrapRef<typeof import('vue')['onBeforeMount']>
+    readonly onBeforeRouteLeave: UnwrapRef<typeof import('vue-router')['onBeforeRouteLeave']>
+    readonly onBeforeRouteUpdate: UnwrapRef<typeof import('vue-router')['onBeforeRouteUpdate']>
+    readonly onBeforeUnmount: UnwrapRef<typeof import('vue')['onBeforeUnmount']>
+    readonly onBeforeUpdate: UnwrapRef<typeof import('vue')['onBeforeUpdate']>
+    readonly onClickOutside: UnwrapRef<typeof import('@vueuse/core')['onClickOutside']>
+    readonly onDeactivated: UnwrapRef<typeof import('vue')['onDeactivated']>
+    readonly onElementRemoval: UnwrapRef<typeof import('@vueuse/core')['onElementRemoval']>
+    readonly onErrorCaptured: UnwrapRef<typeof import('vue')['onErrorCaptured']>
+    readonly onKeyStroke: UnwrapRef<typeof import('@vueuse/core')['onKeyStroke']>
+    readonly onLongPress: UnwrapRef<typeof import('@vueuse/core')['onLongPress']>
+    readonly onMounted: UnwrapRef<typeof import('vue')['onMounted']>
+    readonly onRenderTracked: UnwrapRef<typeof import('vue')['onRenderTracked']>
+    readonly onRenderTriggered: UnwrapRef<typeof import('vue')['onRenderTriggered']>
+    readonly onScopeDispose: UnwrapRef<typeof import('vue')['onScopeDispose']>
+    readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
+    readonly onStartTyping: UnwrapRef<typeof import('@vueuse/core')['onStartTyping']>
+    readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
+    readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
+    readonly onWatcherCleanup: UnwrapRef<typeof import('vue')['onWatcherCleanup']>
+    readonly pausableWatch: UnwrapRef<typeof import('@vueuse/core')['pausableWatch']>
+    readonly provide: UnwrapRef<typeof import('vue')['provide']>
+    readonly provideLocal: UnwrapRef<typeof import('@vueuse/core')['provideLocal']>
+    readonly reactify: UnwrapRef<typeof import('@vueuse/core')['reactify']>
+    readonly reactifyObject: UnwrapRef<typeof import('@vueuse/core')['reactifyObject']>
+    readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
+    readonly reactiveComputed: UnwrapRef<typeof import('@vueuse/core')['reactiveComputed']>
+    readonly reactiveOmit: UnwrapRef<typeof import('@vueuse/core')['reactiveOmit']>
+    readonly reactivePick: UnwrapRef<typeof import('@vueuse/core')['reactivePick']>
+    readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
+    readonly ref: UnwrapRef<typeof import('vue')['ref']>
+    readonly refAutoReset: UnwrapRef<typeof import('@vueuse/core')['refAutoReset']>
+    readonly refDebounced: UnwrapRef<typeof import('@vueuse/core')['refDebounced']>
+    readonly refDefault: UnwrapRef<typeof import('@vueuse/core')['refDefault']>
+    readonly refThrottled: UnwrapRef<typeof import('@vueuse/core')['refThrottled']>
+    readonly refWithControl: UnwrapRef<typeof import('@vueuse/core')['refWithControl']>
+    readonly resolveComponent: UnwrapRef<typeof import('vue')['resolveComponent']>
+    readonly resolveRef: UnwrapRef<typeof import('@vueuse/core')['resolveRef']>
+    readonly resolveUnref: UnwrapRef<typeof import('@vueuse/core')['resolveUnref']>
+    readonly setActivePinia: UnwrapRef<typeof import('pinia')['setActivePinia']>
+    readonly setMapStoreSuffix: UnwrapRef<typeof import('pinia')['setMapStoreSuffix']>
+    readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']>
+    readonly shallowReadonly: UnwrapRef<typeof import('vue')['shallowReadonly']>
+    readonly shallowRef: UnwrapRef<typeof import('vue')['shallowRef']>
+    readonly storeToRefs: UnwrapRef<typeof import('pinia')['storeToRefs']>
+    readonly syncRef: UnwrapRef<typeof import('@vueuse/core')['syncRef']>
+    readonly syncRefs: UnwrapRef<typeof import('@vueuse/core')['syncRefs']>
+    readonly templateRef: UnwrapRef<typeof import('@vueuse/core')['templateRef']>
+    readonly throttledRef: UnwrapRef<typeof import('@vueuse/core')['throttledRef']>
+    readonly throttledWatch: UnwrapRef<typeof import('@vueuse/core')['throttledWatch']>
+    readonly toRaw: UnwrapRef<typeof import('vue')['toRaw']>
+    readonly toReactive: UnwrapRef<typeof import('@vueuse/core')['toReactive']>
+    readonly toRef: UnwrapRef<typeof import('vue')['toRef']>
+    readonly toRefs: UnwrapRef<typeof import('vue')['toRefs']>
+    readonly toValue: UnwrapRef<typeof import('vue')['toValue']>
+    readonly triggerRef: UnwrapRef<typeof import('vue')['triggerRef']>
+    readonly tryOnBeforeMount: UnwrapRef<typeof import('@vueuse/core')['tryOnBeforeMount']>
+    readonly tryOnBeforeUnmount: UnwrapRef<typeof import('@vueuse/core')['tryOnBeforeUnmount']>
+    readonly tryOnMounted: UnwrapRef<typeof import('@vueuse/core')['tryOnMounted']>
+    readonly tryOnScopeDispose: UnwrapRef<typeof import('@vueuse/core')['tryOnScopeDispose']>
+    readonly tryOnUnmounted: UnwrapRef<typeof import('@vueuse/core')['tryOnUnmounted']>
+    readonly unref: UnwrapRef<typeof import('vue')['unref']>
+    readonly unrefElement: UnwrapRef<typeof import('@vueuse/core')['unrefElement']>
+    readonly until: UnwrapRef<typeof import('@vueuse/core')['until']>
+    readonly useActiveElement: UnwrapRef<typeof import('@vueuse/core')['useActiveElement']>
+    readonly useAnimate: UnwrapRef<typeof import('@vueuse/core')['useAnimate']>
+    readonly useArrayDifference: UnwrapRef<typeof import('@vueuse/core')['useArrayDifference']>
+    readonly useArrayEvery: UnwrapRef<typeof import('@vueuse/core')['useArrayEvery']>
+    readonly useArrayFilter: UnwrapRef<typeof import('@vueuse/core')['useArrayFilter']>
+    readonly useArrayFind: UnwrapRef<typeof import('@vueuse/core')['useArrayFind']>
+    readonly useArrayFindIndex: UnwrapRef<typeof import('@vueuse/core')['useArrayFindIndex']>
+    readonly useArrayFindLast: UnwrapRef<typeof import('@vueuse/core')['useArrayFindLast']>
+    readonly useArrayIncludes: UnwrapRef<typeof import('@vueuse/core')['useArrayIncludes']>
+    readonly useArrayJoin: UnwrapRef<typeof import('@vueuse/core')['useArrayJoin']>
+    readonly useArrayMap: UnwrapRef<typeof import('@vueuse/core')['useArrayMap']>
+    readonly useArrayReduce: UnwrapRef<typeof import('@vueuse/core')['useArrayReduce']>
+    readonly useArraySome: UnwrapRef<typeof import('@vueuse/core')['useArraySome']>
+    readonly useArrayUnique: UnwrapRef<typeof import('@vueuse/core')['useArrayUnique']>
+    readonly useAsyncQueue: UnwrapRef<typeof import('@vueuse/core')['useAsyncQueue']>
+    readonly useAsyncState: UnwrapRef<typeof import('@vueuse/core')['useAsyncState']>
+    readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
+    readonly useBase64: UnwrapRef<typeof import('@vueuse/core')['useBase64']>
+    readonly useBattery: UnwrapRef<typeof import('@vueuse/core')['useBattery']>
+    readonly useBluetooth: UnwrapRef<typeof import('@vueuse/core')['useBluetooth']>
+    readonly useBreakpoints: UnwrapRef<typeof import('@vueuse/core')['useBreakpoints']>
+    readonly useBroadcastChannel: UnwrapRef<typeof import('@vueuse/core')['useBroadcastChannel']>
+    readonly useBrowserLocation: UnwrapRef<typeof import('@vueuse/core')['useBrowserLocation']>
+    readonly useCached: UnwrapRef<typeof import('@vueuse/core')['useCached']>
+    readonly useClipboard: UnwrapRef<typeof import('@vueuse/core')['useClipboard']>
+    readonly useClipboardItems: UnwrapRef<typeof import('@vueuse/core')['useClipboardItems']>
+    readonly useCloned: UnwrapRef<typeof import('@vueuse/core')['useCloned']>
+    readonly useColorMode: UnwrapRef<typeof import('@vueuse/core')['useColorMode']>
+    readonly useConfirmDialog: UnwrapRef<typeof import('@vueuse/core')['useConfirmDialog']>
+    readonly useCountdown: UnwrapRef<typeof import('@vueuse/core')['useCountdown']>
+    readonly useCounter: UnwrapRef<typeof import('@vueuse/core')['useCounter']>
+    readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
+    readonly useCssVar: UnwrapRef<typeof import('@vueuse/core')['useCssVar']>
+    readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
+    readonly useCurrentElement: UnwrapRef<typeof import('@vueuse/core')['useCurrentElement']>
+    readonly useCycleList: UnwrapRef<typeof import('@vueuse/core')['useCycleList']>
+    readonly useDark: UnwrapRef<typeof import('@vueuse/core')['useDark']>
+    readonly useDateFormat: UnwrapRef<typeof import('@vueuse/core')['useDateFormat']>
+    readonly useDebounce: UnwrapRef<typeof import('@vueuse/core')['useDebounce']>
+    readonly useDebounceFn: UnwrapRef<typeof import('@vueuse/core')['useDebounceFn']>
+    readonly useDebouncedRefHistory: UnwrapRef<typeof import('@vueuse/core')['useDebouncedRefHistory']>
+    readonly useDeviceMotion: UnwrapRef<typeof import('@vueuse/core')['useDeviceMotion']>
+    readonly useDeviceOrientation: UnwrapRef<typeof import('@vueuse/core')['useDeviceOrientation']>
+    readonly useDevicePixelRatio: UnwrapRef<typeof import('@vueuse/core')['useDevicePixelRatio']>
+    readonly useDevicesList: UnwrapRef<typeof import('@vueuse/core')['useDevicesList']>
+    readonly useDisplayMedia: UnwrapRef<typeof import('@vueuse/core')['useDisplayMedia']>
+    readonly useDocumentVisibility: UnwrapRef<typeof import('@vueuse/core')['useDocumentVisibility']>
+    readonly useDraggable: UnwrapRef<typeof import('@vueuse/core')['useDraggable']>
+    readonly useDropZone: UnwrapRef<typeof import('@vueuse/core')['useDropZone']>
+    readonly useElementBounding: UnwrapRef<typeof import('@vueuse/core')['useElementBounding']>
+    readonly useElementByPoint: UnwrapRef<typeof import('@vueuse/core')['useElementByPoint']>
+    readonly useElementHover: UnwrapRef<typeof import('@vueuse/core')['useElementHover']>
+    readonly useElementSize: UnwrapRef<typeof import('@vueuse/core')['useElementSize']>
+    readonly useElementVisibility: UnwrapRef<typeof import('@vueuse/core')['useElementVisibility']>
+    readonly useEventBus: UnwrapRef<typeof import('@vueuse/core')['useEventBus']>
+    readonly useEventListener: UnwrapRef<typeof import('@vueuse/core')['useEventListener']>
+    readonly useEventSource: UnwrapRef<typeof import('@vueuse/core')['useEventSource']>
+    readonly useEyeDropper: UnwrapRef<typeof import('@vueuse/core')['useEyeDropper']>
+    readonly useFavicon: UnwrapRef<typeof import('@vueuse/core')['useFavicon']>
+    readonly useFetch: UnwrapRef<typeof import('@vueuse/core')['useFetch']>
+    readonly useFileDialog: UnwrapRef<typeof import('@vueuse/core')['useFileDialog']>
+    readonly useFileSystemAccess: UnwrapRef<typeof import('@vueuse/core')['useFileSystemAccess']>
+    readonly useFocus: UnwrapRef<typeof import('@vueuse/core')['useFocus']>
+    readonly useFocusWithin: UnwrapRef<typeof import('@vueuse/core')['useFocusWithin']>
+    readonly useFps: UnwrapRef<typeof import('@vueuse/core')['useFps']>
+    readonly useFullscreen: UnwrapRef<typeof import('@vueuse/core')['useFullscreen']>
+    readonly useGamepad: UnwrapRef<typeof import('@vueuse/core')['useGamepad']>
+    readonly useGeolocation: UnwrapRef<typeof import('@vueuse/core')['useGeolocation']>
+    readonly useId: UnwrapRef<typeof import('vue')['useId']>
+    readonly useIdle: UnwrapRef<typeof import('@vueuse/core')['useIdle']>
+    readonly useImage: UnwrapRef<typeof import('@vueuse/core')['useImage']>
+    readonly useInfiniteScroll: UnwrapRef<typeof import('@vueuse/core')['useInfiniteScroll']>
+    readonly useIntersectionObserver: UnwrapRef<typeof import('@vueuse/core')['useIntersectionObserver']>
+    readonly useInterval: UnwrapRef<typeof import('@vueuse/core')['useInterval']>
+    readonly useIntervalFn: UnwrapRef<typeof import('@vueuse/core')['useIntervalFn']>
+    readonly useKeyModifier: UnwrapRef<typeof import('@vueuse/core')['useKeyModifier']>
+    readonly useLastChanged: UnwrapRef<typeof import('@vueuse/core')['useLastChanged']>
+    readonly useLink: UnwrapRef<typeof import('vue-router')['useLink']>
+    readonly useLocalStorage: UnwrapRef<typeof import('@vueuse/core')['useLocalStorage']>
+    readonly useMagicKeys: UnwrapRef<typeof import('@vueuse/core')['useMagicKeys']>
+    readonly useManualRefHistory: UnwrapRef<typeof import('@vueuse/core')['useManualRefHistory']>
+    readonly useMediaControls: UnwrapRef<typeof import('@vueuse/core')['useMediaControls']>
+    readonly useMediaQuery: UnwrapRef<typeof import('@vueuse/core')['useMediaQuery']>
+    readonly useMemoize: UnwrapRef<typeof import('@vueuse/core')['useMemoize']>
+    readonly useMemory: UnwrapRef<typeof import('@vueuse/core')['useMemory']>
+    readonly useModel: UnwrapRef<typeof import('vue')['useModel']>
+    readonly useMounted: UnwrapRef<typeof import('@vueuse/core')['useMounted']>
+    readonly useMouse: UnwrapRef<typeof import('@vueuse/core')['useMouse']>
+    readonly useMouseInElement: UnwrapRef<typeof import('@vueuse/core')['useMouseInElement']>
+    readonly useMousePressed: UnwrapRef<typeof import('@vueuse/core')['useMousePressed']>
+    readonly useMutationObserver: UnwrapRef<typeof import('@vueuse/core')['useMutationObserver']>
+    readonly useNavigatorLanguage: UnwrapRef<typeof import('@vueuse/core')['useNavigatorLanguage']>
+    readonly useNetwork: UnwrapRef<typeof import('@vueuse/core')['useNetwork']>
+    readonly useNow: UnwrapRef<typeof import('@vueuse/core')['useNow']>
+    readonly useObjectUrl: UnwrapRef<typeof import('@vueuse/core')['useObjectUrl']>
+    readonly useOffsetPagination: UnwrapRef<typeof import('@vueuse/core')['useOffsetPagination']>
+    readonly useOnline: UnwrapRef<typeof import('@vueuse/core')['useOnline']>
+    readonly usePageLeave: UnwrapRef<typeof import('@vueuse/core')['usePageLeave']>
+    readonly useParallax: UnwrapRef<typeof import('@vueuse/core')['useParallax']>
+    readonly useParentElement: UnwrapRef<typeof import('@vueuse/core')['useParentElement']>
+    readonly usePerformanceObserver: UnwrapRef<typeof import('@vueuse/core')['usePerformanceObserver']>
+    readonly usePermission: UnwrapRef<typeof import('@vueuse/core')['usePermission']>
+    readonly usePointer: UnwrapRef<typeof import('@vueuse/core')['usePointer']>
+    readonly usePointerLock: UnwrapRef<typeof import('@vueuse/core')['usePointerLock']>
+    readonly usePointerSwipe: UnwrapRef<typeof import('@vueuse/core')['usePointerSwipe']>
+    readonly usePreferredColorScheme: UnwrapRef<typeof import('@vueuse/core')['usePreferredColorScheme']>
+    readonly usePreferredContrast: UnwrapRef<typeof import('@vueuse/core')['usePreferredContrast']>
+    readonly usePreferredDark: UnwrapRef<typeof import('@vueuse/core')['usePreferredDark']>
+    readonly usePreferredLanguages: UnwrapRef<typeof import('@vueuse/core')['usePreferredLanguages']>
+    readonly usePreferredReducedMotion: UnwrapRef<typeof import('@vueuse/core')['usePreferredReducedMotion']>
+    readonly usePreferredReducedTransparency: UnwrapRef<typeof import('@vueuse/core')['usePreferredReducedTransparency']>
+    readonly usePrevious: UnwrapRef<typeof import('@vueuse/core')['usePrevious']>
+    readonly useRafFn: UnwrapRef<typeof import('@vueuse/core')['useRafFn']>
+    readonly useRefHistory: UnwrapRef<typeof import('@vueuse/core')['useRefHistory']>
+    readonly useResizeObserver: UnwrapRef<typeof import('@vueuse/core')['useResizeObserver']>
+    readonly useRoute: UnwrapRef<typeof import('vue-router')['useRoute']>
+    readonly useRouter: UnwrapRef<typeof import('vue-router')['useRouter']>
+    readonly useSSRWidth: UnwrapRef<typeof import('@vueuse/core')['useSSRWidth']>
+    readonly useScreenOrientation: UnwrapRef<typeof import('@vueuse/core')['useScreenOrientation']>
+    readonly useScreenSafeArea: UnwrapRef<typeof import('@vueuse/core')['useScreenSafeArea']>
+    readonly useScriptTag: UnwrapRef<typeof import('@vueuse/core')['useScriptTag']>
+    readonly useScroll: UnwrapRef<typeof import('@vueuse/core')['useScroll']>
+    readonly useScrollLock: UnwrapRef<typeof import('@vueuse/core')['useScrollLock']>
+    readonly useSessionStorage: UnwrapRef<typeof import('@vueuse/core')['useSessionStorage']>
+    readonly useShare: UnwrapRef<typeof import('@vueuse/core')['useShare']>
+    readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
+    readonly useSorted: UnwrapRef<typeof import('@vueuse/core')['useSorted']>
+    readonly useSpeechRecognition: UnwrapRef<typeof import('@vueuse/core')['useSpeechRecognition']>
+    readonly useSpeechSynthesis: UnwrapRef<typeof import('@vueuse/core')['useSpeechSynthesis']>
+    readonly useStepper: UnwrapRef<typeof import('@vueuse/core')['useStepper']>
+    readonly useStorage: UnwrapRef<typeof import('@vueuse/core')['useStorage']>
+    readonly useStorageAsync: UnwrapRef<typeof import('@vueuse/core')['useStorageAsync']>
+    readonly useStyleTag: UnwrapRef<typeof import('@vueuse/core')['useStyleTag']>
+    readonly useSupported: UnwrapRef<typeof import('@vueuse/core')['useSupported']>
+    readonly useSwipe: UnwrapRef<typeof import('@vueuse/core')['useSwipe']>
+    readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
+    readonly useTemplateRefsList: UnwrapRef<typeof import('@vueuse/core')['useTemplateRefsList']>
+    readonly useTextDirection: UnwrapRef<typeof import('@vueuse/core')['useTextDirection']>
+    readonly useTextSelection: UnwrapRef<typeof import('@vueuse/core')['useTextSelection']>
+    readonly useTextareaAutosize: UnwrapRef<typeof import('@vueuse/core')['useTextareaAutosize']>
+    readonly useThrottle: UnwrapRef<typeof import('@vueuse/core')['useThrottle']>
+    readonly useThrottleFn: UnwrapRef<typeof import('@vueuse/core')['useThrottleFn']>
+    readonly useThrottledRefHistory: UnwrapRef<typeof import('@vueuse/core')['useThrottledRefHistory']>
+    readonly useTimeAgo: UnwrapRef<typeof import('@vueuse/core')['useTimeAgo']>
+    readonly useTimeout: UnwrapRef<typeof import('@vueuse/core')['useTimeout']>
+    readonly useTimeoutFn: UnwrapRef<typeof import('@vueuse/core')['useTimeoutFn']>
+    readonly useTimeoutPoll: UnwrapRef<typeof import('@vueuse/core')['useTimeoutPoll']>
+    readonly useTimestamp: UnwrapRef<typeof import('@vueuse/core')['useTimestamp']>
+    readonly useTitle: UnwrapRef<typeof import('@vueuse/core')['useTitle']>
+    readonly useToNumber: UnwrapRef<typeof import('@vueuse/core')['useToNumber']>
+    readonly useToString: UnwrapRef<typeof import('@vueuse/core')['useToString']>
+    readonly useToggle: UnwrapRef<typeof import('@vueuse/core')['useToggle']>
+    readonly useTransition: UnwrapRef<typeof import('@vueuse/core')['useTransition']>
+    readonly useUrlSearchParams: UnwrapRef<typeof import('@vueuse/core')['useUrlSearchParams']>
+    readonly useUserMedia: UnwrapRef<typeof import('@vueuse/core')['useUserMedia']>
+    readonly useVModel: UnwrapRef<typeof import('@vueuse/core')['useVModel']>
+    readonly useVModels: UnwrapRef<typeof import('@vueuse/core')['useVModels']>
+    readonly useVibrate: UnwrapRef<typeof import('@vueuse/core')['useVibrate']>
+    readonly useVirtualList: UnwrapRef<typeof import('@vueuse/core')['useVirtualList']>
+    readonly useWakeLock: UnwrapRef<typeof import('@vueuse/core')['useWakeLock']>
+    readonly useWebNotification: UnwrapRef<typeof import('@vueuse/core')['useWebNotification']>
+    readonly useWebSocket: UnwrapRef<typeof import('@vueuse/core')['useWebSocket']>
+    readonly useWebWorker: UnwrapRef<typeof import('@vueuse/core')['useWebWorker']>
+    readonly useWebWorkerFn: UnwrapRef<typeof import('@vueuse/core')['useWebWorkerFn']>
+    readonly useWindowFocus: UnwrapRef<typeof import('@vueuse/core')['useWindowFocus']>
+    readonly useWindowScroll: UnwrapRef<typeof import('@vueuse/core')['useWindowScroll']>
+    readonly useWindowSize: UnwrapRef<typeof import('@vueuse/core')['useWindowSize']>
+    readonly watch: UnwrapRef<typeof import('vue')['watch']>
+    readonly watchArray: UnwrapRef<typeof import('@vueuse/core')['watchArray']>
+    readonly watchAtMost: UnwrapRef<typeof import('@vueuse/core')['watchAtMost']>
+    readonly watchDebounced: UnwrapRef<typeof import('@vueuse/core')['watchDebounced']>
+    readonly watchDeep: UnwrapRef<typeof import('@vueuse/core')['watchDeep']>
+    readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
+    readonly watchIgnorable: UnwrapRef<typeof import('@vueuse/core')['watchIgnorable']>
+    readonly watchImmediate: UnwrapRef<typeof import('@vueuse/core')['watchImmediate']>
+    readonly watchOnce: UnwrapRef<typeof import('@vueuse/core')['watchOnce']>
+    readonly watchPausable: UnwrapRef<typeof import('@vueuse/core')['watchPausable']>
+    readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
+    readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
+    readonly watchThrottled: UnwrapRef<typeof import('@vueuse/core')['watchThrottled']>
+    readonly watchTriggerable: UnwrapRef<typeof import('@vueuse/core')['watchTriggerable']>
+    readonly watchWithFilter: UnwrapRef<typeof import('@vueuse/core')['watchWithFilter']>
+    readonly whenever: UnwrapRef<typeof import('@vueuse/core')['whenever']>
   }
-}
+}

+ 1 - 1
src/types/global.d.ts

@@ -11,7 +11,7 @@ declare interface ImportMetaEnv {
 }
 
 declare type Recordable<T = any> = Record<string, T>
-declare type LayoutType = 'classic'
+declare type LayoutType = 'classic' | 'transverse'
 declare interface AxiosConfig {
   params?: any
   data?: any

+ 2 - 2
src/views/login/index.vue

@@ -31,8 +31,8 @@ const loading = ref(false)
 const route = useRoute()
 const userStore = useUserStore()
 const loginForm = reactive({
-  account: '',
-  password: '',
+  account: 'superadmin',
+  password: 'admin123',
   grantType: 'password',
   clientId: '7daa6e9b-8876-4918-8a12-b68cbfcdc680',
   tenantId: '1'

+ 9 - 1
vite.config.ts

@@ -44,7 +44,15 @@ export default defineConfig(({ mode, command }: ConfigEnv): UserConfig => {
         '@element-plus/icons-vue',
         'element-plus/es',
         'element-plus/es/components/base/style/css',
-        'element-plus/es/components/config-provider/style/css'
+        'element-plus/es/components/config-provider/style/css',
+        'element-plus/es/components/button/style/css',
+        'element-plus/es/components/form/style/css',
+        'element-plus/es/components/form-item/style/css',
+        'element-plus/es/components/input/style/css',
+        'element-plus/es/components/container/style/css',
+        'element-plus/es/components/footer/style/css',
+        'element-plus/es/components/main/style/css',
+        'element-plus/es/components/header/style/css'
       ]
     }
   }