App.vue 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <template>
  2. <a-config-provider
  3. :locale="locale"
  4. :theme="{
  5. algorithm: store.theme === 'realDark' ? theme.darkAlgorithm : theme.defaultAlgorithm,
  6. token: {
  7. colorPrimary: `${store.themeColor}`,
  8. borderRadius: roundedCornerStyleOpen ? 6 : 2
  9. }
  10. }"
  11. >
  12. <a-watermark
  13. :content="loginUserWatermarkOpen && userInfo ? [userInfo.name, userInfo.account] : undefined"
  14. class="admin-ui-main"
  15. >
  16. <router-view />
  17. </a-watermark>
  18. </a-config-provider>
  19. </template>
  20. <script setup name="App">
  21. import i18n from '@/locales'
  22. import { globalStore } from '@/store'
  23. import { theme } from 'ant-design-vue'
  24. const store = globalStore()
  25. store.initTheme()
  26. const locale = i18n.global.messages.value[i18n.global.locale.value].lang
  27. // 获取用户信息
  28. const userInfo = computed(() => {
  29. return store.userInfo
  30. })
  31. // 水印开关
  32. const loginUserWatermarkOpen = computed(() => {
  33. return store.loginUserWatermarkOpen
  34. })
  35. // 圆角风格
  36. const roundedCornerStyleOpen = computed(() => {
  37. return store.roundedCornerStyleOpen
  38. })
  39. </script>