|
@@ -6,10 +6,12 @@ import LoadingLogo from "/@/components/basic/loading.vue";
|
|
|
import MiniMap from "/@/components/basic/miniMap.vue";
|
|
|
import { useSceneStore } from "./store/modules/scene";
|
|
|
import type { FloorsType } from "./store/modules/scene";
|
|
|
+import { useAppStore } from "./store/modules/app";
|
|
|
const sceneStore = useSceneStore();
|
|
|
+const appStore = useAppStore();
|
|
|
|
|
|
const scene$ = ref<HTMLElement | null>(null);
|
|
|
-const refMiniMap = ref<HTMLElement | null>(null);
|
|
|
+const refMiniMap = ref<Nullable<string>>(null);
|
|
|
const show = ref(false);
|
|
|
onMounted(async () => {
|
|
|
const app = await createApp({
|
|
@@ -17,7 +19,7 @@ onMounted(async () => {
|
|
|
num: "KK-t-KwmO6julDh",
|
|
|
mobile: true,
|
|
|
});
|
|
|
-
|
|
|
+ // SDK初始化
|
|
|
app.use("MinMap", { theme: { camera_fillStyle: "#ED5D18" } });
|
|
|
app.use("Tag");
|
|
|
app.use("TourPlayer");
|
|
@@ -36,25 +38,32 @@ onMounted(async () => {
|
|
|
});
|
|
|
app.use("TourPlayer");
|
|
|
app.render();
|
|
|
+ // SDK初始化结束
|
|
|
app.Scene.on("ready", () => {
|
|
|
show.value = true;
|
|
|
});
|
|
|
+ app.Scene.on("loaded", (pano) => {
|
|
|
+ refMiniMap.value = "[xui_min_map]";
|
|
|
+ appStore.setFloorId(pano.floorIndex);
|
|
|
+ // store.commit("setFloorId", pano.floorIndex);
|
|
|
+ // store.commit("rtc/setShowdaogou", true);
|
|
|
+
|
|
|
+ // if (browser.getURLParam("roomId") && browser.getURLParam("vruserId") && browser.getURLParam("name")) {
|
|
|
+ // store.commit("showShoppingguide", true);
|
|
|
+ // }
|
|
|
+ });
|
|
|
app.store.on("metadata", (metadata: KankanMetaDataType) => {
|
|
|
- // console.log("metadata", JSON.stringify(metadata));
|
|
|
sceneStore.load(metadata);
|
|
|
- // store.commit("scene/load", metadata);
|
|
|
if (!metadata.controls.showMap) {
|
|
|
app.MinMap.hide(true);
|
|
|
}
|
|
|
// dataLoaded.value = true;
|
|
|
});
|
|
|
- app.store.on("floorcad", (floor) => {
|
|
|
- if (floor?.floors as FloorsType[]) {
|
|
|
- sceneStore.loadFloorData(floor.floors);
|
|
|
+ app.store.on("floorcad", ({ floors }: { floors: FloorsType[] }) => {
|
|
|
+ if (floors?.length) {
|
|
|
+ sceneStore.loadFloorData(floors);
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
- // store.commit("scene/loadFloorData", floor)
|
|
|
});
|
|
|
</script>
|
|
|
|
|
@@ -63,7 +72,7 @@ onMounted(async () => {
|
|
|
<div class="ui-view-layout" :class="{ show: show }">
|
|
|
<div class="scene" ref="scene$"></div>
|
|
|
<!-- 小地图 start -->
|
|
|
- <MiniMap :to="refMiniMap" @change-mode="" />
|
|
|
+ <MiniMap :show="true" :to="refMiniMap" />
|
|
|
<!-- 小地图 end -->
|
|
|
</div>
|
|
|
</template>
|