jinx hace 8 meses
padre
commit
0b6de34ba4

+ 1 - 0
package.json

@@ -16,6 +16,7 @@
     "view:serve": "pnpm --filter @qjkankan/view run serve",
     "view:build-testprod": "pnpm --filter @qjkankan/view run build-testprod",
     "kankan-view:serve": "pnpm --filter @qjkankan/kankan-view run serve",
+    "serve": "npm-run-all --parallel edit:test-serve view:serve",
     "kankan-view:build-testprod": "pnpm --filter @qjkankan/kankan-view run build-testprod"
   },
   "dependencies": {

+ 1 - 1
packages/qjkankan-editor/src/views/hotspot/EditPanel.vue

@@ -471,7 +471,7 @@ export default {
 
   methods: {
     handleEditHotspot(data) {
-      console.error("handleEditHotspot");
+      console.error("handleEditHotspot",data);
       const krpano = document.getElementById("krpanoSWFObject");
       __krfn.utils.edithotspot(krpano, data);
     },

+ 2 - 0
packages/qjkankan-editor/src/views/hotspot/HotSpotList.vue

@@ -366,6 +366,8 @@ export default {
           hyperlink: "",
           textarea: "",
           image: [], // 热点类型为图片时,图片列表
+          video: null,
+          audio: null,
           imageTextInfo: {
             // 热点类型为图文时,图文内容
             imageList: [],

+ 2 - 1
packages/qjkankan-editor/src/views/hotspot/hotspotType/article.vue

@@ -31,7 +31,8 @@ export default {
   },
   computed: {
     ...mapGetters({
-      hotspot: 'hotspot',
+      // hotspot: 'hotspot',
+      hotspot: "hotspot/hotspot",
     }),
   },
   methods: {

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 7 - 0
packages/qjkankan-view/public/showviewer/lib/krpano/js/krpano.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 5 - 0
packages/qjkankan-view/public/showviewer/lib/krpano/plugins/webvr1.21.js


+ 3 - 1
packages/qjkankan-view/src/components/UIGather/index.vue

@@ -1,7 +1,7 @@
 <template>
       <Logo />
       <Tips />
-      <div v-show="showUI">
+      <div v-show="showUI && !hideNav">
             <Control />
             <Menu v-if="fdkkCurrentVersion == 'V4'" />
             <div @click="onIsShowList" v-else
@@ -25,6 +25,8 @@ import Menu from "./menu";
 import { ref, onMounted, computed, watch, nextTick } from "vue";
 import { useStore } from "vuex";
 import { useApp, getApp } from "@/app";
+import browser from "@/utils/browser";
+
 
 const store = useStore();
 

+ 17 - 5
packages/qjkankan-view/src/pages/show.vue

@@ -16,6 +16,16 @@
 </template>
 
 <script setup>
+import { debounce } from "lodash";
+
+const _ = window.ResizeObserver;
+window.ResizeObserver = class ResizeObserver extends _ {
+  constructor(callback) {
+    callback = debounce(callback, 100);
+    super(callback);
+  }
+};
+
 import Pano from "@/components/Pano";
 import Tags from "@/components/assembly/Tags";
 import Password from "@/components/assembly/Password";
@@ -136,7 +146,7 @@ onMounted(async () => {
 
     store.dispatch("audio/initNormalBGM", data.workBackgroundMusic ? data.workBackgroundMusic.ossPath : "");
     store.commit("scene/setCurrentScene", currentSceneData);
-    console.error(currentSceneData)
+    console.error(currentSceneData);
     let activeScene = null;
     navigationTrees.forEach((item, index) => {
       activeScene = item.children.find((pano) => pano.id == currentSceneData.id);
@@ -204,7 +214,7 @@ onMounted(async () => {
 
     let isHavePano = scenes.some((item) => item.type == "pano");
 
-    let currnetVisual = workVisualAngleList.forEach((item) => item.navigationId == currentScene.value.id);
+    let currnetVisual = workVisualAngleList.find((item) => item.navigationId == currentScene.value.id);
     // if (!currnetVisual) {
     //   currnetVisual = {
     //     hlookat: 0,
@@ -289,7 +299,7 @@ onMounted(async () => {
             app.Tags.initHotspot(currentHotspots, false);
           }
           // app.Tags.initHotspot(hotspots, false);
-          handleVisualLimit(app, currentScene.value);
+          handleVisualLimit(app, currentScene.value, workVisualAngleList);
         });
       }
 
@@ -301,10 +311,12 @@ onMounted(async () => {
 const handlePass = () => {
   hasPasswordLock.value = false;
 };
-const handleVisualLimit = (app, currentScene) => {
-  let currnetVisual = workVisualAngleList.forEach((item) => item.navigationId == currentScene.value.id);
+const handleVisualLimit = (app, currentScene, workVisualAngleList) => {
+  let currnetVisual = workVisualAngleList.find((item) => item.navigationId == currentScene.id);
   // const { vlookatmax, vlookatmin } = currentScene.initVisual;
   // console.log('initVisual',currentScene.initVisual)
+  console.error("视角", currnetVisual.vlookatmin, currnetVisual.vlookatmax);
+
   app.krpanoDom.set(`view.limitview`, "lookat");
   app.krpanoDom.set(`view.vlookatmin`, currnetVisual.vlookatmin || -90);
   app.krpanoDom.set(`view.vlookatmax`, currnetVisual.vlookatmax || 90);

+ 5 - 2
packages/qjkankan-view/src/pages/showMobile.vue

@@ -53,7 +53,7 @@ const currentScene = computed(() => store.getters["scene/currentScene"]);
 const currentCatalogRoot = computed(() => store.getters["scene/currentCatalogRoot"]);
 
 const isAutoRotate = computed(() => store.getters["functions/isAutoRotate"]);
-
+const hotspots = computed(() => store.getters["tags/hotspots"]);
 const earthMask = computed(() => store.getters["scene/earthMask"]);
 const skyMask = computed(() => store.getters["scene/skyMask"]);
 const isShowOpeningAnimation = ref(0);
@@ -204,7 +204,7 @@ onMounted(async () => {
     show.value = true;
 
     let isHavePano = scenes.some((item) => item.type == "pano");
-    let currnetVisual = workVisualAngleList.forEach((item) => item.navigationId == currentScene.value.id);
+    let currnetVisual = workVisualAngleList.find((item) => item.navigationId == currentScene.value.id);
 
     document.body.setAttribute("is-mobile", true);
 
@@ -226,6 +226,7 @@ onMounted(async () => {
       },
       passQueryParameters: true,
     });
+
     if (app) {
       coverInfo.value = data.workCoverType || {};
       app.Scene.lock();
@@ -243,6 +244,7 @@ onMounted(async () => {
             handleMasksUpdate(sky, earth, app);
             app.krpanoDom.set(`layer[webvr_exitbutton].html`, t("common.exit_vr"));
           }
+          console.error("sceneReady");
 
           // let hotspots = [];
           // if (currentScene.value.someData) {
@@ -250,6 +252,7 @@ onMounted(async () => {
           // }
 
           let currentHotspots = hotspots.value.filter((item) => item.navigationId == currentScene.value.id);
+          console.error("currentHotspots", currentHotspots);
           if (currentHotspots.length) {
             app.Tags.initHotspot(currentHotspots, false);
           }

+ 2 - 2
packages/qjkankan-view/vue.config.js

@@ -18,8 +18,8 @@ module.exports = defineConfig({
     },
   },
   devServer: {
-    // port: 443,
-    // https: true,
+    port: 443,
+    https: true,
     headers: {
       "Cache-Control": "no-store",
     },