Browse Source

修复一些bug

tremble 2 years ago
parent
commit
213d861896

+ 1 - 1
packages/qjkankan-editor/src/utils/request.js

@@ -115,7 +115,7 @@ function getCookie(objname) {
 
 export function getToken() {
   return (
-    browser.urlHasValue("token", true) || localStorage.getItem("token") || getCookie("fdkankantoken") || ""
+     localStorage.getItem("token") || getCookie("fdkankantoken") || ""
   );
 }
 

+ 2 - 1
packages/qjkankan-kankan-view/src/locales/en.json

@@ -57,7 +57,8 @@
     "pano": "Walk<br />Click to move",
     "rotate": "Roam<br />Swipe the screen to roam the screen to roam",
     "zoom": "Zoom<br />Zoom in or out",
-    "set": "Got it"
+    "set": "Got it",
+    "no_scene": "The scene is not found"
   },
   "code": "System is busy, please try again later."
 }

+ 2 - 1
packages/qjkankan-kankan-view/src/locales/zh.json

@@ -58,6 +58,7 @@
     "pano": "行走<br />点击任意方向移动",
     "rotate": "旋转视角<br />左右滑动屏幕,旋转视觉",
     "zoom": "缩放<br />双指滑动放大或缩小视图",
-    "set": "我知道了"
+    "set": "我知道了",
+    "no_scene":"场景不存在"
   }
 }

+ 4 - 1
packages/qjkankan-kankan-view/src/pages/SMG.vue

@@ -246,7 +246,10 @@ onMounted(() => {
         window.location.replace(`/5034.html?m=` + browser.getURLParam("m"));
         break;
       case 5005:
-        window.location.replace(`/mobile.html#/404`);
+        Dialog.toast({
+            content: t('guide.no_scene'),
+            type: 'error',
+        })
         break;
     }
   });

+ 5 - 1
packages/qjkankan-kankan-view/src/pages/SPG.vue

@@ -26,6 +26,7 @@ import Password from '@/components/shared/Password.vue'
 import LoadingLogo from '@/components/shared/Loading.vue'
 import { createApp } from '@/app'
 import { listenMessage } from '@/utils/messageHandler'
+import {Dialog} from '@/global_components'
 
 
 import { ref, onMounted, computed } from 'vue'
@@ -97,7 +98,10 @@ onMounted(() => {
                 window.location.replace(`/5034.html?m=` + browser.getURLParam('m'))
                 break
             case 5005:
-                // window.location.replace(`/#/404`)
+                Dialog.toast({
+                    content: t('guide.no_scene'),
+                    type: 'error',
+                })
                 break
         }
     })

+ 2 - 1
packages/qjkankan-kankan-view/src/pages/smg.js

@@ -10,7 +10,8 @@ import SMG from "./SMG.vue";
 import Checkbrowser from '../components/shared/Checkbrowser.vue'
 import i18n, { getLocale, setI18nLanguage, loadLocaleMessages } from '../i18n'
 let App
-if (browser.detectChrome() || browser.detectSafari() || browser.detectFirefox() || browser.detectEdge() || browser.detectWeixin() || browser.detectWeixinMiniProgram() || browser.detectAlipay()) {
+if (browser.detectChrome() || browser.detectSafari() || browser.detectFirefox() || browser.detectEdge() || browser.detectWeixin() || browser.detectWeixinMiniProgram() || browser.detectAlipay()
+  || browser.detectTT()) {
   App = SMG
 } else {
   App = Checkbrowser

+ 3 - 1
packages/qjkankan-kankan-view/src/pages/spg.js

@@ -11,7 +11,9 @@ import Checkbrowser from '../components/shared/Checkbrowser.vue'
 import i18n, { getLocale, setI18nLanguage, loadLocaleMessages } from '../i18n'
 import { IsApp } from '@/utils/platform'
 let App
-if (browser.detectChrome() || browser.detectSafari() || browser.detectFirefox() || browser.detectEdge() || browser.detectWeixin() || browser.detectWeixinMiniProgram() || browser.detectAlipay()) {
+if (browser.detectChrome() || browser.detectSafari() || browser.detectFirefox() || browser.detectEdge() || browser.detectWeixin() || browser.detectWeixinMiniProgram() || browser.detectAlipay()
+    || browser.detectTT()
+) {
     App = Spg
 } else {
     if (IsApp) {

+ 13 - 0
packages/qjkankan-kankan-view/src/utils/browser.js

@@ -318,6 +318,19 @@ var browser = {
   detectApp: function () {
     return this.urlHasValue("isMiniApp");
   },
+
+  detectAlipay: function () {
+      //阿里系
+      return window.navigator.userAgent.toLowerCase().match(/Alipay/i) == 'alipay'
+  },
+
+  detectTT: function () {
+      //字节跳动 
+      return window.navigator.userAgent
+          .toLowerCase()
+          .includes("toutiaomicroapp");
+  },
+
   /**
    * 判断标签页是否切换状态
    */

+ 20 - 3
packages/qjkankan-view/src/components/Fdkk/index.vue

@@ -14,7 +14,8 @@
 
 
     <iframe allowfullscreen="true" allow="autoplay" :key="currentScene.sceneCode" v-else id="fdkkifr"
-      :src="`${isMobile ? 'smg' : 'spg'}.html?m=${currentScene.sceneCode}&lang=${lang}`" frameborder="0"></iframe>
+      :src="`${isMobile ? 'smg' : 'spg'}.html?m=${currentScene.sceneCode}&lang=${lang}`"
+      frameborder="0"></iframe>
     <!-- :src="`http://192.168.20.66:8080/${isMobile ? 'smg' : 'spg'}.html?m=${currentScene.sceneCode}`" -->
 
 
@@ -88,15 +89,31 @@ const handleMessage = (res) => {
       store.commit('fdkk/setFdkkBGM', params.music)
       if (params.music) {
         // console.log(useMusicPlayer.player,'useMusicPlayer.player');
-        useMusicPlayer.player.watchPlay(true)
         if (isMobile.value) {
+          useMusicPlayer.player.watchPlay()
           if (useMusicPlayer.player.isPlay) {
             setTimeout(() => {
               musicPlayer.play()
             }, 50);
           }
+        } else {
+          useMusicPlayer.player.watchPlay(true)
+        }
+      }
+      //如果无场景音乐,则重置为作品本身音乐
+      else {
+        if (store.getters['scene/musicURL']) {
+          if (isMobile.value) {
+            useMusicPlayer.player.watchPlay()
+            if (useMusicPlayer.player.isPlay) {
+              setTimeout(() => {
+                musicPlayer.play()
+              }, 50);
+            }
+          } else {
+            useMusicPlayer.player.watchPlay(true)
+          }
         }
-
       }
 
       // loading完毕

+ 8 - 1
packages/qjkankan-view/src/components/Pano/index.vue

@@ -58,10 +58,12 @@ watch(currentScene, (newVal, oldVal) => {
   if (newVal.type == 'pano') {
 
     //如果当前背景音乐是v4则重置
+    console.log(store.getters['fdkk/fdkkBGM'])
     if (store.getters['fdkk/fdkkBGM']) {
       store.commit('fdkk/setFdkkBGM', '')
       useMusicPlayer.player.watchPlay(true)
       if (isMobile.value) {
+        console.log(useMusicPlayer.player.isPlay,'useMusicPlayer.player.isPlay');
           if (useMusicPlayer.player.isPlay) {
             setTimeout(() => {
               musicPlayer.play()
@@ -80,6 +82,8 @@ watch(currentScene, (newVal, oldVal) => {
       hadGetInfo.value = true
       if (data.data.isUpgrade != void 0) {
         store.commit("scene/setFdkkCurrentVersion", data.data.isUpgrade !== 0 ? 'v4' : 'v3');
+
+        // v3
         if (data.data.isUpgrade === 0) {
           
           musicPlayer.pauseFromOther = true
@@ -97,8 +101,11 @@ watch(currentScene, (newVal, oldVal) => {
         }
       }
 
+      // else{
+      //   useMusicPlayer.player.watchPlay(true)
+      // }
 
-      // //上一个场景如果是四维看看场景且当前场景是v4 
+      //上一个场景如果是四维看看场景且当前场景是v4 
       // if (oldVal.type == '4dkk' && data.data.isUpgrade !== 0) {
       //   store.commit('fdkk/setFdkkBGM', '')
       //   musicPlayer.pause()

+ 2 - 1
packages/qjkankan-view/src/pages/show.js

@@ -21,7 +21,8 @@ if (
   browser.detectEdge() ||
   browser.detectWeixin() ||
   browser.detectWeixinMiniProgram() ||
-  browser.detectAlipay()
+  browser.detectAlipay() || 
+  browser.detectTT()
 ) {
   App = Show;
 } else {

+ 2 - 1
packages/qjkankan-view/src/pages/showMobile.js

@@ -19,7 +19,8 @@ if (
   browser.detectEdge() ||
   browser.detectWeixin() ||
   browser.detectWeixinMiniProgram() ||
-  browser.detectAlipay()
+  browser.detectAlipay() ||
+  browser.detectTT()
 ) {
   App = ShowMobile;
 } else {

+ 8 - 3
packages/qjkankan-view/src/utils/browser.js

@@ -319,12 +319,17 @@ var browser = {
         return window.navigator.userAgent.match('miniProgram')
     },
     detectAlipay: function () {
-        //微信 包括PC的微信
+        //阿里系
         return window.navigator.userAgent.toLowerCase().match(/Alipay/i) == 'alipay'
     },
-    detectEdge: function () {
-        return window.navigator.userAgent.indexOf('Edge') > -1
+
+    detectTT: function () {
+        //字节跳动 
+        return window.navigator.userAgent
+            .toLowerCase()
+            .includes("toutiaomicroapp");
     },
+
     detectApp: function () {
         return this.urlHasValue('app')
     },

+ 13 - 11
packages/qjkankan-view/src/utils/sound.js

@@ -15,12 +15,14 @@ let CLICKFIRST = false
 
 const retryPlay = player => {
     function onclick() {
-        if (player.pauseFromOther&&!CLICKFIRST) {
+        $player.removeEventListener('click', onclick)
+        $player.removeEventListener('touchstart', onclick)
+
+        //判断是否第一次进入或者是否已点击过
+        if (player.pauseFromOther||CLICKFIRST) {
             return
         }
         CLICKFIRST = true
-        $player.removeEventListener('click', onclick)
-        $player.removeEventListener('touchstart', onclick)
         player.sound.play()
     }
     const $player = document.querySelector('.ui-view-layout')
@@ -169,13 +171,13 @@ class MusicPlayer extends AudioPlayer {
                     html5: false,
                 })
                     .then(() => {
-                        if (browser.detectWeixin()) {
-                            if (typeof parent.WeixinJSBridge !== 'undefined') {
-                                ready()
-                            } else {
-                                parent.document.addEventListener('WeixinJSBridgeReady', ready)
-                            }
-                        } else {
+                        // if (browser.detectWeixin()) {
+                        //     if (typeof parent.WeixinJSBridge !== 'undefined') {
+                        //         ready()
+                        //     } else {
+                        //         parent.document.addEventListener('WeixinJSBridgeReady', ready)
+                        //     }
+                        // } else {
                             if (autoplay) {
                                 setTimeout(() => {
                                     this.play()
@@ -185,7 +187,7 @@ class MusicPlayer extends AudioPlayer {
                                 retryPlay(this)
                             }
                             // ready()
-                        }
+                        // }
 
                     })
                     .catch(err => {

+ 1 - 0
packages/qjkankan-view/vue.config.js

@@ -5,6 +5,7 @@ module.exports = defineConfig({
   transpileDependencies: true,
   lintOnSave: false,
   assetsDir: "showviewer",
+  productionSourceMap: false,
   publicPath: "./",
   pages: {
     show: "src/pages/show.js",