main.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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_ADMIN } 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_ADMIN, result.Authorization, ex);
  21. sessionStorage.setItem('authLoadNum', '1');
  22. sessionStorage.setItem('authSource', result.source?.toString() || '');
  23. }
  24. console.log(result, 'result');
  25. } else {
  26. sessionStorage.removeItem('authLoadNum');
  27. }
  28. // app loading
  29. // const appLoading = createApp(AppLoading);
  30. // appLoading.mount('#appLoading');
  31. const app = createApp(App);
  32. setupNaive(app);
  33. // store plugin: pinia
  34. setupStore(app);
  35. setupRouter(app);
  36. dayjs.locale('zh-ch');
  37. // app.use(router);
  38. await router.isReady();
  39. // mount app
  40. app.mount('#app');
  41. }
  42. setupApp();