enter-exe.ts 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import { tempStrFill } from "@/utils/shared";
  2. import { params } from "../env";
  3. import { postFile, resourceURLS, SCENE_TYPE, viewURLS } from "./enter-shared";
  4. import { genLoading } from "../loadding";
  5. let load: Promise<any>;
  6. if (import.meta.env.VITE_ORIGIN === "params") {
  7. resourceURLS.oss = params.value.app_resource;
  8. resourceURLS.ossRoot = params.value.app_resource;
  9. resourceURLS[SCENE_TYPE.cloud] = params.value.laser_server;
  10. resourceURLS[SCENE_TYPE.mesh] = params.value.mesh_server;
  11. resourceURLS[SCENE_TYPE.fuse] = params.value.fuse_server;
  12. }
  13. load = import("./enter");
  14. viewURLS[SCENE_TYPE.mesh] = tempStrFill(viewURLS[SCENE_TYPE.mesh], {
  15. oss: resourceURLS.oss,
  16. server: resourceURLS[SCENE_TYPE.mesh],
  17. });
  18. load.then((p) => {
  19. window.platform.preventLogin = true;
  20. window.platform.uploadResourse = genLoading(async (file: File) => {
  21. const url = await postFile(`fusion/upload/file`, { file });
  22. if (url.includes("//")) {
  23. return url;
  24. }
  25. return `${url}`;
  26. });
  27. window.platform.getResource = (url: string) => {
  28. if (url.includes("//")) {
  29. return url;
  30. } else {
  31. return `${resourceURLS.oss}${url}`;
  32. }
  33. };
  34. const placeKey = '{{--oss--}}'
  35. const getOverviewDataRaw = window.platform.getOverviewData
  36. window.platform.getOverviewData = async (...args: any[]) => {
  37. const result = await getOverviewDataRaw(...args)
  38. try {
  39. const dataStr = JSON.stringify(result.store).split(placeKey).join(resourceURLS.oss)
  40. result.store = JSON.parse(dataStr)
  41. } catch (e) {
  42. console.error('替换失败', e)
  43. }
  44. return result
  45. }
  46. const saveOverviewDataRaw = window.platform.saveOverviewData
  47. window.platform.saveOverviewData = async (...args: any[]) => {
  48. try {
  49. args[1].store = JSON.parse(JSON.stringify(args[1].store).split(resourceURLS.oss).join(placeKey))
  50. } catch(e) {
  51. console.error('替换出错', e)
  52. }
  53. const result = await saveOverviewDataRaw(...args)
  54. return result
  55. }
  56. const getTabulationDataRaw = window.platform.getTabulationData
  57. window.platform.getTabulationData = async (...args: any[]) => {
  58. const result = await getTabulationDataRaw(...args)
  59. try {
  60. const dataStr = JSON.stringify(result.store).split(placeKey).join(resourceURLS.oss)
  61. result.store = JSON.parse(dataStr)
  62. } catch (e) {
  63. console.error('替换失败', e)
  64. }
  65. return result
  66. }
  67. const saveTabulationDataRaw = window.platform.saveTabulationData
  68. window.platform.saveTabulationData = async (...args: any[]) => {
  69. try {
  70. args[1].store = JSON.parse(JSON.stringify(args[1].store).split(resourceURLS.oss).join(placeKey))
  71. } catch(e) {
  72. console.error('替换出错', e)
  73. }
  74. const result = await saveTabulationDataRaw(...args)
  75. return result
  76. }
  77. });