| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | <script setup lang="ts">import { computed } from 'vue'import { isDark } from '@/utils/is'import { useAppStore } from '@/store/modules/app'import { useDesign } from '@/hooks/web/useDesign'import { ConfigGlobal } from '@/components/ConfigGlobal'import { CACHE_KEY, useCache } from '@/hooks/web/useCache'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` : ''" />  </ConfigGlobal></template><style lang="scss">$prefix-cls: #{$namespace}-app;.size {  width: 100%;  height: 100%;}html,body {  padding: 0 !important;  margin: 0;  overflow: hidden;  @extend .size;  #app {    @extend .size;  }}.#{$prefix-cls}-grey-mode {  filter: grayscale(100%);}</style>
 |