main.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { createApp, watchEffect } from 'vue'
  2. import './style.scss'
  3. import App from './app.vue'
  4. import Components from 'bill/index'
  5. import router from './router'
  6. import { appStyleImport, appType, params } from '@/env'
  7. import { addHook, addUnsetTokenURLS, delHook, delUnsetTokenURLS } from '@/api'
  8. import { currentLayout, RoutesName } from './router';
  9. import * as URL from '@/api/constant'
  10. const app = createApp(App)
  11. app.use(Components)
  12. app.use(router)
  13. app.mount('#app')
  14. appStyleImport[params.app]()
  15. watchEffect((onCleanup) => {
  16. if ([RoutesName.show, RoutesName.signModel].includes(currentLayout.value!)) {
  17. const untokenURLS = params.share
  18. ? [
  19. URL.FUSE_MODEL_LIST,
  20. URL.MODEL_LIST,
  21. URL.GET_SETTING,
  22. URL.TAGGING_LIST,
  23. URL.TAGGING_POINT_LIST,
  24. URL.TAGGING_STYLE_LIST,
  25. URL.MESASURE_LIST,
  26. URL.GUIDE_LIST,
  27. URL.GUIDE_PATH_LIST,
  28. URL.RECORD_LIST,
  29. URL.RECORD_FRAGMENT_LIST,
  30. URL.VIEW_LIST,
  31. URL.FOLDER_TYPE_LIST,
  32. URL.FLODER_LIST,
  33. URL.MODEL_SIGN,
  34. URL.CASE_INFO,
  35. URL.AUTH_PWD
  36. ]
  37. : [URL.AUTH_PWD]
  38. const apiHook = {
  39. before(config: any) {
  40. if (config.headers) {
  41. config.headers.share = '1'
  42. } else {
  43. config.headers = { share: '1' }
  44. }
  45. }
  46. }
  47. addHook(apiHook)
  48. addUnsetTokenURLS(...untokenURLS)
  49. onCleanup(() => {
  50. delHook(apiHook)
  51. delUnsetTokenURLS(...untokenURLS)
  52. })
  53. }
  54. }, { flush: 'sync' })
  55. export default app