|
@@ -1,13 +1,13 @@
|
|
<template>
|
|
<template>
|
|
<div class="panel" :class="{ show }">
|
|
<div class="panel" :class="{ show }">
|
|
- <span class="icon" @click="playing ? pause() : play()" v-if="existsGuide">
|
|
|
|
|
|
+ <span class="icon" @click="handlePlayTours" v-if="hasTours">
|
|
<Icon type="play" />
|
|
<Icon type="play" />
|
|
</span>
|
|
</span>
|
|
<span class="icon" @click="showScenes = !showScenes">
|
|
<span class="icon" @click="showScenes = !showScenes">
|
|
<Icon type="scene" />
|
|
<Icon type="scene" />
|
|
</span>
|
|
</span>
|
|
<span class="ctrl" :class="{ show }" @click="show = !show">
|
|
<span class="ctrl" :class="{ show }" @click="show = !show">
|
|
- <Icon type="arrows@2x" />
|
|
|
|
|
|
+ <Icon type="arrows" />
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<SceneList
|
|
<SceneList
|
|
@@ -22,48 +22,23 @@ import SceneList from "/@/components/chatRoom/sceneList.vue";
|
|
//import { useMusicPlayer } from "@/utils/sound";
|
|
//import { useMusicPlayer } from "@/utils/sound";
|
|
// import { changeScene } from "@/store/room";
|
|
// import { changeScene } from "@/store/room";
|
|
import Icon from "/@/components/basic/icon/index.vue";
|
|
import Icon from "/@/components/basic/icon/index.vue";
|
|
-import { ref, onUnmounted, onMounted } from "vue";
|
|
|
|
-import { useApp } from "/@/hooks/userApp";
|
|
|
|
|
|
+import { ref, unref } from "vue";
|
|
|
|
|
|
-const show = ref(false);
|
|
|
|
-// const app = getApp();
|
|
|
|
-const playing = ref(false);
|
|
|
|
-const existsGuide = ref(false);
|
|
|
|
-const showScenes = ref(false);
|
|
|
|
|
|
+import { useTourPlayer } from "/@/hooks/userTourPlayer";
|
|
|
|
|
|
-onMounted(async () => {
|
|
|
|
- const app = await useApp();
|
|
|
|
- app.use("TourPlayer").then((player) => {
|
|
|
|
- console.log("===>", player);
|
|
|
|
- player.on("play", ({ partId, frameId }) => (playing.value = true));
|
|
|
|
- player.on("pause", ({ partId, frameId }) => (playing.value = false));
|
|
|
|
- player.on("end", () => {
|
|
|
|
- playing.value = false;
|
|
|
|
- });
|
|
|
|
- });
|
|
|
|
|
|
+const show = ref(false);
|
|
|
|
|
|
- // 需要双向绑定时,重新设置数据
|
|
|
|
- app.TourManager.on("loaded", (tours) => {
|
|
|
|
- existsGuide.value = !!tours.length;
|
|
|
|
- });
|
|
|
|
|
|
+const showScenes = ref(false);
|
|
|
|
+const { hasTours } = useTourPlayer();
|
|
|
|
|
|
- const play = async () => {
|
|
|
|
- const player = await app.TourManager.player;
|
|
|
|
|
|
+function handlePlayTours() {
|
|
|
|
+ const { player, playing } = useTourPlayer();
|
|
|
|
+ if (!unref(playing)) {
|
|
player.play();
|
|
player.play();
|
|
- };
|
|
|
|
-
|
|
|
|
- const pause = async () => {
|
|
|
|
- const player = await app.TourManager.player;
|
|
|
|
|
|
+ } else {
|
|
player.pause();
|
|
player.pause();
|
|
- };
|
|
|
|
-});
|
|
|
|
-
|
|
|
|
-// const timeout = setTimeout(() => {
|
|
|
|
-// const a = useMusicPlayer()
|
|
|
|
-
|
|
|
|
-// }, 2000)
|
|
|
|
-
|
|
|
|
-// onUnmounted(() => clearTimeout(timeout))
|
|
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
|
|
const changeScene = () => {};
|
|
const changeScene = () => {};
|
|
</script>
|
|
</script>
|