index.ts 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. import { stackFactory, flatStacksValue, strToParams } from "@/utils";
  2. import { reactive, ref } from "vue";
  3. import type { FuseModel, Path, TaggingPosition, View } from "@/store";
  4. export const namespace = "/fusion";
  5. export const viewModeStack = stackFactory(ref<"full" | "auto">("auto"));
  6. export const recordIngStack = stackFactory(ref(false));
  7. export const showToolbarStack = stackFactory(ref<boolean>(false));
  8. export const showHeadBarStack = stackFactory(ref<boolean>(true));
  9. export const showRightPanoStack = stackFactory(ref<boolean>(true));
  10. export const showLeftPanoStack = stackFactory(ref<boolean>(false));
  11. export const moundLeftPanoStack = stackFactory(ref<boolean>(true));
  12. export const showLeftCtrlPanoStack = stackFactory(ref<boolean>(true));
  13. export const showAMsStack = stackFactory(ref<boolean>(false));
  14. export const showModeStack = stackFactory(ref<"pano" | "fuse">("fuse"));
  15. export const showRightCtrlPanoStack = stackFactory(ref<boolean>(true));
  16. export const showBottomBarStack = stackFactory(ref<boolean>(false), true);
  17. export const bottomBarHeightStack = stackFactory(ref<string>("60px"));
  18. export const showTaggingsStack = stackFactory(ref<boolean>(true));
  19. export const showMonitorsStack = stackFactory(ref<boolean>(true));
  20. export const showPathsStack = stackFactory(ref<boolean>(true));
  21. export const showSearchStack = stackFactory(ref<boolean>(true));
  22. export const showPathStack = stackFactory(ref<Path["id"]>());
  23. export const showModeTabStack = stackFactory(ref<boolean>(true));
  24. export const showMeasuresStack = stackFactory(ref<boolean>(true));
  25. export const showViewSettingStack = stackFactory(ref<boolean>(true));
  26. export const currentModelStack = stackFactory(ref<FuseModel | null>(null));
  27. export const showModelsMapStack = stackFactory(
  28. ref<WeakMap<FuseModel, boolean>>(new Map()),
  29. true
  30. );
  31. export const modelsChangeStoreStack = stackFactory(ref<boolean>(false));
  32. export const showTaggingPositionsStack = stackFactory(
  33. ref<WeakSet<TaggingPosition>>(new WeakSet())
  34. );
  35. export const currentViewStack = stackFactory(ref<View>());
  36. export const custom = flatStacksValue({
  37. recordIng: recordIngStack,
  38. viewMode: viewModeStack,
  39. showToolbar: showToolbarStack,
  40. showRightPano: showRightPanoStack,
  41. showLeftPano: showLeftPanoStack,
  42. showModeTab: showModeTabStack,
  43. moundLeftPano: moundLeftPanoStack,
  44. showLeftCtrlPano: showLeftCtrlPanoStack,
  45. shwoRightCtrlPano: showRightCtrlPanoStack,
  46. showTaggings: showTaggingsStack,
  47. showMonitors: showMonitorsStack,
  48. showPaths: showPathsStack,
  49. showPath: showPathStack,
  50. showMeasures: showMeasuresStack,
  51. currentModel: currentModelStack,
  52. showModelsMap: showModelsMapStack,
  53. modelsChangeStore: modelsChangeStoreStack,
  54. showTaggingPositions: showTaggingPositionsStack,
  55. showBottomBar: showBottomBarStack,
  56. bottomBarHeight: bottomBarHeightStack,
  57. showHeadBar: showHeadBarStack,
  58. showAMs: showAMsStack,
  59. currentView: currentViewStack,
  60. showMode: showModeStack,
  61. showSearch: showSearchStack,
  62. showViewSetting: showViewSettingStack
  63. });
  64. export enum appType {
  65. fire = '1',
  66. criminal = '2',
  67. xmfire = '3',
  68. police = '4'
  69. }
  70. export const appBackRoot = {
  71. [appType.fire]: "/fire",
  72. [appType.xmfire]: "/xmfire",
  73. [appType.criminal]: "/criminal",
  74. [appType.police]: "/criminal"
  75. }
  76. export const params = reactive(
  77. strToParams(location.search)
  78. ) as unknown as Params;
  79. params.caseId = Number(params.caseId);
  80. params.share = Boolean(Number(params.share));
  81. params.single = Boolean(Number(params.single));
  82. export type Params = {
  83. caseId: number;
  84. baseURL?: string;
  85. modelId?: string;
  86. mapKey?: string;
  87. mapPlatform?: string;
  88. fileUrl?: string;
  89. sign?: string;
  90. type?: string;
  91. testMap?: boolean;
  92. title?: string;
  93. m?: string;
  94. share?: boolean;
  95. single?: boolean;
  96. token?: string;
  97. };
  98. export const baseURL = params.baseURL ? params.baseURL : "";
  99. export const getResource = (uri: string) => {
  100. if (~uri.indexOf("base64") || ~uri.indexOf("bolb") || ~uri.indexOf("//"))
  101. return uri;
  102. if (uri[0] === "/") {
  103. return `${baseURL}${uri}`;
  104. } else {
  105. return `${baseURL}/${uri}`;
  106. }
  107. };