aamin 1 год назад
Родитель
Сommit
59d2105843

+ 3 - 3
game/src/views/ShopForVisitor.vue

@@ -8,7 +8,7 @@
     >
     <button
       class="return"
-      @click="router.go(-1)"
+      @click="notifyQuit()"
     />
     <div class="main-wrap">
       <div
@@ -85,7 +85,7 @@
 import { ref, computed, watch, onMounted } from "vue"
 import { useRoute, useRouter } from "vue-router"
 import { useStore } from "vuex"
-import { getScore, getPrizeList, getBonusPointRecord } from '@/api.js'
+import { getScore, getPrizeList, getBonusPointRecord, notifyQuit } from '@/api.js'
 
 const route = useRoute()
 const router = useRouter()
@@ -207,7 +207,7 @@ function onClickPrizeItem(prizeItem) {
         }
         >.title{
           margin-top: calc(3 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
-          font-size: calc(20 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
+          font-size: calc(14 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
           font-family: Source Han Sans SC, Source Han Sans SC;
           font-weight: 400;
           color: #414141;

+ 1 - 1
game/src/views/ShopView.vue

@@ -425,7 +425,7 @@ getBonusPointRecord().then((res) => {
         }
         >.title{
           margin-top: calc(3 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
-          font-size: calc(20 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
+          font-size: calc(14 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
           font-family: Source Han Sans SC, Source Han Sans SC;
           font-weight: 400;
           color: #414141;

+ 5 - 5
houtai/src/pages/A4Prize/index.tsx

@@ -81,7 +81,7 @@ function A4Prize() {
           setCover(res.data.thumb);
           setDirCode(res.data.id);
           // 调用富文本子组件的函数,回显数据
-          if (res.data.name !== "公益合伙人证书") {
+          if (res.data.name !== "公益合伙人电子证书") {
             richTxtRef.current.ritxtShowFu(res.data.rtf);
           }
         }
@@ -204,14 +204,14 @@ function A4Prize() {
         title: "库存",
         // dataIndex: "stock",
         render: (item: PrizeTableType) => (
-          <div>{item.name === "公益合伙人证书" ? "-" : item.stock}</div>
+          <div>{item.name === "公益合伙人电子证书" ? "-" : item.stock}</div>
         ),
       },
       {
         title: "登记日期",
         // dataIndex: "updateTime",
         render: (item: PrizeTableType) => (
-          <div>{item.name === "公益合伙人证书" ? "-" : item.updateTime}</div>
+          <div>{item.name === "公益合伙人电子证书" ? "-" : item.updateTime}</div>
         ),
       },
       {
@@ -223,7 +223,7 @@ function A4Prize() {
       {
         title: "操作",
         render: (item: PrizeTableType) => {
-          return item.name !== "公益合伙人证书" ? (
+          return item.name !== "公益合伙人电子证书" ? (
             <>
               <Button
                 size="small"
@@ -320,7 +320,7 @@ function A4Prize() {
           />
         </div>
       </div>
-      {curEditItem?.name === "公益合伙人证书" && modalType === "edit" ? (
+      {curEditItem?.name === "公益合伙人电子证书" && modalType === "edit" ? (
         <Modal
           destroyOnClose
           closable={false}

+ 3 - 3
houtai/src/pages/A5Exchange/index.tsx

@@ -99,20 +99,20 @@ function A5Exchange() {
       {
         title: "称呼",
         render: (item: ExchangeTableType) => (
-          <div>{item.prizeName === "公益合伙人证书" || item.name === "" ? "-" : item.name}</div>
+          <div>{item.prizeName === "公益合伙人电子证书" || item.name === "" ? "-" : item.name}</div>
         ),
       },
       {
         title: "联系方式",
         render: (item: ExchangeTableType) => (
-          <div>{item.prizeName === "公益合伙人证书" || item.phone === "" ? "-" : item.phone}</div>
+          <div>{item.prizeName === "公益合伙人电子证书" || item.phone === "" ? "-" : item.phone}</div>
         ),
       },
       {
         title: "地址和留言",
         render: (item: ExchangeTableType) => (
           <div>
-            {item.prizeName === "公益合伙人证书" || item.description === ""
+            {item.prizeName === "公益合伙人电子证书" || item.description === ""
               ? "-"
               : item.description}
           </div>

Разница между файлами не показана из-за своего большого размера
+ 1 - 0
zhengquan/public/staticData/data.js


+ 64 - 36
zhengquan/src/views/Home/homePage.vue

@@ -28,9 +28,9 @@ const closeUnitList = () => {
   isShowUnitList.value = false
 }
 
-const baseAPIUrl = ref('')
+// const baseAPIUrl = ref('')
 // const baseAPIUrl = ref('http://192.168.20.61:8063')
-// const baseAPIUrl = ref('https://sit-cnzhengquan.4dage.com')
+const baseAPIUrl = ref('https://sit-cnzhengquan.4dage.com')
 
 // const store = useStore()
 
@@ -42,25 +42,39 @@ const displayText = ref([] as any)
 
 const isLogin = ref(false)
 
+const isNext = ref(false as boolean)
+
 const goLogin = () => {
-  router.push({
-    path: 'homePageMo',
-    query: {
-      src: '/game/index.html#/login-view?no-redirect=1'
-    }
-  })
-  isLogin.value = true
+  if (isNext.value) {
+    router.push({
+      path: 'homePageMo',
+      query: {
+        src: '/game/index.html#/login-view?no-redirect=1'
+      }
+    })
+    isLogin.value = true
+
+  } else {
+    isNext.value = true
+  }
+
 }
 
 
 
+
+
 onMounted(() => {
   axios({
     method: 'get',
-    url: `${baseAPIUrl.value}/api/show/rule/getList`,
+    url: `${baseAPIUrl.value}/api/show/rule/getList?type=online`,
   }).then((res: any) => {
-
     displayText.value = res.data.data
+    displayText.value.push({
+      name: '互动游戏',
+      description: '每完成一项互动游戏即可获得',
+      score: 10
+    })
   })
 
   if (localStorage.getItem('token') && localStorage.getItem('userInfo')) {
@@ -80,33 +94,34 @@ onMounted(() => {
     <!-- 未登录弹窗 -->
     <div class="noLogin" v-if="!isLogin">
       <div class="noLogin-box">
-        <div class="title">完成注册并登录,即可获得积分</div>
-        <div class="scoreSM">积分规则:</div>
+        <div class="title" v-show="!isNext">完成注册并登录,即可获得积分。<br />积分可用于兑换礼品。</div>
+        <div class="scoreSM title" v-show="isNext">积分规则:</div>
         <!-- <div class="gameItem">乡村林场:完成任一环节(浇水,施肥,除虫,修剪)可得分 12分</div> -->
-        <div class="gameItem" v-for="(item, index) in displayText" :key="index">
+        <div class="gameItem" v-show="isNext" v-for="(item, index) in displayText" :key="index">
           <div v-if="!browser.mobile">{{ item.name !== '当日积分上限' || item.name ===
-            '' ? item.name +
-            ' : ' + item.description + ' ' + item.score + '分' : '' }}</div>
+      '' ? item.name +
+      ' : ' + item.description + ' ' + item.score + '个积分' : '' }}</div>
 
           <div v-else :style="{ marginBottom: '5px' }">
             <div v-show="item.name !== '当日积分上限'">{{ item.name + ':' }}</div>
             <div v-show="item.name !== '当日积分上限'">{{ item.description + ' ' + item.score + '分' }}</div>
           </div>
         </div>
-
-
         <div class="btns">
-          <div  v-show="browser.mobile" class="btn" @click="isLogin = true" >取消</div>
-          <div class="btn" @click="goLogin()">同意并注册账号</div>
+          <div v-show="browser.mobile || !isNext" class="btn" @click="isLogin = true">{{ isNext ? '取消' : '直接观展' }}</div>
+          <div class="btn" @click="goLogin()">{{ isNext ? '同意并注册账号' : '注册观展' }}</div>
         </div>
 
+    
+
         <!-- 序厅序列帧 -->
         <div class="xuliezhen-greeting changing"
           :style="{ backgroundImage: `url(${baseResourceUrl}/animation/0/greeting.png)`, backgroundSize: 'cover' }">
         </div>
 
         <!-- 关闭按钮 -->
-        <img v-show="!browser.mobile" class="close-icon" @click="isLogin = true" src="@/assets/images/home/close-icon.png" alt="">
+        <img v-show="!browser.mobile" class="close-icon" @click="isLogin = true"
+          src="@/assets/images/home/close-icon.png" alt="">
       </div>
     </div>
 
@@ -178,28 +193,35 @@ onMounted(() => {
 
       .scoreSM {
         line-height: 30px;
+
       }
 
       .gameItem {
         line-height: 38px;
       }
 
-      .btn {
-        width: 100%;
-        color: #fff;
-        background: #bc121bbb;
-        border-radius: 10px;
-        border: 1px solid rgba(0, 0, 0, .5);
-        cursor: pointer;
+      .btns {
         display: flex;
-        justify-content: center;
-        margin-top: 20px;
-        font-family: "AlibabaPuHuiTi2.0-105Heavy";
-        box-shadow: 0 4px 18px #00000080;
-        margin-top: 10%;
-
+        justify-content: space-between;
+
+        .btn {
+          // width: %;
+          width: 45%;
+          color: #fff;
+          background: #bc121bbb;
+          border-radius: 10px;
+          border: 1px solid rgba(0, 0, 0, .5);
+          cursor: pointer;
+          display: flex;
+          justify-content: center;
+          margin-top: 20px;
+          font-family: "AlibabaPuHuiTi2.0-105Heavy";
+          box-shadow: 0 4px 18px #00000080;
+          margin-top: 10%;
+        }
       }
 
+
       .xuliezhen-greeting {
         position: absolute;
         right: 0;
@@ -282,7 +304,11 @@ onMounted(() => {
 
       .noLogin-box {
         width: 90%;
+        min-height: 38%;
         padding: 10px;
+        display: flex;
+        flex-direction: column;
+        justify-content: space-between;
 
 
         .title {
@@ -292,7 +318,9 @@ onMounted(() => {
 
         .scoreSM {
           line-height: 20px;
-          font-size: .8em;
+          font-size: 1.2em;
+          font-weight: bold;
+          letter-spacing: 1px;
         }
 
         .gameItem {
@@ -315,7 +343,7 @@ onMounted(() => {
         .xuliezhen-greeting {
           position: absolute;
           right: 0;
-          bottom: 10%;
+          bottom: 20%;
           width: 150px;
           height: 150px;
           background-position-x: 0;

+ 22 - 26
zhengquan/src/views/HomeMo/homePageMo.vue

@@ -14,37 +14,33 @@ declare global {
 }
 
 
-// 返回到之前场景
-const goBackScene = () => {
-  router.push({
-    path: '/scene',
-    query: {
-      code: store.currentUnit.code,
-      name: store.currentUnit.name == '尾厅' ? '尾厅' : ''
-    }
-  })
-}
-onMounted(() => {
 
-  window.addEventListener('message', (e: any) => {
-    console.log('获得返回场景信号', e.data.from)
-    if (e.data.from == 'game') {
-      console.log('获得返回场景信号', e.data)
-      goBackScene()
-    }
-  })
+onMounted(() => {
 
   window.goBackSceneFu = () => {
     store.isShowGameThumb = false
     const currentUnit = localStorage.getItem('currentUnit')
-    console.log('刷新后', store.currentUnit.code, JSON.parse(currentUnit!))
-    router.replace({
-      path: '/scene',
-      query: {
-        code: store.currentUnit.code ? store.currentUnit.code : JSON.parse(currentUnit!).code,
-        name: store.currentUnit.name == '尾厅' ? '尾厅' : ''
-      }
-    })
+
+    console.log('是否记录了当前位置',localStorage.getItem('currentPanoPath'))
+    
+    if (localStorage.getItem('currentPanoPath')) {
+      router.replace({
+        path: '/scene',
+        query: {
+          code: store.currentUnit.code ? store.currentUnit.code : JSON.parse(currentUnit!).code,
+          name: store.currentUnit.name == '尾厅' ? '尾厅' : '',
+          pano: localStorage.getItem('currentPanoPath')
+        }
+      })
+    } else {
+      router.replace({
+        path: '/scene',
+        query: {
+          code: store.currentUnit.code ? store.currentUnit.code : JSON.parse(currentUnit!).code,
+          name: store.currentUnit.name == '尾厅' ? '尾厅' : ''
+        }
+      })
+    }
   }
 })
 </script>

+ 10 - 2
zhengquan/src/views/Scene/ScenePage.vue

@@ -569,7 +569,7 @@ onMounted(() => {
 
       const score = res.data.data.find((item: any) => { return item.name == v }).score
 
-      console.log('收到反馈',score)
+      console.log('收到反馈', score)
       axios({
         method: 'post',
         url: `${baseAPIUrl.value}/api/cms/game/point/add`,
@@ -596,7 +596,15 @@ onMounted(() => {
     } else if (v === 'zhaopianqiang') {
       router.replace('wall')
     } else if (v === 'jiangpinduihuan') {
-      window.openPricePageFu()
+      // 触发子页面的savePano方法,记录当前点位
+      const iframe = document.getElementById('sceneiframe') as HTMLIFrameElement
+      console.log('跳转前保存点位', iframe.contentWindow)
+      //@ts-ignore
+      iframe.contentWindow.savePano()
+
+      setTimeout(() => {
+        window.openPricePageFu()
+      }, 300)
     } else {
       const unit = store.hotspots.find((item: any) => {
         return item.code == v