App.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <template>
  2. <ConfigProvider :locale="getAntdLocale" :theme="themeConfig">
  3. <AppProvider>
  4. <RouterView />
  5. </AppProvider>
  6. <ExceptionModal />
  7. </ConfigProvider>
  8. </template>
  9. <script lang="ts" setup>
  10. import { AppProvider } from '@/components/Application';
  11. import { useTitle } from '@/hooks/web/useTitle';
  12. import { useLocale } from '@/locales/useLocale';
  13. import { ConfigProvider } from 'ant-design-vue';
  14. import { useDarkModeTheme } from '@/hooks/setting/useDarkModeTheme';
  15. import 'dayjs/locale/zh-cn';
  16. import { computed } from 'vue';
  17. import { ExceptionModal } from '@/views/sys/exception';
  18. import { useAppStore } from '@/store/modules/app';
  19. // support Multi-language
  20. const { getAntdLocale } = useLocale();
  21. const { isDark, darkTheme } = useDarkModeTheme();
  22. const themeConfig = computed(() =>
  23. Object.assign(
  24. {
  25. token: {
  26. colorPrimary: '#0960bd',
  27. colorSuccess: '#55D187',
  28. colorWarning: '#EFBD47',
  29. colorError: '#ED6F6F',
  30. colorInfo: '#0960bd',
  31. },
  32. },
  33. isDark.value ? darkTheme : {},
  34. ),
  35. );
  36. // Listening to page changes and dynamically changing site titles
  37. useTitle();
  38. /**
  39. * 初始化系统参数
  40. */
  41. const appStore = useAppStore();
  42. appStore.initSystemProperties();
  43. </script>