shaogen1995 8 mesiacov pred
rodič
commit
2fe2126613
57 zmenil súbory, kde vykonal 873 pridanie a 46 odobranie
  1. 792 0
      Code/public/myData/hot.js
  2. 2 0
      Code/src/components/Zhot/type.d.ts
  3. 12 17
      Code/src/pages/A6xian/A6PanoVideo/index.tsx
  4. 14 8
      Code/src/pages/A6xian/index.module.scss
  5. 53 21
      Code/src/pages/A6xian/index.tsx
  6. BIN
      资源/staticData/Zhot/hot/tag_fuxinvwa.png
  7. BIN
      资源/staticData/Zhot/hot/tag_hebo.png
  8. BIN
      资源/staticData/Zhot/hot/tag_leishen.png
  9. BIN
      资源/staticData/Zhot/hot/tag_lewubaixi.png
  10. BIN
      资源/staticData/Zhot/xianJu/ww_baihu.png
  11. BIN
      资源/staticData/Zhot/xianJu/ww_boshanlu5.png
  12. BIN
      资源/staticData/Zhot/xianJu/ww_caihuitaodeng2.png
  13. BIN
      资源/staticData/Zhot/xianJu/ww_change.png
  14. BIN
      资源/staticData/Zhot/xianJu/ww_dongwanggong.png
  15. BIN
      资源/staticData/Zhot/xianJu/ww_fangxiangshi.png
  16. BIN
      资源/staticData/Zhot/xianJu/ww_fengshi.png
  17. BIN
      资源/staticData/Zhot/xianJu/ww_fengyutu.png
  18. BIN
      资源/staticData/Zhot/xianJu/ww_fuxinvwa.png
  19. BIN
      资源/staticData/Zhot/xianJu/ww_fuxinvwa2.png
  20. BIN
      资源/staticData/Zhot/xianJu/ww_goumang1.png
  21. BIN
      资源/staticData/Zhot/xianJu/ww_goumang2.png
  22. BIN
      资源/staticData/Zhot/xianJu/ww_goumang3.png
  23. BIN
      资源/staticData/Zhot/xianJu/ww_hebo.png
  24. BIN
      资源/staticData/Zhot/xianJu/ww_huangniao1.png
  25. BIN
      资源/staticData/Zhot/xianJu/ww_huangniao2.png
  26. BIN
      资源/staticData/Zhot/xianJu/ww_jinwu.png
  27. BIN
      资源/staticData/Zhot/xianJu/ww_leishen1.png
  28. BIN
      资源/staticData/Zhot/xianJu/ww_leishen2.png
  29. BIN
      资源/staticData/Zhot/xianJu/ww_luche1.png
  30. BIN
      资源/staticData/Zhot/xianJu/ww_mudingbihua.png
  31. BIN
      资源/staticData/Zhot/xianJu/ww_qinglong.png
  32. BIN
      资源/staticData/Zhot/xianJu/ww_rixiang.png
  33. BIN
      资源/staticData/Zhot/xianJu/ww_rushou.png
  34. BIN
      资源/staticData/Zhot/xianJu/ww_shenren1.png
  35. BIN
      资源/staticData/Zhot/xianJu/ww_shenren2.png
  36. BIN
      资源/staticData/Zhot/xianJu/ww_shuanglongchuhai.png
  37. BIN
      资源/staticData/Zhot/xianJu/ww_sishenyunqitu.png
  38. BIN
      资源/staticData/Zhot/xianJu/ww_taiyishen.png
  39. BIN
      资源/staticData/Zhot/xianJu/ww_taodushu1.png
  40. BIN
      资源/staticData/Zhot/xianJu/ww_wuling.png
  41. BIN
      资源/staticData/Zhot/xianJu/ww_xianlu1.png
  42. BIN
      资源/staticData/Zhot/xianJu/ww_xiwangmu.png
  43. BIN
      资源/staticData/Zhot/xianJu/ww_xuanming.png
  44. BIN
      资源/staticData/Zhot/xianJu/ww_xuanwu.png
  45. BIN
      资源/staticData/Zhot/xianJu/ww_xuanwu2.png
  46. BIN
      资源/staticData/Zhot/xianJu/ww_yubisishen.png
  47. BIN
      资源/staticData/Zhot/xianJu/ww_yuegong.png
  48. BIN
      资源/staticData/Zhot/xianJu/ww_yuexiang.png
  49. BIN
      资源/staticData/Zhot/xianJu/ww_yuren1.png
  50. BIN
      资源/staticData/Zhot/xianJu/ww_yuren2.png
  51. BIN
      资源/staticData/Zhot/xianJu/ww_yuren3.png
  52. BIN
      资源/staticData/Zhot/xianJu/ww_yuren4.png
  53. BIN
      资源/staticData/Zhot/xianJu/ww_yushi.png
  54. BIN
      资源/staticData/Zhot/xianJu/ww_zhuque.png
  55. BIN
      资源/staticData/Zhot/xianJu/ww_zhurong.png
  56. BIN
      资源/staticData/dance/bj.jpg
  57. BIN
      资源/staticData/visit2/waiBg.jpg

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 792 - 0
Code/public/myData/hot.js


+ 2 - 0
Code/src/components/Zhot/type.d.ts

@@ -51,6 +51,8 @@ export type HotInfoType = {
   houCu: HotRowType[]
   plowZhuang: HotRowType[]
   plowCai: HotRowType[]
+  xianJu: HotRowType[]
+  xianJu2: HotRowType[]
   周礼九拜: {
     name: string
     tubiao: '普通' | '文物'

+ 12 - 17
Code/src/pages/A6xian/A6PanoVideo/index.tsx

@@ -1,17 +1,18 @@
 import React, { useRef, useState } from 'react'
 import styles from './index.module.scss'
-import { myData, otherUrl } from '@/utils/http'
-import Hot2 from '@/pages/A2visit/PanoVideo/Hot2'
+import { hotInfo, otherUrl } from '@/utils/http'
 import { KrpanoMiddleware, KrpanoMiddlewareMethods } from '@/components/KrpanoMiddleware'
 import { HotSpot, Krpano, VideoScene, videoSceneModel, View } from '@dage/krpano'
 import HotIcon from '@/components/HotIcon'
+import Zhot from '@/components/Zhot'
 
 // window.draggbleHotspotEvent = (ath: number, atv: number) => {
 //   console.log(`ath: ${ath}, atv: ${atv}`)
 // }
 
 function A6PanoVideo() {
-  const [ind, setInd] = useState(-1)
+  const [acName, setAcName] = useState('')
+
   const [activeIdx, setActiveIdx] = useState(-1)
   const middlewareIns = useRef<KrpanoMiddlewareMethods>(null)
 
@@ -44,31 +45,31 @@ function A6PanoVideo() {
             }}
           >
             <View hlookat={0} vlookat={0} fovType='MFOV' fov={120} fovMin={70} fovMax={130} />
-            {myData.xianJu.hot.map((item, index) => (
+            {hotInfo.xianJu.map((item, index) => (
               // 热点图标
               <HotSpot
                 key={index}
                 type='text'
                 name={item.name}
-                atv={item.atv}
-                ath={item.ath}
+                atv={item.panoLoc.atv}
+                ath={item.panoLoc.ath}
                 edge='top'
                 distorted={true}
-                scale={item.size}
+                scale={item.panoLoc.size}
                 bg={false}
                 onOver={() => setActiveIdx(index)}
                 onOut={() => setActiveIdx(-1)}
-                onClick={() => setInd(index)}
+                onClick={() => setAcName(item.name)}
                 // @ts-ignore
                 // onDown='draggable_hotspot()'
               >
                 <HotIcon
-                  isModel={item.isModel ? true : false}
+                  isModel={item.tubiao === '文物' ? true : false}
                   key={index}
                   index={index}
                   isHoverAc={activeIdx === index}
                   hoverSrc={item.hoverSrc}
-                  panoWidth='113px'
+                  panoWidth='180px'
                 />
               </HotSpot>
             ))}
@@ -76,13 +77,7 @@ function A6PanoVideo() {
         </Krpano>
       </KrpanoMiddleware>
 
-      {ind !== -1 ? (
-        <Hot2
-          data={myData.xianJu.hot[ind].data}
-          closeFu={() => setInd(-1)}
-          name={myData.xianJu.hot[ind].name}
-        />
-      ) : null}
+      {acName ? <Zhot name={acName} closeFu={() => setAcName('')} /> : null}
     </div>
   )
 }

+ 14 - 8
Code/src/pages/A6xian/index.module.scss

@@ -86,14 +86,20 @@
       .A6XimgBoxSon {
         width: 100%;
         height: 100%;
-        overflow-x: auto;
-        overflow-y: hidden;
-        &::-webkit-scrollbar {
-          display: none;
-        }
-        video {
-          pointer-events: none;
-          width: auto;
+
+        .A6videoBox {
+          position: relative;
+          width: 100%;
+          height: 100%;
+          overflow-x: auto;
+          overflow-y: hidden;
+          &::-webkit-scrollbar {
+            display: none;
+          }
+          video {
+            pointer-events: none;
+            width: auto;
+          }
         }
       }
       .A6XimgBoxBtn {

+ 53 - 21
Code/src/pages/A6xian/index.tsx

@@ -1,7 +1,7 @@
 import React, { useCallback, useEffect, useRef, useState } from 'react'
 import styles from './index.module.scss'
 import BaseImg from '@/components/BaseImg'
-import { baseURL, myData } from '@/utils/http'
+import { baseURL, hotInfo, myData } from '@/utils/http'
 import useLoding from '@/components/ownUse/useLoding'
 import CatVideo from '@/components/CatVideo'
 import A6PanoVideo from './A6PanoVideo'
@@ -11,6 +11,8 @@ import FloorBtn from '@/components/FloorBtn'
 import NextPage from '@/components/NextPage'
 import EndVideo from '@/components/EndVideo'
 import history from '@/utils/history'
+import HotIcon from '@/components/HotIcon'
+import Zhot from '@/components/Zhot'
 
 function A6xian() {
   // 过度动画
@@ -112,6 +114,16 @@ function A6xian() {
   // 二级的静态图
   const [erImg, setErImg] = useState(false)
 
+  // 打开热点
+  const [acName, setAcName] = useState('')
+
+  useEffect(() => {
+    if (acName) {
+      clearTimeout(actionRef.current)
+      clearInterval(actionMoveRef.current)
+    } else actionFu()
+  }, [acName, actionFu])
+
   return (
     <div className={styles.A6xian}>
       {/* 初始静态图 */}
@@ -187,27 +199,45 @@ function A6xian() {
           className='A6XimgBox'
           style={{ opacity: xianShow ? '1' : '0', pointerEvents: xianShow ? 'auto' : 'none' }}
         >
-          <div
-            className='A6XimgBoxSon'
-            style={{ cursor: isFlag ? 'move' : 'default' }}
-            ref={xianRef}
-            onMouseDown={() => setIsFlag(true)}
-            onMouseUp={() => setIsFlag(false)}
-            onMouseLeave={() => setIsFlag(false)}
-            onMouseMove={e => mousemoveFu(e)}
-            onWheel={e => mousemoveFu(e, true)}
-          >
-            <video
-              ref={videoRef}
-              playsInline
-              muted
-              webkit-playsinline='true'
-              x5-video-player-type='h5'
-              loop={true}
+          <div className='A6XimgBoxSon'>
+            <div
+              className='A6videoBox'
+              style={{ cursor: isFlag ? 'move' : 'default' }}
+              ref={xianRef}
+              onMouseDown={() => setIsFlag(true)}
+              onMouseUp={() => setIsFlag(false)}
+              onMouseLeave={() => setIsFlag(false)}
+              onMouseMove={e => mousemoveFu(e)}
+              onWheel={e => mousemoveFu(e, true)}
             >
-              <source type='video/mp4' src={`${baseURL}xianJu/chang.mp4`} />
-              Your browser does not support the video tag.
-            </video>
+              <video
+                ref={videoRef}
+                playsInline
+                muted
+                webkit-playsinline='true'
+                x5-video-player-type='h5'
+                loop={true}
+              >
+                <source type='video/mp4' src={`${baseURL}xianJu/chang.mp4`} />
+                Your browser does not support the video tag.
+              </video>
+
+              {/* 热点 */}
+              {hotInfo.xianJu2.map((item, index) => (
+                <HotIcon
+                  isModel={item.tubiao === '文物' ? true : false}
+                  style={{
+                    top: item.locPage.top,
+                    left: item.locPage.left
+                  }}
+                  key={index}
+                  index={index}
+                  clickSon={() => setAcName(item.name)}
+                  hoverSrc={item.hoverSrc}
+                  isXiao={0.67}
+                />
+              ))}
+            </div>
           </div>
           {/* 跳到下一章 */}
           <NextPage clickSon={() => setLastVideo(true)} txt='结束冥想' />
@@ -229,6 +259,8 @@ function A6xian() {
         path='/end'
         delDom='.A22Pano'
       />
+
+      {acName ? <Zhot name={acName} closeFu={() => setAcName('')} /> : null}
     </div>
   )
 }

BIN
资源/staticData/Zhot/hot/tag_fuxinvwa.png


BIN
资源/staticData/Zhot/hot/tag_hebo.png


BIN
资源/staticData/Zhot/hot/tag_leishen.png


BIN
资源/staticData/Zhot/hot/tag_lewubaixi.png


BIN
资源/staticData/Zhot/xianJu/ww_baihu.png


BIN
资源/staticData/Zhot/xianJu/ww_boshanlu5.png


BIN
资源/staticData/Zhot/xianJu/ww_caihuitaodeng2.png


BIN
资源/staticData/Zhot/xianJu/ww_change.png


BIN
资源/staticData/Zhot/xianJu/ww_dongwanggong.png


BIN
资源/staticData/Zhot/xianJu/ww_fangxiangshi.png


BIN
资源/staticData/Zhot/xianJu/ww_fengshi.png


BIN
资源/staticData/Zhot/xianJu/ww_fengyutu.png


BIN
资源/staticData/Zhot/xianJu/ww_fuxinvwa.png


BIN
资源/staticData/Zhot/xianJu/ww_fuxinvwa2.png


BIN
资源/staticData/Zhot/xianJu/ww_goumang1.png


BIN
资源/staticData/Zhot/xianJu/ww_goumang2.png


BIN
资源/staticData/Zhot/xianJu/ww_goumang3.png


BIN
资源/staticData/Zhot/xianJu/ww_hebo.png


BIN
资源/staticData/Zhot/xianJu/ww_huangniao1.png


BIN
资源/staticData/Zhot/xianJu/ww_huangniao2.png


BIN
资源/staticData/Zhot/xianJu/ww_jinwu.png


BIN
资源/staticData/Zhot/xianJu/ww_leishen1.png


BIN
资源/staticData/Zhot/xianJu/ww_leishen2.png


BIN
资源/staticData/Zhot/xianJu/ww_luche1.png


BIN
资源/staticData/Zhot/xianJu/ww_mudingbihua.png


BIN
资源/staticData/Zhot/xianJu/ww_qinglong.png


BIN
资源/staticData/Zhot/xianJu/ww_rixiang.png


BIN
资源/staticData/Zhot/xianJu/ww_rushou.png


BIN
资源/staticData/Zhot/xianJu/ww_shenren1.png


BIN
资源/staticData/Zhot/xianJu/ww_shenren2.png


BIN
资源/staticData/Zhot/xianJu/ww_shuanglongchuhai.png


BIN
资源/staticData/Zhot/xianJu/ww_sishenyunqitu.png


BIN
资源/staticData/Zhot/xianJu/ww_taiyishen.png


BIN
资源/staticData/Zhot/xianJu/ww_taodushu1.png


BIN
资源/staticData/Zhot/xianJu/ww_wuling.png


BIN
资源/staticData/Zhot/xianJu/ww_xianlu1.png


BIN
资源/staticData/Zhot/xianJu/ww_xiwangmu.png


BIN
资源/staticData/Zhot/xianJu/ww_xuanming.png


BIN
资源/staticData/Zhot/xianJu/ww_xuanwu.png


BIN
资源/staticData/Zhot/xianJu/ww_xuanwu2.png


BIN
资源/staticData/Zhot/xianJu/ww_yubisishen.png


BIN
资源/staticData/Zhot/xianJu/ww_yuegong.png


BIN
资源/staticData/Zhot/xianJu/ww_yuexiang.png


BIN
资源/staticData/Zhot/xianJu/ww_yuren1.png


BIN
资源/staticData/Zhot/xianJu/ww_yuren2.png


BIN
资源/staticData/Zhot/xianJu/ww_yuren3.png


BIN
资源/staticData/Zhot/xianJu/ww_yuren4.png


BIN
资源/staticData/Zhot/xianJu/ww_yushi.png


BIN
资源/staticData/Zhot/xianJu/ww_zhuque.png


BIN
资源/staticData/Zhot/xianJu/ww_zhurong.png


BIN
资源/staticData/dance/bj.jpg


BIN
资源/staticData/visit2/waiBg.jpg