main.ts 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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, 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. import { QuillEditor } from '@vueup/vue-quill'
  11. import '@vueup/vue-quill/dist/vue-quill.snow.css';
  12. const app = createApp(App)
  13. app.component('QuillEditor', QuillEditor)
  14. app.use(Components)
  15. app.use(router)
  16. app.mount('#app')
  17. appStyleImport[params.app]()
  18. watchEffect((onCleanup) => {
  19. if ([RoutesName.show, RoutesName.signModel].includes(currentLayout.value!)) {
  20. const untokenURLS = params.share
  21. ? [
  22. URL.GET_SETTING_RESOURCES,
  23. URL.FUSE_MODEL_LIST,
  24. URL.MODEL_LIST,
  25. URL.GET_SETTING,
  26. URL.TAGGING_LIST,
  27. URL.TAGGING_POINT_LIST,
  28. URL.TAGGING_STYLE_LIST,
  29. URL.MESASURE_LIST,
  30. URL.GUIDE_LIST,
  31. URL.GUIDE_PATH_LIST,
  32. URL.RECORD_LIST,
  33. URL.RECORD_FRAGMENT_LIST,
  34. URL.VIEW_LIST,
  35. URL.FOLDER_TYPE_LIST,
  36. URL.FLODER_LIST,
  37. URL.MODEL_SIGN,
  38. URL.CASE_INFO,
  39. URL.AUTH_PWD,
  40. '/fusion-xj/caseInquest/info',
  41. '/fusion-xj/caseExtractDetail/info',
  42. '/fusion-xj/caseInquest/downDocx',
  43. '/fusion-xj/caseExtractDetail/downDocx'
  44. ]
  45. : [URL.AUTH_PWD]
  46. const apiHook = {
  47. before(config: any) {
  48. if (config.headers) {
  49. config.headers.share = '1'
  50. } else {
  51. config.headers = { share: '1' }
  52. }
  53. }
  54. }
  55. addHook(apiHook)
  56. addUnsetTokenURLS(...untokenURLS)
  57. onCleanup(() => {
  58. delHook(apiHook)
  59. delUnsetTokenURLS(...untokenURLS)
  60. })
  61. }
  62. }, { flush: 'sync' })
  63. export default app