|
@@ -7,6 +7,10 @@
|
|
|
<div class="members"></div>
|
|
|
<span>{{ members.length }}{{ t('base.view') }}</span>
|
|
|
</div>
|
|
|
+
|
|
|
+ <div class="room_valid" v-if="isPanoramaMode && roomCounter > 0 && isNativeLeader">
|
|
|
+ <span>{{ dayjs.duration(roomCounter, 'seconds').format('mm:ss') }}</span>
|
|
|
+ </div>
|
|
|
<!-- 当前人数 end -->
|
|
|
<!-- 控制条 start -->
|
|
|
<div class="controlBar" v-if="!showInput">
|
|
@@ -150,6 +154,9 @@
|
|
|
import { useAppStore } from '/@/store/modules/app';
|
|
|
import { useI18n } from '/@/hooks/useI18n';
|
|
|
import { useLocale } from '/@/locales/useLocale';
|
|
|
+ import dayjs from 'dayjs';
|
|
|
+ import duration from 'dayjs/plugin/duration';
|
|
|
+ dayjs.extend(duration);
|
|
|
// hook
|
|
|
const { isDrawing, setDraw, setCloseDraw } = useDraw();
|
|
|
const { initialRoom } = useRoom();
|
|
@@ -180,10 +187,14 @@
|
|
|
const remoteStreams = computed(() => rtcStore.remoteStreams);
|
|
|
const currentSession = computed(() => rtcStore.currentSession);
|
|
|
const isPanoramaMode = computed(() => appStore.mode === 'panorama');
|
|
|
+
|
|
|
const shareLink = ref<string>('');
|
|
|
const showCloseDialog = ref(false);
|
|
|
const showCreateNameDialog = ref(false);
|
|
|
+ const roomTTL = computed(() => appStore.ttl);
|
|
|
|
|
|
+ let roomCounter = ref(-1);
|
|
|
+ let roomCount: NodeJS.Timeout;
|
|
|
const { t } = useI18n();
|
|
|
const { sceneList } = useRoom();
|
|
|
|
|
@@ -198,6 +209,22 @@
|
|
|
},
|
|
|
{ deep: true, immediate: true },
|
|
|
);
|
|
|
+ watch(
|
|
|
+ () => roomTTL,
|
|
|
+ (val) => {
|
|
|
+ console.log('ttl', unref(val));
|
|
|
+ if (!roomCount && unref(val) > 0) {
|
|
|
+ roomCounter.value = unref(val);
|
|
|
+ roomCount = setInterval(() => {
|
|
|
+ roomCounter.value = roomCounter.value - 1;
|
|
|
+ if (unref(roomCounter) < 0) {
|
|
|
+ clearInterval(roomCount);
|
|
|
+ }
|
|
|
+ }, 1000);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ { immediate: true, deep: true },
|
|
|
+ );
|
|
|
//设置socket 参数
|
|
|
const startJoin = (callback?: () => void) => {
|
|
|
consola.info({
|