App.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <a-config-provider
  3. :locale="zhCN"
  4. :theme="{
  5. token: {
  6. colorPrimary: '#bd4b36',
  7. },
  8. }"
  9. >
  10. <NuxtLoadingIndicator />
  11. <NavBar v-if="showNavAndFooter" />
  12. <main>
  13. <NuxtPage />
  14. </main>
  15. <Footer v-if="showNavAndFooter" />
  16. </a-config-provider>
  17. </template>
  18. <script setup lang="ts">
  19. import { onMounted, watch } from 'vue';
  20. import { RouterView, useRoute } from 'vue-router'
  21. import NavBar from './components/NavBar.vue';
  22. import Footer from './components/Footer.vue';
  23. import { useAuthStore } from './stores/auth';
  24. import zhCN from 'ant-design-vue/es/locale/zh_CN';
  25. import VueAMap, {initAMapApiLoader} from '@vuemap/vue-amap';
  26. import { registryConvert } from './common/ConvertRgeistry'
  27. import { registerAllFormComponents } from './components/dynamicf';
  28. const showNavAndFooter = computed(() => {
  29. return route.path !== '/exportToAiIch';
  30. });
  31. if (import.meta.client) {
  32. initAMapApiLoader({
  33. key: '212b86dc49a5116a34e945d31da7ad14',
  34. securityJsCode: '46cae8205a707cfaf5801abcc4301566',
  35. });
  36. registerAllFormComponents();
  37. }
  38. registryConvert();
  39. const authStore = useAuthStore();
  40. onMounted(() => {
  41. if (import.meta.server)
  42. return;
  43. authStore.loadLoginState();
  44. });
  45. const route = useRoute();
  46. watch(route, () => {
  47. window.scrollTo({
  48. top: 0,
  49. behavior: 'instant'
  50. })
  51. });
  52. </script>
  53. <style>
  54. @import "bootstrap/dist/css/bootstrap.css";
  55. @import "bootstrap/dist/css/bootstrap-grid.css";
  56. @import "bootstrap/dist/css/bootstrap-utilities.css";
  57. @import "./assets/scss/main.scss";
  58. @import "vue3-carousel/carousel.css";
  59. @import "@vuemap/vue-amap/dist/style.css";
  60. @import "@imengyu/vue-scroll-rect/lib/vue-scroll-rect.css";
  61. </style>