main.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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 { 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. watchEffect((onCleanup) => {
  18. if ([RoutesName.show, RoutesName.signModel].includes(currentLayout.value!)) {
  19. const untokenURLS = params.share
  20. ? [
  21. URL.GET_SETTING_RESOURCES,
  22. URL.FUSE_MODEL_LIST,
  23. URL.MODEL_LIST,
  24. URL.GET_SETTING,
  25. URL.TAGGING_LIST,
  26. URL.TAGGING_POINT_LIST,
  27. URL.TAGGING_STYLE_LIST,
  28. URL.MESASURE_LIST,
  29. URL.GUIDE_LIST,
  30. URL.GUIDE_PATH_LIST,
  31. URL.RECORD_LIST,
  32. URL.RECORD_FRAGMENT_LIST,
  33. URL.VIEW_LIST,
  34. URL.FOLDER_TYPE_LIST,
  35. URL.FLODER_LIST,
  36. URL.MODEL_SIGN,
  37. URL.CASE_INFO,
  38. URL.AUTH_PWD
  39. ]
  40. : [URL.AUTH_PWD]
  41. const apiHook = {
  42. before(config: any) {
  43. if (config.headers) {
  44. config.headers.share = '1'
  45. } else {
  46. config.headers = { share: '1' }
  47. }
  48. }
  49. }
  50. addHook(apiHook)
  51. addUnsetTokenURLS(...untokenURLS)
  52. onCleanup(() => {
  53. delHook(apiHook)
  54. delUnsetTokenURLS(...untokenURLS)
  55. })
  56. }
  57. }, { flush: 'sync' })
  58. export default app