|
@@ -1,7 +1,8 @@
|
|
|
<script setup lang="ts">
|
|
|
- import { onMounted, ref, h, computed, unref, watchEffect } from 'vue';
|
|
|
+ import { onMounted, ref, computed, unref, watchEffect } from 'vue';
|
|
|
import { createApp } from '/@/hooks/userApp';
|
|
|
- import tagView from '/@/components/custom/tagView.vue';
|
|
|
+ // import tagView from '/@/components/custom/tagView.vue';
|
|
|
+ // import tag from '/@/components/custom/tag.vue';
|
|
|
import LoadingLogo from '/@/components/basic/loading.vue';
|
|
|
import MiniMap from '/@/components/basic/miniMap.vue';
|
|
|
import FloorplanView from '/@/components/basic/floorplan.vue';
|
|
@@ -17,11 +18,13 @@
|
|
|
// import { useRtcStore } from './store/modules/rtc';
|
|
|
import { useTourPlayer } from './hooks/userTourPlayer';
|
|
|
import { KankanMetaDataType } from '/#/sdk';
|
|
|
- import Dialog from '/@/components/basic/dialog';
|
|
|
+ // import Dialog from '/@/components/basic/dialog';
|
|
|
+ import { useRtcStore } from './store/modules/rtc';
|
|
|
const { createTourPlayer } = useTourPlayer();
|
|
|
|
|
|
const sceneStore = useSceneStore();
|
|
|
const appStore = useAppStore();
|
|
|
+ const rtcStore = useRtcStore();
|
|
|
// const rtcStore = useRtcStore();
|
|
|
const dataLoaded = ref(false);
|
|
|
const scene$ = ref<Nullable<HTMLElement>>(null);
|
|
@@ -66,19 +69,54 @@
|
|
|
|
|
|
createTourPlayer();
|
|
|
|
|
|
- app.use('TagView', {
|
|
|
- render(data) {
|
|
|
- if (data.media['image'] && data.media['image'].length) {
|
|
|
- return h(tagView, {
|
|
|
- sid: data.sid,
|
|
|
- url: app.resource.getUserResourceURL(data.media['image'][0].src),
|
|
|
- content: data.content,
|
|
|
- title: data.title,
|
|
|
- });
|
|
|
- }
|
|
|
- return `<span class="tag-icon animate" style="display:none"></span>`;
|
|
|
- },
|
|
|
- });
|
|
|
+ app
|
|
|
+ .use('TagView', {
|
|
|
+ render(data) {
|
|
|
+ // console.log('tagView', data);
|
|
|
+ if (data.media['image'] && data.media['image'].length) {
|
|
|
+ // console.log('tagView-1', data);
|
|
|
+ // return h(tagView, {
|
|
|
+ // sid: data.sid,
|
|
|
+ // url: app.resource.getUserResourceURL(data.media['image'][0].src),
|
|
|
+ // content: data.content,
|
|
|
+ // title: data.title,
|
|
|
+ // });
|
|
|
+ }
|
|
|
+ // console.log('render', render);
|
|
|
+ // return `<span class="tag-icon animate" style="background-image:url({{icon}})"></span>`;
|
|
|
+ // return
|
|
|
+ return `<span class="tag-icon animate" style="display:none"></span>`;
|
|
|
+ },
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ // const openTags = (tag) => {
|
|
|
+ // let item = tags.value.find((item) => item.sid == el.data.sid);
|
|
|
+ // guideclicktag(item);
|
|
|
+ // store.commit('tag/setTagClickType', {
|
|
|
+ // type: 'goodlist',
|
|
|
+ // data: item,
|
|
|
+ // });
|
|
|
+ // };
|
|
|
+ // view.on('rendered', (_) => {
|
|
|
+ // view.on('click', async (e) => {
|
|
|
+ // var tag = e.data;
|
|
|
+ // 聚焦當前點擊的熱點
|
|
|
+ // debugger;
|
|
|
+ // await view.focus(tag.sid);
|
|
|
+ // });
|
|
|
+ // view.on('focus', (e) => {
|
|
|
+ // if (!e.data.media['image'] || !e.data.media['image'].length) {
|
|
|
+ // return;
|
|
|
+ // }
|
|
|
+ // document.querySelectorAll('[xui_tags_view] >div').forEach((el) => {
|
|
|
+ // el.querySelector('.tag-body').classList.remove('show');
|
|
|
+ // el.style.zIndex = 'auto';
|
|
|
+ // });
|
|
|
+ // e.target.style.zIndex = '999';
|
|
|
+ // e.target.querySelector('.tag-body').classList.add('show');
|
|
|
+ // });
|
|
|
+ // }); //dom渲染完成
|
|
|
+ });
|
|
|
app.render();
|
|
|
// SDK初始化结束
|
|
|
// 暂时isTours url frag 做为 1自由观看模式与带看模式0
|
|
@@ -136,18 +174,55 @@
|
|
|
appStore.setFloorId(targetPano.id);
|
|
|
});
|
|
|
app.Scene.on('error', (data) => {
|
|
|
+ console.log('当前错误code', data.code);
|
|
|
switch (data.code) {
|
|
|
case 5033:
|
|
|
- Dialog.alert('该场景正在计算中,请稍后再试');
|
|
|
+ // Dialog.alert('该场景正在计算中,请稍后再试');
|
|
|
+ rtcStore.showBaseDialog(
|
|
|
+ {
|
|
|
+ title: '温馨提示',
|
|
|
+ desc: '该场景正在计算中,请稍后再试',
|
|
|
+ okTxt: '确定',
|
|
|
+ closeTxt: '取消',
|
|
|
+ },
|
|
|
+ () => {},
|
|
|
+ );
|
|
|
break;
|
|
|
case 5034:
|
|
|
- Dialog.alert('服务端开小差,请稍后再试');
|
|
|
+ // Dialog.alert('服务端开小差,请稍后再试');
|
|
|
+ rtcStore.showBaseDialog(
|
|
|
+ {
|
|
|
+ title: '温馨提示',
|
|
|
+ desc: '房间异常,请联系主持人',
|
|
|
+ okTxt: '确定',
|
|
|
+ closeTxt: '取消',
|
|
|
+ },
|
|
|
+ () => {},
|
|
|
+ );
|
|
|
break;
|
|
|
case 5009:
|
|
|
- Dialog.alert('服务端开小差,请稍后再试');
|
|
|
+ // Dialog.alert('服务端开小差,请稍后再试');
|
|
|
+ rtcStore.showBaseDialog(
|
|
|
+ {
|
|
|
+ title: '温馨提示',
|
|
|
+ desc: '房间异常,请联系主持人',
|
|
|
+ okTxt: '确定',
|
|
|
+ closeTxt: '取消',
|
|
|
+ },
|
|
|
+ () => {},
|
|
|
+ );
|
|
|
break;
|
|
|
case 5005:
|
|
|
- Dialog.alert('服务端开小差,请稍后再试');
|
|
|
+ // Dialog.alert('服务端开小差,请稍后再试');
|
|
|
+ rtcStore.showBaseDialog(
|
|
|
+ {
|
|
|
+ title: '温馨提示',
|
|
|
+ desc: '房间异常,请联系主持人',
|
|
|
+ okTxt: '确定',
|
|
|
+ closeTxt: '取消',
|
|
|
+ },
|
|
|
+ () => {},
|
|
|
+ );
|
|
|
break;
|
|
|
}
|
|
|
});
|
|
@@ -174,7 +249,6 @@
|
|
|
<div class="scene" ref="scene$"></div>
|
|
|
<template v-if="dataLoaded">
|
|
|
<!-- 小地图 start -->
|
|
|
- {{ !!unref(refMiniMap) && player.showWidgets }}
|
|
|
<MiniMap
|
|
|
:show="!!unref(refMiniMap) && player.showWidgets"
|
|
|
:show-dollhouse="Boolean(controls.showDollhouse)"
|