|
@@ -3,7 +3,13 @@ import { onMounted, ref, h } from "vue";
|
|
import { createApp } from "/@/hooks/userApp";
|
|
import { createApp } from "/@/hooks/userApp";
|
|
import tagView from "/@/components/custom/tagView.vue";
|
|
import tagView from "/@/components/custom/tagView.vue";
|
|
import LoadingLogo from "/@/components/basic/loading.vue";
|
|
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";
|
|
|
|
+const sceneStore = useSceneStore();
|
|
|
|
+
|
|
const scene$ = ref<HTMLElement | null>(null);
|
|
const scene$ = ref<HTMLElement | null>(null);
|
|
|
|
+const refMiniMap = ref<HTMLElement | null>(null);
|
|
const show = ref(false);
|
|
const show = ref(false);
|
|
onMounted(async () => {
|
|
onMounted(async () => {
|
|
const app = await createApp({
|
|
const app = await createApp({
|
|
@@ -11,7 +17,7 @@ onMounted(async () => {
|
|
num: "KK-t-KwmO6julDh",
|
|
num: "KK-t-KwmO6julDh",
|
|
mobile: true,
|
|
mobile: true,
|
|
});
|
|
});
|
|
- console.log("app", app);
|
|
|
|
|
|
+
|
|
app.use("MinMap", { theme: { camera_fillStyle: "#ED5D18" } });
|
|
app.use("MinMap", { theme: { camera_fillStyle: "#ED5D18" } });
|
|
app.use("Tag");
|
|
app.use("Tag");
|
|
app.use("TourPlayer");
|
|
app.use("TourPlayer");
|
|
@@ -33,14 +39,22 @@ onMounted(async () => {
|
|
app.Scene.on("ready", () => {
|
|
app.Scene.on("ready", () => {
|
|
show.value = true;
|
|
show.value = true;
|
|
});
|
|
});
|
|
- app.store.on("metadata", (metadata) => {
|
|
|
|
- console.log("metadata", metadata);
|
|
|
|
|
|
+ app.store.on("metadata", (metadata: KankanMetaDataType) => {
|
|
|
|
+ // console.log("metadata", JSON.stringify(metadata));
|
|
|
|
+ sceneStore.load(metadata);
|
|
// store.commit("scene/load", metadata);
|
|
// store.commit("scene/load", metadata);
|
|
- // if (!metadata.controls.showMap) {
|
|
|
|
- // app.MinMap.hide(true);
|
|
|
|
- // }
|
|
|
|
|
|
+ if (!metadata.controls.showMap) {
|
|
|
|
+ app.MinMap.hide(true);
|
|
|
|
+ }
|
|
// dataLoaded.value = true;
|
|
// dataLoaded.value = true;
|
|
});
|
|
});
|
|
|
|
+ app.store.on("floorcad", (floor) => {
|
|
|
|
+ if (floor?.floors as FloorsType[]) {
|
|
|
|
+ sceneStore.loadFloorData(floor.floors);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ // store.commit("scene/loadFloorData", floor)
|
|
});
|
|
});
|
|
</script>
|
|
</script>
|
|
|
|
|
|
@@ -48,6 +62,9 @@ onMounted(async () => {
|
|
<LoadingLogo :thumb="true" />
|
|
<LoadingLogo :thumb="true" />
|
|
<div class="ui-view-layout" :class="{ show: show }">
|
|
<div class="ui-view-layout" :class="{ show: show }">
|
|
<div class="scene" ref="scene$"></div>
|
|
<div class="scene" ref="scene$"></div>
|
|
|
|
+ <!-- 小地图 start -->
|
|
|
|
+ <MiniMap :to="refMiniMap" @change-mode="" />
|
|
|
|
+ <!-- 小地图 end -->
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|