tremble 3 лет назад
Родитель
Сommit
2987ae41fd

+ 23 - 0
.env.bendi

@@ -0,0 +1,23 @@
+
+# 场景资源地址
+VUE_APP_RESOURCE_URL=https://4dkk.4dage.com/
+# 静态资源地址
+VUE_APP_CDN_URL=https://4dkk.4dage.com/v4/www/
+# sdk文件地址
+VUE_APP_SDK_DIR=https://eurs3.4dkankan.com/v4/cdfg/sdk-new
+
+# socket地址
+VUE_APP_SOCKET_URL=https://vr-admin.cdfmembers.com/
+
+# 热点地址
+VUE_APP_HOT_URL=https://glp-vr.cdfmembers.com/
+
+# 静态资源目录
+VUE_APP_STATIC_DIR=viewer
+
+# 云存储环境
+VUE_APP_REGION_URL=aws
+
+# 接口请求地址
+VUE_APP_APIS_URL=http://221.4.210.172:18888/
+

+ 1 - 0
package.json

@@ -5,6 +5,7 @@
   "scripts": {
     "serve": "vue-cli-service serve",
     "serve-prod": "vue-cli-service serve --mode prod",
+    "serve-bendi": "vue-cli-service serve --mode bendi",
     "build": "vue-cli-service build --mode prod",
     "lint": "vue-cli-service lint"
   },

+ 16 - 4
src/apis/index.js

@@ -1,5 +1,11 @@
 import { http } from "@/utils/request";
 import browser from "@/utils/browser";
+import store from "@/store";
+
+let deptId = null
+if (store.getters['scene/cdfRegionData']) {
+  deptId = store.getters['scene/cdfRegionData'].deptId
+}
 
 export const get_goods_list = (data) => {
   return http.get("/back/product/list", data);
@@ -10,7 +16,10 @@ export const get_category_list = (data) => {
 };
 
 export const get_shop_list = (data) => {
-  return http.get("/api/getShopByCategory", data);
+  return http.get("/api/getShopByCategory", {
+    ...data,
+    deptId
+  });
 };
 
 export const get_tags_list = (data) => {
@@ -22,6 +31,7 @@ export const get_product_info = (data) => {
 };
 
 export const get_video = (data) => {
+
   return http.get("/api/getVideo", data);
 };
 
@@ -37,15 +47,17 @@ export const getSign = (data) => {
 
 export const burying_point = (data) => {
   let url = encodeURI(window.location.href)
+
   if (browser.getURLParam("AccessToken")) {
     return http.get("/api/point", {
       userId: browser.getURLParam("userId") || 1,
-      AccessToken: browser.getURLParam("AccessToken")||'none',
-      cookieId: browser.getURLParam("cookieId")||'none',
-      isMiniApp: browser.getURLParam("isMiniApp")||'h5',
+      AccessToken: browser.getURLParam("AccessToken") || 'none',
+      cookieId: browser.getURLParam("cookieId") || 'none',
+      isMiniApp: browser.getURLParam("isMiniApp") || 'h5',
       whereUrl: url,
       type: data.type,
       productId: data.productId,
+      deptId
     });
   }
 

+ 1 - 1
src/app.js

@@ -6,7 +6,7 @@ export function createApp(opitons = {}) {
     if (_app) {
         return
     }
-    opitons.region = process.env.VUE_APP_REGION_URL
+    // opitons.region = process.env.VUE_APP_REGION_URL
     opitons.resource = process.env.VUE_APP_RESOURCE_URL
     _num = opitons.num
     _app = new KanKan(opitons)

+ 18 - 19
src/app.vue

@@ -139,10 +139,10 @@ const controls = computed(() => {
 const mode = computed(() => store.getters['mode']);
 const showNavigations = computed(() => store.getters['showNavigations']);
 const scene$ = ref(null);
-const hadVideo = ref(true);
+const hadVideo = ref(false);
 
 if (!Cache.get('HIDENVIDEOEXPIRES')) {
-  if (browser.getURLParam('m') == 'eur-KJ-z5ZEV22AeU' && browser.getURLParam('pose') == 'pano:408,qua:-0.006,0.6299,0.0049,0.7766') {
+  if (browser.getURLParam('m') == 'KK-t-tFPxDTXPif') {
     Cache.set('HIDENVIDEOEXPIRES', 'yes', 60 * 8 * 60);
     hadVideo.value = false;
   } else {
@@ -310,6 +310,12 @@ const guideclicktag = (tag) => {
   return;
 };
 
+const getCurrentHotJson = ()=>{
+  let lang = browser.getURLParam('lang')
+  let jsonname = lang == 'zh_CN'?'hot_eshop_cn':(lang == 'zh_HK'?'hot_eshop_zh':'hot_eshop_en')
+  return `https://4dkk.4dage.com/cdf/hot/${browser.getURLParam('m')}/${jsonname}.json?rnd=${Math.random()}`
+}
+
 onMounted(async () => {
   apis.burying_point({ type: 0 });
 
@@ -349,18 +355,14 @@ onMounted(async () => {
                       </div>
                   `;
         } else if (data.type == 'commodity') {
-          let arr = data.products.map((item) => item.price);
-          let priceMin = isFinite(Math.min.apply(null, arr)) ? Math.min.apply(null, arr) : 0;
-          let priceMax = isFinite(Math.max.apply(null, arr)) ? Math.max.apply(null, arr) : 0;
-          let price = priceMin == priceMax ? priceMax : `${priceMin}-${priceMax}`;
-          let range = `${data.products[0] ? data.products[0].symbol : 'MOP$'} ${price}`;
+      
           return `<span class="tag-icon animate" style="background-image:url({{icon}})"></span>
                       <div class="tag-body">
                         <div data-id="${data.sid}" class="tag-commodity">
                           <div  style="background-image:url(${data.products[0] ? data.products[0].pic : ''})" class='tag-avatar'>
                           </div>
                           <p class="tag-title">${data.title}</p>
-                          <p class="tag-info">${range} | ${t('common.view')} ></p>
+                          <p class="tag-info">${t('common.view')} ></p>
                         </div>
                       </div>
                   `;
@@ -381,11 +383,8 @@ onMounted(async () => {
               }
               document.querySelector(`[data-tag-id="${tag.sid}"] .tag-icon`).style.display = 'none';
               let hotcontent = typeof tag.hotContent == 'string' ? JSON.parse(tag.hotContent) : tag.hotContent;
-              browser.openLink(
-                '/subPackage/pages/activity/activity?pageId=' + hotcontent.couponLink,
-                `https://m.cdfmembers.com/shop/600667208/showactivity?pageId=${hotcontent.couponLink}`,
-                `/pages/showactivity/showactivity?pageId=${hotcontent.couponLink}`
-              );
+              browser.openLink(hotcontent.couponLink)
+
               apis.burying_point({ type: 2 });
             } catch (error) {}
           } else if (tag.type == 'waterfall') {
@@ -400,11 +399,7 @@ onMounted(async () => {
                 return;
               }
               let hotcontent = typeof tag.hotContent == 'string' ? JSON.parse(tag.hotContent) : tag.hotContent;
-              browser.openLink(
-                '/subPackage/pages/home/home?pageType=2&pageId=' + hotcontent.liveLink,
-                `https://m.cdfmembers.com/shop/600667208/showactivity?pageId=${hotcontent.liveLink}`,
-                `/pages/showactivity/showactivity?pageId=${hotcontent.liveLink}`
-              );
+              browser.openLink(hotcontent.liveLink)
             } catch (error) {}
           } else if (tag.type == 'link_scene') {
             guideclicktag(tag);
@@ -448,6 +443,8 @@ onMounted(async () => {
   // if (!hadVideo.value) {
   //   app.Scene.lock();
   // }
+
+
   app.Scene.on('ready', () => {
     show.value = true;
     store.commit('SetPlayerOptions', {
@@ -500,7 +497,8 @@ onMounted(async () => {
       }
     }
 
-    app.resource.tags(`https://glp-vr.cdfmembers.com/cdf/hot/${browser.getURLParam('m')}/hot.json?rnd=${Math.random()}`);
+    // app.resource.tags(`https://glp-vr.cdfmembers.com/cdf/hot/${browser.getURLParam('m')}/hot.json?rnd=${Math.random()}`);
+    app.resource.tags(getCurrentHotJson());
     useMusicPlayer();
   });
   app.Scene.on('panorama.videorenderer.resumerender', () => {
@@ -515,6 +513,7 @@ onMounted(async () => {
   });
   app.store.on('metadata', (metadata) => {
     store.commit('scene/load', metadata);
+    console.log(metadata,'metadatametadatametadata');
     if (!metadata.controls.showMap) {
       app.MinMap.hide(true);
     }

+ 5 - 3
src/components/Information/View.Mobile.vue

@@ -22,7 +22,7 @@
       </div>
     </div>
     <div class="right" :class="{ more: player.showMore }" v-show="player.showWidgets" @click="onShowMore">
-      <img  v-if="false" :src="require(`@/assets/images/icon/${player.lang}.png`)" alt="" />
+      <img  :src="require(`@/assets/images/icon/${player.lang}.png`)" alt="" />
       <keep-alive>
         <transition
           appear
@@ -30,8 +30,7 @@
           enter-active-class="animated fadeInUp short faster"
           leave-active-class="animated fadeOutDown short faster"
         >
-          <!-- <div v-if="player.showMore"> -->
-          <div v-if="false">
+          <div v-if="player.showMore">
             <ul>
               <li @click.stop="onMenuClick('zh_CN')">
                 <img :src="require(`@/assets/images/icon/zh_CN.png`)" alt="" />
@@ -313,6 +312,9 @@ const onMenuClick = (name) => {
       ]);
       console.log(tmp);
       history.replaceState(null, null, tmp);
+      setTimeout(() => {
+        window.location.reload()
+      }, 0);
     });
   });
 };

+ 54 - 174
src/components/Tags/goods-list.vue

@@ -3,8 +3,7 @@
     <div class="goodlist" v-show="tagclick.type == 'goodlist'">
       <div class="head-pages">
         <div>
-          <span>{{ current + 1 }}</span
-          ><span>/{{ tagclick.data.products ? tagclick.data.products.length : "-" }}</span>
+          <span>{{ current + 1 }}</span><span>/{{ tagclick.data.products ? tagclick.data.products.length : "-" }}</span>
         </div>
         <ui-icon @click.stop="close" type="state_f"></ui-icon>
       </div>
@@ -12,56 +11,16 @@
         <ul class="swiper-wrapper">
           <li class="swiper-slide" v-for="(i, index) in tagclick.data.products" :key="index">
             <div>
-              <viewimg :list="i.pics" :keyid="`viewimg_${index + 1}`" />
-
+              <!-- <viewimg :list="[i.pic]" :keyid="`viewimg_${index + 1}`" /> -->
+              <img :src="i.pic" alt="">
               <div class="info">
                 <p>{{ i.name }}</p>
-                <div v-if="i.skus">
-                  <span>{{ i.price[0].symbol }}</span
-                  ><span>{{ i.currentSku.price }}</span>
-                </div>
-                <ul>
-                  <li>
-                    <span>{{$t('common.guige')}}</span>
-                    <ul>
-                      <li @click.stop="onClickSku(item)" :class="{ active: item.id == i.currentSku.id }" v-for="(item, idx) in i.skus" :key="idx">
-                        <span v-if="item.properties[0]">
-                          {{ item.properties[0].value }}
-                        </span>
-                      </li>
-                    </ul>
-                  </li>
-                  <li>
-                    <span>{{$t('common.shuliang')}}</span>
-                    <div class="number">
-                      <ui-icon
-                        @click="
-                          () => {
-                            i.cartnum--;
-                            i.cartnum = Math.max(i.cartnum, 0);
-                          }
-                        "
-                        type="cad-neiqiang"
-                      ></ui-icon>
-                      <input maxlength="5" v-model="i.cartnum" type="number" />
-                      <ui-icon
-                        @click="
-                          () => {
-                            i.cartnum++;
-                            i.cartnum = Math.min(i.cartnum, 9999);
-                          }
-                        "
-                        type="add"
-                      ></ui-icon>
-                    </div>
-                  </li>
-                </ul>
+
               </div>
               <div class="goods-button">
-                <span v-if="i.saleChannel == 1" class="tipss">{{$t('common.onlyOffLine')}}</span>
+                <span v-if="i.saleChannel == 1" class="tipss">{{ $t('common.onlyOffLine') }}</span>
                 <template v-else>
-                  <div @click.stop="viewDetail(i)">{{$t('common.viewDetail')}}</div>
-                  <div @click.stop="addCart(i)">{{$t('common.addCart')}}</div>
+                  <div @click.stop="viewDetail(i)">{{ $t('common.viewDetail') }}</div>
                 </template>
               </div>
             </div>
@@ -102,116 +61,16 @@ const viewDetail = (item) => {
     return;
   }
   apis.burying_point({ type: 3, productId: item.id });
-  browser.openLink(
-    `/pages/item/item?productId=${item.id}`,
-    `https://m.cdfmembers.com/shop/600667208/item?productId=${item.id}`,
-    `/pages/item/item?productId=${item.id}`
-  );
-};
-
-const onClickSku = (item) => {
-  let tempData = toRaw(tagclick.value.data);
 
-  tempData.products[current.value] = {
-    ...tempData.products[current.value],
-    currentSku: { ...item },
-  };
+  browser.openLink(item.url)
 
-  store.commit("tag/setTagClickType", {
-    type: tagclick.value.type,
-    data: tempData,
-  });
 };
 
-const addCart = async (item) => {
-  if (isshoppingguide.value) {
-    return;
-  }
-  Loading.show();
-
-  let result = await apis.inCat({
-    AccessToken: browser.getURLParam("AccessToken"),
-    skuId: item.currentSku.id,
-    num: item.cartnum,
-    rnd: Math.random(),
-  });
-
-  Loading.hide();
-  if (result.code === 0) {
-    apis.burying_point({ type: 7, productId: item.id });
-    return Dialog.toast({ content: t('common.addSuccess'), type: "success" });
-  } else {
-    let callbackUrl = `${window.location.origin}${window.location.pathname}?m=${browser.getURLParam("m")}&${getApp().Camera.getPoseUrlParams()}`;
-
-    if (!browser.hasURLParam("tagid")) {
-      callbackUrl += `&tagid=${tagclick.value.data.sid}`;
-    } else {
-      callbackUrl = browser.replaceQueryString(callbackUrl, "tagid", tagclick.value.data.sid);
-    }
-    console.log(callbackUrl);
-    //  Dialog.toast({ content: `登錄狀態失效,請重新登錄`, type: 'error' })
-    browser.openLink(
-      `/pages/login/login?callbackHttpUrl=${encodeURIComponent(callbackUrl)}`,
-      `https://m.cdfmembers.com/shop/600667208/h5login?redirectUrl=${encodeURIComponent(callbackUrl)}`,
-      `/pages/login/login?callbackHttpUrl=${encodeURIComponent(callbackUrl)}`
-    );
-  }
-};
 
 const close = () => {
   emit("close");
 };
 
-const updateProductsById = async (idx) => {
-  if (!tagclick.value.data.products[idx]) {
-    Dialog.toast({ content: t('common.viewDetailFail'), type: "error" });
-    close();
-    return;
-  }
-  Loading.show();
-  try {
-    let res = await apis.get_product_info({
-      // productId: 'p15677829'
-      productId: tagclick.value.data.products[idx].id,
-    });
-
-    let tempData = toRaw(tagclick.value.data);
-
-    tempData.products[idx] = {
-      ...tempData.products[idx],
-      ...res.data,
-      currentSku: res.data.skus[0] || {
-        price: "",
-        id: "",
-      },
-      cartnum: 1,
-    };
-
-    store.commit("tag/setTagClickType", {
-      type: tagclick.value.type,
-      data: tempData,
-    });
-    Loading.hide();
-  } catch (error) {
-    Loading.hide();
-  }
-};
-
-watch(
-  () => tagclick.value.type,
-  (val, old) => {
-    if (mysw.value) {
-      if (val === "goodlist") {
-        current.value = 0;
-        updateProductsById(current.value);
-      }
-      if (!val) {
-        mysw.value.slideTo(0);
-      }
-    }
-  }
-);
-
 const brandScroll = () => {
   nextTick(() => {
     let t = setTimeout(() => {
@@ -232,13 +91,7 @@ const brandScroll = () => {
           touchMove(swiper, e) {
             e.stopPropagation();
             e.preventDefault();
-          },
-          slideChange() {
-            if (tagclick.value.type) {
-              current.value = this.activeIndex;
-              updateProductsById(current.value);
-            }
-          },
+          }
         },
       });
     }, 100);
@@ -267,84 +120,104 @@ onMounted(() => {
   align-items: center;
   flex-direction: column;
   justify-content: center;
+
   .head-pages {
     display: flex;
     justify-content: space-between;
     align-items: center;
     margin-bottom: 10px;
     width: 76%;
-    > div {
+
+    >div {
       span {
         font-size: 14px;
+
         &:last-of-type {
           color: rgba(255, 255, 255, 0.5);
         }
       }
     }
-    > i {
+
+    >i {
       color: rgba(0, 0, 0, 1);
       font-size: 20px;
     }
   }
+
   #goodlist {
     width: 100%;
     overflow: hidden;
     padding-right: 2px;
     position: relative;
-    > ul {
-      > li {
+
+    >ul {
+      >li {
         width: 76%;
         border-radius: 2px;
         position: relative;
         font-size: 0;
         overflow: hidden;
 
-        > div {
-        background: #fff;
-        padding-bottom: 14px;
+        >div {
+          background: #fff;
+          padding-bottom: 14px;
+
+          >img{
+            width: 100%;
+          }
 
           .info {
             font-size: 14px;
             color: #131d34;
             padding: 16px 20px;
-            > p {
+
+            >p {
               font-size: 16px;
               width: 100%;
               line-height: 1.5;
               word-break: break-all;
             }
-            > div {
+
+            >div {
               color: var(--editor-main-color);
               padding: 8px 0px 10px;
               border-bottom: 1px solid #ebebeb;
-              > span {
+
+              >span {
                 font-size: 16px;
+
                 &:first-of-type {
                   font-size: 12px;
                   margin-right: 4px;
                 }
               }
             }
-            > ul {
+
+            >ul {
               padding: 12px 0;
               border-bottom: 1px solid #ebebeb;
 
-              > li {
+              >li {
                 margin: 10px 0;
                 color: #909090;
+
                 &:last-of-type {
                   display: flex;
                   justify-content: space-between;
                   align-items: center;
                 }
-                > span {
+
+                >span {
                   font-size: 12px;
                 }
-                > ul {
+
+                >ul {
                   display: block;
-                  > li {
+
+                  >li {
                     display: inline-block;
-                    > span {
+
+                    >span {
                       display: inline-block;
                       border: 1px solid #ebebeb;
                       padding: 2px 4px;
@@ -356,22 +229,26 @@ onMounted(() => {
                       border-radius: 4px;
                       font-size: 12px;
                     }
+
                     &.active {
-                      > span {
+                      >span {
                         border: solid 1px var(--editor-main-color);
                         color: var(--editor-main-color);
                       }
                     }
                   }
                 }
+
                 .number {
                   display: flex;
+
                   i {
                     font-size: 12px;
                     border: 1px solid #ebebeb;
                     padding: 2px 8px;
                     border-radius: 15px;
                   }
+
                   input {
                     max-width: 40px;
                     text-align: center;
@@ -381,23 +258,26 @@ onMounted(() => {
               }
             }
           }
+
           .goods-button {
             display: flex;
             justify-content: space-between;
             font-size: 16px;
             padding: 0 20px;
 
-            > div {
+            >div {
               height: 42px;
               background: #ff8e24;
               border-radius: 4px;
-              width: 48%;
+              width: 100%;
               text-align: center;
               line-height: 42px;
+
               &:last-of-type {
                 background: var(--editor-main-color);
               }
             }
+
             .tipss {
               color: #909090;
               display: inline-block;

+ 2 - 2
src/components/Tags/waterfall.vue

@@ -13,7 +13,7 @@
             <div class="wfavatar" :style="{ backgroundImage: `url(${item.pic})` }"></div>
             <div class="wfinfo">
               <p>{{ item.name }}</p>
-              <p>{{ item.symbol }} {{ item.price }} | {{$t('common.view')}} ></p>
+              <p>{{$t('common.view')}} ></p>
             </div>
           </li>
         </ul>
@@ -44,7 +44,7 @@ const gotoGoods = (item) => {
       return;
   }
   apis.burying_point({ type: 3, productId: item.id });
-  browser.openLink(`/pages/item/item?productId=${item.id}`, `https://m.cdfmembers.com/shop/600667208/item?productId=${item.id}`,`/pages/item/item?productId=${item.id}`);
+  browser.openLink(item.url)
 };
 </script>
 

+ 17 - 2
src/components/openVideo/index.vue

@@ -3,7 +3,7 @@
     <div class="open-video">
       <!-- <div class="vmask"></div> -->
       <video x5-playsinline="true" playsinline="true" webkit-playsinline="true" class="video" ref="openvideo$" preload autoplay :src="videourl"></video>
-      <div v-show="videourl" @click.stop="countdown==0&&emit('close')" class="jump">{{countdown>0?countdown+$t('common.jumpTips'):$t('common.jump')}}</div>
+      <div v-show="videourl" @click.stop="countdown==0&&emit('close')" class="jump">{{countdown>0?$t('common.jumpTips',{second:countdown}):$t('common.jump')}}</div>
       <img v-show="videourl && bofanging" @click.stop="bofang" class="bofang" :src="require('@/assets/images/icon/bofang.png')" alt="" />
     </div>
   </transition>
@@ -11,8 +11,14 @@
 <script setup>
 import { ref, watch, defineEmits, computed, onMounted, nextTick, defineProps } from "vue";
 import * as apis from "@/apis/index.js";
+import { useApp, getApp } from '@/app';
+
 import { useI18n, getLocale } from '@/i18n'
+import { useStore } from 'vuex';
+const store = useStore();
+
 const { t } = useI18n({ useScope: 'global' })
+
 const openvideo$ = ref(null);
 
 const videourl = ref(null);
@@ -23,6 +29,9 @@ const timer = ref(null);
 
 const bofanging = ref(true);
 
+const cdfRegionData = computed(() => store.getters['scene/cdfRegionData']);
+
+
 const emit = defineEmits(["close"]);
 
 const bofang = () => {
@@ -31,7 +40,12 @@ const bofang = () => {
 
 onMounted(() => {
   nextTick(async () => {
-    let res = await apis.get_video();
+  getApp().Scene.on('loaded', async (pano) => {
+
+    console.log(cdfRegionData.value,'cdfRegionData.value');
+    let res = await apis.get_video({
+      deptId: cdfRegionData.value.deptId
+    });
     if (!res.data) {
       return emit("close");
     }
@@ -70,6 +84,7 @@ onMounted(() => {
       false
     );
   });
+  });
 });
 </script>
 <style lang="scss" scoped>

+ 20 - 19
src/i18n/index.js

@@ -7,38 +7,39 @@ export const SUPPORT_LOCALES = ['zh_CN', 'en', 'zh_HK']
 
 
 export function getLocale() {
+    let lang = browser.getURLParam('lang')
+    if (!lang) {
+        lang = window.navigator.language || window.navigator.userLanguage || null
+        if (lang && /^en/.test(lang)) {
+            console.log('自动获取浏览器语言:' + lang)
+            lang = 'en'
+        }
+        else if (lang && /^zh_CN/.test(lang)) {
+            lang = 'zh_CN'
+        }
+        else {
+            lang = 'zh_HK'
+        }
+    }
+    return lang 
     // 先不更新多语言
-    // let lang = browser.getURLParam('lang')
-    // if (!lang) {
-    //     lang = window.navigator.language || window.navigator.userLanguage || null
-    //     if (lang && /^en/.test(lang)) {
-    //         console.log('自动获取浏览器语言:' + lang)
-    //         lang = 'en'
-    //     }
-    //     else if (lang && /^zh_CN/.test(lang)) {
-    //         lang = 'zh_CN'
-    //     }
-    //     else {
-    //         lang = 'zh_HK'
-    //     }
-    // }
-    // return lang 
-    return 'zh_HK'
+    // return 'zh_HK'
 }
 
 export function setupI18n(options = { locale: 'zh_HK' }) {
     console.log(options.locale);
     const i18n = createI18n(options)
     // 先不更新多语言
-    // setI18nLanguage(i18n, options.locale)
-    setI18nLanguage(i18n, 'zh_HK')
+    // setI18nLanguage(i18n, 'zh_HK')
+
+    setI18nLanguage(i18n, options.locale)
 
     return i18n
 }
 
 export function setI18nLanguage(i18n, locale) {
     //先不更新多语言
-    locale = 'zh_HK'
+    // locale = 'zh_HK'
     if (i18n.mode === 'legacy') {
         i18n.global.locale = locale
     } else {

+ 1 - 1
src/locales/en.json

@@ -48,7 +48,7 @@
     "openBrush":" The paintbrush is enabled by the host",
     "closeBrush":"The paintbrush is disabled by the host",
     "dismissRoom":"The breakout room is dismissed by the host",
-    "jumpTips":"Skip after Xs",
+    "jumpTips":"Skip after {second}s",
     "jump":"Skip",
 
     "goNext":"Click to navigate the next area  .",

+ 1 - 1
src/locales/zh.json

@@ -48,7 +48,7 @@
     "openBrush": "開啟畫筆",
     "closeBrush": "關閉畫筆",
     "dismissRoom": "已解散房間",
-    "jumpTips": "s 後可跳過視頻",
+    "jumpTips": "{second}s 後可跳過視頻",
     "jump": "跳過",
     "goNext": "點擊前往下一個區域",
     "view": "查看",

+ 1 - 1
src/locales/zh_CN.json

@@ -48,7 +48,7 @@
     "openBrush":"开启画笔",
     "closeBrush":"关闭画笔",
     "dismissRoom":"已解散房间",
-    "jumpTips":"s 后可跳过视频",
+    "jumpTips":"{second}s 后可跳过视频",
     "jump":"跳过",
 
     "goNext":"点击前往下一个区域",

+ 1 - 1
src/locales/zh_HK.json

@@ -48,7 +48,7 @@
     "openBrush":"開啟畫筆",
     "closeBrush":"關閉畫筆",
     "dismissRoom":"已解散房間",
-    "jumpTips":"s 後可跳過視頻",
+    "jumpTips":"{second}s 後可跳過視頻",
     "jump":"跳過",
 
     "goNext":"點擊前往下一個區域",

+ 9 - 2
src/store/modules/scene.js

@@ -20,7 +20,14 @@ export default {
         metadata: state => {
             return state.metadata
         },
-        
+
+        cdfRegionData: state => {
+            if (state.metadata && state.metadata.cdfRegionData) {
+                return state.metadata.cdfRegionData
+            }
+            return {}
+        },
+
         musicURL: (state, getters, rootState, rootGetters) => {
             let metadata = getters.metadata
             if (metadata.music) {
@@ -40,7 +47,7 @@ export default {
         },
     },
     mutations: {
-       
+
         load(state, payload) {
             state.metadata = payload
             document.title = payload.title

+ 6 - 41
src/utils/browser.js

@@ -361,49 +361,14 @@ var browser = {
     }
     return (url.replace(re, name + "=" + value)).replace("?&",'?');
   },
-  openLink(mglink, h5link, appLink) {
-    if (this.getURLParam("isBuyerApp") === "1") {
-      if (appLink) {
-        wx.miniProgram.navigateTo({
-          url: appLink,
-        });
-      }
+  openLink(h5link) {
+    if (!h5link) {
+      return
     }
-    if (this.detectWeixin()) {
-      //ios的ua中无miniProgram,但都有MicroMessenger(表示是微信浏览器)
-      wx.miniProgram.getEnv((res) => {
-        if (res.miniprogram) {
-          //在小程序里
-          if (mglink) {
-            wx.miniProgram.navigateTo({
-              url: mglink,
-            });
-          }
-        } else {
-          if (h5link) {
-            if (this.detectIOS()) {
-              window.location.href = h5link;
-            } else {
-              window.open(h5link, "_blank");
-            }
-          }
-          // 不在小程序里
-        }
-      });
-    } else if (this.getURLParam("isMiniApp") === "1") {
-      if (appLink) {
-        wx.miniProgram.navigateTo({
-          url: appLink,
-        });
-      }
+    if (this.detectIOS()) {
+      window.location.href = h5link;
     } else {
-      if (h5link) {
-        if (this.detectIOS()) {
-          window.location.href = h5link;
-        } else {
-          window.open(h5link, "_blank");
-        }
-      }
+      window.open(h5link, "_blank");
     }
   },
 };