main.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import { setupI18n } from "./lang";
  2. import { App, createApp, watchEffect } from "vue";
  3. import "./style.scss";
  4. import Home from "./app.vue";
  5. import Below from './below.vue'
  6. import Components from "bill/index";
  7. import router from "./router";
  8. import { namespace, params } from "@/env";
  9. import { addHook, addUnsetTokenURLS, delHook, delUnsetTokenURLS } from "@/api";
  10. import { currentLayout, RoutesName } from "./router";
  11. import * as URL from "@/api/constant";
  12. import VueKonva from "vue-konva";
  13. // import 'ant-design-vue/dist/reset.css';
  14. import "@/assets/style/global.less";
  15. import p from '../package.json'
  16. import { isFirefoxBelow } from "./utils";
  17. console.log('version', p.version)
  18. let app: App
  19. if (isFirefoxBelow("115.9")) {
  20. app = createApp(Below)
  21. } else {
  22. app = createApp(Home);
  23. app.use(Components);
  24. app.use(router);
  25. app.use(VueKonva);
  26. }
  27. setupI18n(app)
  28. app.mount("#app");
  29. if (import.meta.env.DEV) {
  30. // import('@/hook/notice')
  31. }
  32. addHook({
  33. before(config: any) {
  34. const isView = [
  35. RoutesName.show,
  36. RoutesName.signModel,
  37. RoutesName.error,
  38. ].includes(currentLayout.value!);
  39. const type = isView ? "view" : "edit";
  40. if (config.headers) {
  41. config.headers["page-type"] = type;
  42. config.headers["fusionId"] = params.caseId;
  43. } else {
  44. config.headers = { "page-type": type, fusionId: params.caseId };
  45. }
  46. },
  47. });
  48. addHook({
  49. before(config: any) {
  50. if (params.sign) {
  51. config.headers["sign"] = params.sign
  52. }
  53. },
  54. });
  55. watchEffect(
  56. (onCleanup) => {
  57. if (
  58. params.sign && [RoutesName.show, RoutesName.signModel].includes(currentLayout.value!)
  59. ) {
  60. const untokenURLS = [
  61. URL.FUSE_MODEL_LIST,
  62. URL.MODEL_LIST,
  63. URL.GET_SETTING,
  64. URL.TAGGING_LIST,
  65. URL.TAGGING_POINT_LIST,
  66. URL.TAGGING_STYLE_LIST,
  67. URL.MESASURE_LIST,
  68. URL.GUIDE_LIST,
  69. URL.GUIDE_PATH_LIST,
  70. URL.RECORD_LIST,
  71. URL.RECORD_FRAGMENT_LIST,
  72. URL.VIEW_LIST,
  73. URL.FOLDER_TYPE_LIST,
  74. URL.FLODER_LIST,
  75. URL.MODEL_SIGN,
  76. URL.CASE_INFO,
  77. URL.PATH_LIST,
  78. URL.AUTH_PWD,
  79. `${namespace}/caseInquest/info`,
  80. `${namespace}/caseExtractDetail/info`,
  81. `${namespace}/caseInquest/downDocx`,
  82. `${namespace}/caseExtractDetail/downDocx`,
  83. `${namespace}/caseImg/getFfmpegImage`,
  84. URL.MAP_TILE_LIST,
  85. URL.AM_MODEL_LIST,
  86. '/fusion/caseInquest/info',
  87. '/fusion/caseExtractDetail/info',
  88. '/fusion/caseInquest/downDocx',
  89. '/fusion/caseExtractDetail/downDocx',
  90. '/fusion/caseImg/getFfmpegImage'
  91. ]
  92. addUnsetTokenURLS(...untokenURLS);
  93. onCleanup(() => {
  94. delUnsetTokenURLS(...untokenURLS);
  95. });
  96. }
  97. },
  98. { flush: "sync" }
  99. );
  100. export default app;
  101. document.documentElement.addEventListener('contextmenu', ev => ev.preventDefault())
  102. document.documentElement.addEventListener('click', ev => {
  103. const dom = ev.target as HTMLDivElement
  104. if (dom.tagName.toUpperCase() === 'A') {
  105. ev.preventDefault()
  106. }
  107. })