|
@@ -1,27 +1,31 @@
|
|
|
-import { stackFactory, flatStacksValue, strToParams } from '@/utils'
|
|
|
-import { reactive, ref } from 'vue'
|
|
|
+import { stackFactory, flatStacksValue, strToParams } from "@/utils";
|
|
|
+import { reactive, ref } from "vue";
|
|
|
|
|
|
-import type { FuseModel, Path, TaggingPosition, View } from '@/store'
|
|
|
-export const namespace = '/fusion'
|
|
|
-export const viewModeStack = stackFactory(ref<'full' | 'auto'>('auto'))
|
|
|
-export const showToolbarStack = stackFactory(ref<boolean>(false))
|
|
|
-export const showHeadBarStack = stackFactory(ref<boolean>(true))
|
|
|
-export const showRightPanoStack = stackFactory(ref<boolean>(true))
|
|
|
-export const showLeftPanoStack = stackFactory(ref<boolean>(false))
|
|
|
-export const showLeftCtrlPanoStack = stackFactory(ref<boolean>(true))
|
|
|
+import type { FuseModel, Path, TaggingPosition, View } from "@/store";
|
|
|
+export const viewModeStack = stackFactory(ref<"full" | "auto">("auto"));
|
|
|
+export const showToolbarStack = stackFactory(ref<boolean>(false));
|
|
|
+export const showHeadBarStack = stackFactory(ref<boolean>(true));
|
|
|
+export const showRightPanoStack = stackFactory(ref<boolean>(true));
|
|
|
+export const showLeftPanoStack = stackFactory(ref<boolean>(false));
|
|
|
+export const showLeftCtrlPanoStack = stackFactory(ref<boolean>(true));
|
|
|
export const showModeStack = stackFactory(ref<"pano" | "fuse">("fuse"));
|
|
|
-export const showRightCtrlPanoStack = stackFactory(ref<boolean>(true))
|
|
|
-export const showBottomBarStack = stackFactory(ref<boolean>(false), true)
|
|
|
-export const bottomBarHeightStack = stackFactory(ref<string>('60px'))
|
|
|
-export const showTaggingsStack = stackFactory(ref<boolean>(true))
|
|
|
-export const showPathsStack = stackFactory(ref<boolean>(true))
|
|
|
-export const showPathStack = stackFactory(ref<Path['id']>())
|
|
|
-export const showMeasuresStack = stackFactory(ref<boolean>(true))
|
|
|
-export const currentModelStack = stackFactory(ref<FuseModel | null>(null))
|
|
|
-export const showModelsMapStack = stackFactory(ref<WeakMap<FuseModel, boolean>>(new Map()), true)
|
|
|
-export const modelsChangeStoreStack = stackFactory(ref<boolean>(false))
|
|
|
-export const showTaggingPositionsStack = stackFactory(ref<WeakSet<TaggingPosition>>(new WeakSet()))
|
|
|
-export const currentViewStack = stackFactory(ref<View>())
|
|
|
+export const showRightCtrlPanoStack = stackFactory(ref<boolean>(true));
|
|
|
+export const showBottomBarStack = stackFactory(ref<boolean>(false), true);
|
|
|
+export const bottomBarHeightStack = stackFactory(ref<string>("60px"));
|
|
|
+export const showTaggingsStack = stackFactory(ref<boolean>(true));
|
|
|
+export const showPathsStack = stackFactory(ref<boolean>(true));
|
|
|
+export const showPathStack = stackFactory(ref<Path["id"]>());
|
|
|
+export const showMeasuresStack = stackFactory(ref<boolean>(true));
|
|
|
+export const currentModelStack = stackFactory(ref<FuseModel | null>(null));
|
|
|
+export const showModelsMapStack = stackFactory(
|
|
|
+ ref<WeakMap<FuseModel, boolean>>(new Map()),
|
|
|
+ true
|
|
|
+);
|
|
|
+export const modelsChangeStoreStack = stackFactory(ref<boolean>(false));
|
|
|
+export const showTaggingPositionsStack = stackFactory(
|
|
|
+ ref<WeakSet<TaggingPosition>>(new WeakSet())
|
|
|
+);
|
|
|
+export const currentViewStack = stackFactory(ref<View>());
|
|
|
|
|
|
export const custom = flatStacksValue({
|
|
|
viewMode: viewModeStack,
|
|
@@ -43,37 +47,106 @@ export const custom = flatStacksValue({
|
|
|
showHeadBar: showHeadBarStack,
|
|
|
currentView: currentViewStack,
|
|
|
showMode: showModeStack,
|
|
|
-})
|
|
|
+});
|
|
|
|
|
|
+export const params = reactive(
|
|
|
+ strToParams(location.search)
|
|
|
+) as unknown as Params;
|
|
|
+params.caseId = Number(params.caseId);
|
|
|
+params.share = Boolean(Number(params.share));
|
|
|
+params.single = Boolean(Number(params.single));
|
|
|
|
|
|
-export const params = reactive(strToParams(location.search)) as unknown as Params
|
|
|
-params.caseId = Number(params.caseId)
|
|
|
-params.share = Boolean(Number(params.share))
|
|
|
-params.single = Boolean(Number(params.single))
|
|
|
+export type Params = {
|
|
|
+ caseId: number;
|
|
|
+ baseURL?: string;
|
|
|
+ modelId?: string;
|
|
|
+ laserRoot: string;
|
|
|
+ panoOSSRoot: string;
|
|
|
+ ossRoot: string;
|
|
|
+ root: string;
|
|
|
+ laserOSSRoot: string;
|
|
|
+ service: string;
|
|
|
+ fileUrl?: string;
|
|
|
+ sign?: string;
|
|
|
+ ip: string;
|
|
|
+ type?: string;
|
|
|
+ serviceUrl?: string;
|
|
|
+ testMap?: boolean;
|
|
|
+ title?: string;
|
|
|
+ m?: string;
|
|
|
+ share?: boolean;
|
|
|
+ single?: boolean;
|
|
|
+ static: string;
|
|
|
+ token?: string;
|
|
|
|
|
|
-export type Params = {
|
|
|
- caseId: number,
|
|
|
- baseURL?: string,
|
|
|
- modelId?: string,
|
|
|
- fileUrl?: string
|
|
|
- sign?: string
|
|
|
- type?: string
|
|
|
- testMap?: boolean
|
|
|
- title?: string
|
|
|
- m?: string
|
|
|
- share?: boolean,
|
|
|
- single?: boolean
|
|
|
- token?: string
|
|
|
-}
|
|
|
+ servicePort: string;
|
|
|
+ laserServicePort: string;
|
|
|
+};
|
|
|
|
|
|
-export const baseURL = params.baseURL ? params.baseURL : ''
|
|
|
+export const baseURL = params.baseURL ? params.baseURL : "";
|
|
|
|
|
|
export const getResource = (uri: string) => {
|
|
|
- if (~uri.indexOf('base64') || ~uri.indexOf('bolb') || ~uri.indexOf('//')) return uri
|
|
|
+ if (~uri.indexOf("base64") || ~uri.indexOf("bolb") || ~uri.indexOf("//"))
|
|
|
+ return uri;
|
|
|
|
|
|
- if (uri[0] === '/') {
|
|
|
- return `${baseURL}${uri}`
|
|
|
+ if (uri[0] === "/") {
|
|
|
+ return `${baseURL}${uri}`;
|
|
|
} else {
|
|
|
- return `${baseURL}/${uri}`
|
|
|
+ return `${baseURL}/${uri}`;
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
+// /fusion
|
|
|
+
|
|
|
+if (import.meta.env.DEV) {
|
|
|
+ // params.ip = "http://192.168.0.62";
|
|
|
+ // params.static = "/profile";
|
|
|
+ // params.laserServicePort = "9008";
|
|
|
+ // params.servicePort = "8808";
|
|
|
+} else {
|
|
|
+ params.ip = params.ip || "";
|
|
|
+ params.static = params.static || "";
|
|
|
+ params.laserServicePort = params.laserServicePort || "";
|
|
|
+ params.servicePort = params.servicePort || "";
|
|
|
+}
|
|
|
+
|
|
|
+const ip = params.ip + ":";
|
|
|
+params.root = `${ip}${params.laserServicePort}`;
|
|
|
+params.ossRoot = `${ip}${params.laserServicePort}${params.static}`;
|
|
|
+params.serviceUrl = `${ip}${params.servicePort}/fusion`;
|
|
|
+params.laserRoot = params.root;
|
|
|
+
|
|
|
+// params.laserOSSRoot = 'asd/'
|
|
|
+
|
|
|
+params.serviceUrl = "/fusion";
|
|
|
+export let namespace = params.serviceUrl;
|
|
|
+
|
|
|
+export const getResources = (uri: string) => {
|
|
|
+ uri = uri.replaceAll("\\", "/");
|
|
|
+ uri = uri.replaceAll("\\", "/");
|
|
|
+ uri = uri.replaceAll("\\", "/");
|
|
|
+ uri = uri.replaceAll("\\", "/");
|
|
|
+ uri = uri.replaceAll("\\", "/");
|
|
|
+ uri = uri.replaceAll("\\", "/");
|
|
|
+ if (
|
|
|
+ !params.ossRoot ||
|
|
|
+ ~uri.indexOf("base64") ||
|
|
|
+ ~uri.indexOf("bolb") ||
|
|
|
+ ~uri.indexOf("//")
|
|
|
+ )
|
|
|
+ return uri;
|
|
|
+
|
|
|
+ const root =
|
|
|
+ uri.indexOf(params.static.substring(1)) === 0 ||
|
|
|
+ uri.indexOf(params.static) === 0
|
|
|
+ ? `${ip}${params.laserServicePort}`
|
|
|
+ : params.ossRoot;
|
|
|
+ const baseURL = new URL(root);
|
|
|
+ const url = new URL(uri, root);
|
|
|
+ console.log(root, uri);
|
|
|
+ const basePath =
|
|
|
+ baseURL.pathname[baseURL.pathname.length - 1] === "/"
|
|
|
+ ? baseURL.pathname.substring(0, baseURL.pathname.length - 1)
|
|
|
+ : baseURL.pathname;
|
|
|
+ url.pathname = basePath + url.pathname;
|
|
|
+ return url.href;
|
|
|
+};
|