App.vue 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <template>
  2. <router-view></router-view>
  3. </template>
  4. <script lang="ts" setup>
  5. import { isMobile } from 'billd-utils';
  6. import { onMounted } from 'vue';
  7. import { loginMessage } from '@/hooks/use-login';
  8. import { useUserStore } from '@/store/user';
  9. import cache from '@/utils/cache';
  10. const userStore = useUserStore();
  11. onMounted(() => {
  12. loginMessage();
  13. const token = cache.getStorageExp('token');
  14. if (token) {
  15. userStore.setToken(token);
  16. userStore.getUserInfo();
  17. }
  18. // 启用vconsole
  19. // import('vconsole')
  20. // .then((VConsole) => {
  21. // // eslint-disable-next-line
  22. // new VConsole.default();
  23. // })
  24. // .catch(() => {});
  25. if (isMobile()) {
  26. const metaEl = document.querySelector('meta[name="viewport"]');
  27. metaEl?.setAttribute(
  28. 'content',
  29. 'width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no'
  30. );
  31. }
  32. });
  33. </script>
  34. <style lang="scss">
  35. body {
  36. font-size: 16px;
  37. // naive的message会影响全局line-height
  38. line-height: initial;
  39. }
  40. </style>
  41. <style lang="scss" scoped></style>