123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <template>
- <div v-if="show" class="user-tips-overlay">
- <img
- :src="
- metadata.appIcon ||
- require('@/assets/images/default/show/img_tipsmb_default.png')
- "
- alt=""
- />
- </div>
- </template>
- <script setup>
- import { onMounted, watch, computed, ref, nextTick } from "vue";
- import { useApp } from "@/app";
- import { useStore } from "vuex";
- const store = useStore();
- const metadata = computed(() => store.getters["scene/metadata"]);
- const currentScene = computed(() => store.getters["scene/currentScene"]);
- const show = ref(false);
- const isPano = computed(() => currentScene.value.type === "pano");
- useApp().then((app) => {
- app.Scene.on("sceneReady", () => {
- console.log(metadata.value.isRemind);
- let locoR = "localRemind" + metadata.value.id;
- if (metadata.value.isRemind && isPano.value) {
- show.value =
- localStorage.getItem(locoR) == 1 ? false : !!metadata.value.remindTime;
- localStorage.setItem(locoR, 1);
- } else {
- if (metadata.value.remindTime && isPano.value) {
- show.value = true;
- }
- localStorage.setItem(locoR, 0);
- }
- if (show.value) {
- setTimeout(() => {
- show.value = false;
- }, (metadata.value.remindTime || 3) * 1000);
- }
- });
- });
- </script>
- <style lang="scss" scoped>
- .user-tips-overlay {
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- transition: display 0.3s ease;
- > img {
- max-width: 136px;
- }
- }
- </style>
|