main.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { createApp } from 'vue';
  2. import App from './App';
  3. import router, { parseQuery, setupRouter } from './router/index';
  4. import dayjs from 'dayjs';
  5. import { setupNaive } from './plugins';
  6. import { setupStore } from './store';
  7. import 'dayjs/locale/zh-cn';
  8. import './styles/index.less';
  9. import './utils/rem';
  10. import { storage } from './utils/storage';
  11. import { ACCESS_TOKEN } from './store/mutation-types';
  12. async function setupApp() {
  13. // 处理token
  14. const authLoadNum = sessionStorage.getItem('authLoadNum');
  15. if (location.search && authLoadNum !== '1') {
  16. const parse = location.search.substring(1, location.search.length);
  17. const result = parseQuery(parse);
  18. if (result.Authorization) {
  19. const ex = 7 * 24 * 60 * 60 * 1000;
  20. storage.set(ACCESS_TOKEN, result.Authorization, ex);
  21. sessionStorage.setItem('authLoadNum', '1');
  22. }
  23. } else {
  24. sessionStorage.removeItem('authLoadNum');
  25. }
  26. // app loading
  27. // const appLoading = createApp(AppLoading);
  28. // appLoading.mount('#appLoading');
  29. const app = createApp(App);
  30. setupNaive(app);
  31. // store plugin: pinia
  32. setupStore(app);
  33. setupRouter(app);
  34. dayjs.locale('zh-ch');
  35. // app.use(router);
  36. await router.isReady();
  37. // mount app
  38. app.mount('#app');
  39. }
  40. setupApp();