| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | 
							- <script lang="ts" setup>
 
- import { isDark } from '@/utils/is'
 
- import { useAppStore } from '@/store/modules/app'
 
- import { useDesign } from '@/hooks/web/useDesign'
 
- import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
 
- import routerSearch from '@/components/RouterSearch/index.vue'
 
- defineOptions({ name: 'APP' })
 
- const { getPrefixCls } = useDesign()
 
- const prefixCls = getPrefixCls('app')
 
- const appStore = useAppStore()
 
- const currentSize = computed(() => appStore.getCurrentSize)
 
- const greyMode = computed(() => appStore.getGreyMode)
 
- const { wsCache } = useCache()
 
- // 根据浏览器当前主题设置系统主题色
 
- const setDefaultTheme = () => {
 
-   let isDarkTheme = wsCache.get(CACHE_KEY.IS_DARK)
 
-   if (isDarkTheme === null) {
 
-     isDarkTheme = isDark()
 
-   }
 
-   appStore.setIsDark(isDarkTheme)
 
- }
 
- setDefaultTheme()
 
- </script>
 
- <template>
 
-   <ConfigGlobal :size="currentSize">
 
-     <RouterView :class="greyMode ? `${prefixCls}-grey-mode` : ''" />
 
-     <routerSearch />
 
-   </ConfigGlobal>
 
- </template>
 
- <style lang="scss">
 
- $prefix-cls: #{$namespace}-app;
 
- .size {
 
-   width: 100%;
 
-   height: 100%;
 
- }
 
- html,
 
- body {
 
-   @extend .size;
 
-   padding: 0 !important;
 
-   margin: 0;
 
-   overflow: hidden;
 
-   #app {
 
-     @extend .size;
 
-   }
 
- }
 
- .#{$prefix-cls}-grey-mode {
 
-   filter: grayscale(100%);
 
- }
 
- </style>
 
 
  |