浏览代码

bug fix: 改为本地化部署后有一坨链接要改

任一存 2 年之前
父节点
当前提交
4d7c3a6ca5
共有 5 个文件被更改,包括 46 次插入2 次删除
  1. 1 1
      .env.local
  2. 1 1
      package.json
  3. 9 0
      src/api.js
  4. 8 0
      src/components/HotspotDetail.vue
  5. 27 0
      src/utils.js

+ 1 - 1
.env.local

@@ -10,7 +10,7 @@ VUE_APP_SWKK_PATH=${ORIGIN}/YHT/Swkk/hotData/
 VUE_APP_SWKK_HOTSPOT_VIDEO_AUDIO_PATH=${ORIGIN}${PUBLIC_PATH}scene_view_data/
 # 全景图xml文件链接
 VUE_APP_QJKK_XML_FILE_PATH=${ORIGIN}/YHT/Qjkk/local/pano/
-# 文物赏析里文物三维模型链接   本地pc版是404,所以待定!!!
+# 文物赏析里文物三维模型链接
 VUE_APP_RELICS_MODEL_PATH=${ORIGIN}/
 # 文物赏析里2维文物图片、3维文物封面图片链接
 VUE_APP_CDN_PATH=${ORIGIN}/YHT/goodsData/

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "yuhuatai-mobile",
-  "version": "0.3.20230106.1440",
+  "version": "0.3.20230818.1548",
   "private": true,
   "scripts": {
     "serve": "vue-cli-service serve --mode dev",

+ 9 - 0
src/api.js

@@ -1,5 +1,6 @@
 import axios from "axios"
 import { goodsData as rawData } from "@/assets/data/data.js"
+import { deepProcess } from "@/utils.js"
 
 function _like() {
   return axios({
@@ -38,6 +39,14 @@ export default {
       url: `${process.env.VUE_APP_CDN_PATH_QJKK_SOME_DATA}?_=${Math.random()}`,
     })
     console.log('fetch pano data: ', res.data)
+
+    function changeSubStr(str) {
+      return str.replace('https://4dkk.4dage.com/720yun_fd_manage/image/', `${process.env.VUE_APP_QJKK_XML_FILE_PATH}images/`)
+    }
+    if (process.env.VUE_APP_CLI_MODE === 'local') {
+      deepProcess(res, changeSubStr)
+    }
+
     return res.data
   },
   // type: straw(手稿)   book(书刊)   tool(用具)  clothing(服装) Italy(油画)

+ 8 - 0
src/components/HotspotDetail.vue

@@ -302,6 +302,7 @@ import Audio from "@/components/Audio.vue"
 import MyDesc from "@/components/HotspotDetailDesc.vue"
 import { hotData as hotspotDataListFromLocal } from "@/assets/data/swkkHotspotData.js"
 import HotspotDetailImgList from "@/components/HotspotDetailImgList"
+import { deepProcess } from "@/utils.js"
 
 export default {
   components: {
@@ -420,6 +421,13 @@ export default {
         }
       }
 
+      function changeSubStr(str) {
+        return str.replace('https://4dscene.4dage.com/culturalrelics/', process.env.VUE_APP_RELICS_MODEL_PATH)
+      }
+      if (process.env.VUE_APP_CLI_MODE === 'local') {
+        deepProcess(ret, changeSubStr)
+      }
+
       const hotspotDataFromLocal = hotspotDataListFromLocal.find((item) => {
         return item.hotId === this.id
       })

+ 27 - 0
src/utils.js

@@ -282,4 +282,31 @@ export class MessageCenter {
       })
     }
   }
+}
+
+export function deepProcess(obj, detailWork) {
+  if (obj === null || obj === undefined) {
+    return
+  }
+
+  if (Array.isArray(obj)) {
+    for (let index = 0; index < obj.length; index++) {
+      const element = obj[index]
+      if (typeof element === 'string') {
+        obj[index] = detailWork(element)
+      } else if (typeof element === 'object') {
+        deepProcess(element, detailWork)
+      }
+    }
+  } else if (typeof obj === 'object') {
+    for (const key in obj) {
+      if (Object.hasOwnProperty.call(obj, key)) {
+        if (typeof obj[key] === 'string') {
+          obj[key] = detailWork(obj[key])
+        } else if (typeof obj[key] === 'object') {
+          deepProcess(obj[key], detailWork)
+        }
+      }
+    }
+  }
 }