shaogen1995 vor 11 Monaten
Ursprung
Commit
b756e8464c
50 geänderte Dateien mit 1062 neuen und 1546 gelöschten Zeilen
  1. 925 1461
      Code/public/myData/myData.js
  2. BIN
      Code/src/assets/img/btn.png
  3. BIN
      Code/src/assets/img/btnAc.png
  4. BIN
      Code/src/assets/img/icon-bcxz.png
  5. BIN
      Code/src/assets/img/icon-bcxz1.png
  6. 1 6
      Code/src/pages/A1_1base/index.tsx
  7. 1 6
      Code/src/pages/A1home/index.tsx
  8. 10 0
      Code/src/pages/A2visit/PanoVideo/Hot2/index.module.scss
  9. 11 3
      Code/src/pages/A2visit/PanoVideo/Hot2/index.tsx
  10. 20 0
      Code/src/pages/A4dance/index.module.scss
  11. 26 26
      Code/src/pages/A4dance/index.tsx
  12. 2 1
      Code/src/pages/A5chef/index.tsx
  13. 4 4
      Code/src/pages/A6plow/index.tsx
  14. 4 3
      Code/src/pages/B1more/S2mien/index.module.scss
  15. 20 8
      Code/src/pages/B1more/S2mien/index.tsx
  16. 11 4
      Code/src/pages/B1more/S3goods/index.module.scss
  17. 18 16
      Code/src/pages/B1more/S3goods/index.tsx
  18. 1 1
      Code/src/pages/B1more/index.tsx
  19. 3 2
      Code/src/types/api/layot.d.ts
  20. 5 5
      Code/src/types/declaration.d.ts
  21. BIN
      资源/staticData/banquet/hot/1.4dage
  22. BIN
      资源/staticData/banquet/hot/hot1.png
  23. BIN
      资源/staticData/banquet/hot/hot2.png
  24. BIN
      资源/staticData/banquet/hot/hot3.png
  25. BIN
      资源/staticData/banquet/hot/hot4.png
  26. BIN
      资源/staticData/banquet/hot/hot5.png
  27. BIN
      资源/staticData/banquet/hot/hot6.png
  28. BIN
      资源/staticData/banquet/hot/hot7.png
  29. 0 0
      资源/staticData/dance/hot/hot1.png
  30. BIN
      资源/staticData/dance/hot/hot2.png
  31. BIN
      资源/staticData/dance/hot2.png
  32. BIN
      资源/staticData/more/hot/hot1.png
  33. BIN
      资源/staticData/more/hot/hot2.png
  34. BIN
      资源/staticData/more/hot/hot3.png
  35. BIN
      资源/staticData/more/hot/hot4.png
  36. BIN
      资源/staticData/more/hot/hot5.png
  37. BIN
      资源/staticData/plow/hot/1.4dage
  38. BIN
      资源/staticData/plow/hot/hot1.png
  39. BIN
      资源/staticData/plow/hot/hot2.png
  40. BIN
      资源/staticData/plow/hot/hot3.png
  41. BIN
      资源/staticData/plow/hot/hot4.png
  42. BIN
      资源/staticData/plow/hot/hot5.png
  43. BIN
      资源/staticData/plow/hot/hot6.png
  44. BIN
      资源/staticData/plow/hot1.png
  45. BIN
      资源/staticData/plow/hot2.png
  46. BIN
      资源/staticData/visit/hot/hot1.png
  47. BIN
      资源/staticData/visit/hot/hot2.png
  48. BIN
      资源/staticData/visit/hot/hot3.png
  49. BIN
      资源/staticData/visit/hot/hot4.png
  50. BIN
      资源/staticData/visit/hot/hot5.png

Datei-Diff unterdrückt, da er zu groß ist
+ 925 - 1461
Code/public/myData/myData.js


BIN
Code/src/assets/img/btn.png


BIN
Code/src/assets/img/btnAc.png


BIN
Code/src/assets/img/icon-bcxz.png


BIN
Code/src/assets/img/icon-bcxz1.png


+ 1 - 6
Code/src/pages/A1_1base/index.tsx

@@ -3,7 +3,6 @@ import styles from './index.module.scss'
 import { baseURL, myData } from '@/utils/http'
 import classNames from 'classnames'
 import EndVideo from '@/components/EndVideo'
-import { domDelOwnFu } from '@/utils/utilsSome'
 
 function A11base() {
   // 最后一个过长动画
@@ -13,10 +12,6 @@ function A11base() {
   const btnStartFu = useCallback(() => {
     // 播放长视频
     setLastVideo(true)
-    // 0.5s之后删除自己
-    setTimeout(() => {
-      domDelOwnFu('.A11bg')
-    }, 500)
   }, [])
 
   return (
@@ -41,7 +36,7 @@ function A11base() {
 
       <EndVideo
         lastVideo={lastVideo}
-        delDom='.A1videoBox'
+        delDom='.A11bg'
         src={baseURL + myData.base.lastVideo}
         path='/visit'
       />

+ 1 - 6
Code/src/pages/A1home/index.tsx

@@ -2,7 +2,6 @@ import React, { useCallback, useEffect, useRef, useState } from 'react'
 import styles from './index.module.scss'
 import { baseURL, myData } from '@/utils/http'
 import classNames from 'classnames'
-import { domDelOwnFu } from '@/utils/utilsSome'
 import EndVideo from '@/components/EndVideo'
 import VideoModel from '@/components/VideoModel'
 
@@ -35,10 +34,6 @@ function A1home() {
   const btnStartFu = useCallback(() => {
     // 播放长视频
     setLastVideo(true)
-    // 0.5s之后删除自己
-    setTimeout(() => {
-      domDelOwnFu('.A1base')
-    }, 500)
   }, [])
 
   // 最后一个过长动画
@@ -135,7 +130,7 @@ function A1home() {
 
       <EndVideo
         lastVideo={lastVideo}
-        delDom='.A1videoBox'
+        delDom='.A1base'
         src={baseURL + myData.home.lastVideo}
         path='/base'
       />

+ 10 - 0
Code/src/pages/A2visit/PanoVideo/Hot2/index.module.scss

@@ -46,6 +46,16 @@
         &::-webkit-scrollbar {
           display: none;
         }
+
+        .H2model {
+          width: 100%;
+          height: 200px;
+          iframe {
+            width: 100%;
+            height: 100%;
+          }
+        }
+
         .adm-image {
           width: 90%;
           margin: 0 auto;

+ 11 - 3
Code/src/pages/A2visit/PanoVideo/Hot2/index.tsx

@@ -38,9 +38,17 @@ function Hot2({ closeFu, data, name }: Props) {
 
         <div className={classNames('h2TuWen', data.length <= 1 ? 'h2TuWenDuo' : '')}>
           {/* 图片 */}
-          {acData.imgArr.map((url, index) => (
-            <LazyImg src={baseURL + url} key={index} />
-          ))}
+          {acData.type && acData.type === 'model' ? (
+            <div className='H2model'>
+              <iframe
+                title={name}
+                src={`${baseURL}modelLoding/model.html?u=${acData.imgArr[0]}`}
+                frameBorder='0'
+              ></iframe>
+            </div>
+          ) : (
+            acData.imgArr.map((url, index) => <LazyImg src={baseURL + url} key={index} />)
+          )}
 
           {/* 文字 */}
           <div className='h2txt' dangerouslySetInnerHTML={{ __html: acData.txt }}></div>

+ 20 - 0
Code/src/pages/A4dance/index.module.scss

@@ -20,6 +20,26 @@
       opacity: 1;
       transition: opacity 1s;
 
+      // 左下角按钮
+      .A4leftBtn {
+        cursor: pointer;
+        position: absolute;
+        z-index: 10;
+        bottom: 25px;
+        left: 38px;
+        width: 100px;
+        height: 36px;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        color: #fffddc;
+        background-size: 100% 100%;
+        transition: transform 0.3s;
+        &:hover {
+          transform: scale(1.1);
+        }
+      }
+
       // 底部
       .pvfloor {
         position: absolute;

+ 26 - 26
Code/src/pages/A4dance/index.tsx

@@ -1,4 +1,4 @@
-import React, { useCallback, useEffect, useRef, useState } from 'react'
+import React, { useCallback, useEffect, useState } from 'react'
 import styles from './index.module.scss'
 import { baseURL, myData } from '@/utils/http'
 import classNames from 'classnames'
@@ -40,22 +40,10 @@ function A4dance() {
     }
   }, [floorAc])
 
-  // 点击 云气图
-  const hotVideoRef = useRef<HTMLVideoElement>(null)
-
   const [hotInd, setHotInd] = useState(-1)
 
   const hotShowFu = useCallback((index: number) => {
     setHotInd(index)
-
-    // 第一个热点 云气图 其他是通用热点
-    if (index === 0) {
-      setTimeout(() => {
-        if (hotVideoRef.current) {
-          hotVideoRef.current.play()
-        }
-      }, 100)
-    }
   }, [])
 
   return (
@@ -72,18 +60,30 @@ function A4dance() {
         )}
       >
         {/* 热点图标 云气图为第一个*/}
-        {myData.dance.hot.map((item, index) => (
-          <HotIcon
-            style={{
-              top: item.loc.top,
-              left: item.loc.left
-            }}
-            key={index}
-            index={index}
-            clickSon={val => hotShowFu(val)}
-            hoverSrc={item.imgSrc}
-          />
-        ))}
+        {myData.dance.hot.map((item, index) =>
+          item.name === '汉代乐舞百戏' ? (
+            <div
+              onClick={() => hotShowFu(1)}
+              key={index}
+              className='A4leftBtn'
+              style={{ backgroundImage: `url(${baseURL}chef/chuBtn.png)` }}
+            >
+              汉代乐舞百戏
+            </div>
+          ) : (
+            <HotIcon
+              style={{
+                top: item.locPage.top,
+                left: item.locPage.left
+              }}
+              key={index}
+              index={index}
+              clickSon={val => hotShowFu(val)}
+              hoverSrc={item.hoverSrc}
+              isZhan={true}
+            />
+          )
+        )}
 
         {/* 底部 */}
         <div className='pvfloor'>
@@ -97,7 +97,7 @@ function A4dance() {
               <div className='pvflR1'></div>
               {/* 底图 */}
               <div className='pvflR2'>
-                <img src={baseURL + item.imgSrc} alt='' />
+                <img src={baseURL + item.hoverSrc} alt='' />
               </div>
 
               {/* 文字 */}

+ 2 - 1
Code/src/pages/A5chef/index.tsx

@@ -77,7 +77,7 @@ function A5chef() {
               key={index}
               index={index}
               clickSon={val => hotIndFu(val)}
-              hoverSrc={item.imgSrc}
+              hoverSrc={item.hoverSrc}
             />
           ))}
 
@@ -146,6 +146,7 @@ function A5chef() {
         lastVideo={lastVideo}
         src={baseURL + myData.chef.lastVideo}
         path='/plow'
+        delDom='.A5video'
         noBtn={true}
       />
     </div>

+ 4 - 4
Code/src/pages/A6plow/index.tsx

@@ -122,16 +122,16 @@ function A6plow() {
               </video>
 
               {/* 热点 */}
-              {item.hot.map((v, i) => (
+              {item.hot.map((v: PlowHotType, i) => (
                 <HotIcon
                   style={{
-                    top: v.loc.top,
-                    left: v.loc.left
+                    top: v.locPage.top,
+                    left: v.locPage.left
                   }}
                   key={i}
                   index={i}
                   clickSon={val => setHotInd(val)}
-                  hoverSrc={v.imgSrc}
+                  hoverSrc={v.hoverSrc}
                 />
               ))}
             </div>

+ 4 - 3
Code/src/pages/B1more/S2mien/index.module.scss

@@ -64,23 +64,24 @@
           transition: all 0.3s;
           color: #fffddc;
           opacity: 0.5;
-          border: 1px solid #fffddc;
           width: 36px;
           height: 36px;
           border-radius: 50%;
           margin-right: 20px;
           text-align: center;
           line-height: 32px;
+          background-image: url('../../../assets/img/icon-bcxz.png');
+          background-size: 100% 100%;
           &:hover {
             opacity: 1;
             color: #eacf60;
-            border-color: #eacf60;
+            background-image: url('../../../assets/img/icon-bcxz1.png');
           }
         }
         .S2btnAc {
           opacity: 1;
           color: #eacf60;
-          border-color: #eacf60;
+          background-image: url('../../../assets/img/icon-bcxz1.png');
         }
       }
     }

+ 20 - 8
Code/src/pages/B1more/S2mien/index.tsx

@@ -1,9 +1,11 @@
-import React, { useCallback, useEffect, useRef, useState } from 'react'
+import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
 import styles from './index.module.scss'
 import { baseURL, myData } from '@/utils/http'
 import classNames from 'classnames'
 import HotIcon from '@/components/HotIcon'
 import Hot2 from '@/pages/A2visit/PanoVideo/Hot2'
+import Hot1 from '@/pages/A2visit/PanoVideo/Hot1'
+import history from '@/utils/history'
 
 type Props = {
   hidden: boolean
@@ -37,8 +39,11 @@ function S2mien({ hidden }: Props) {
 
   // 从热点图标子组件点击
   const clickSon = useCallback((index: number) => {
-    // 打开热点
-    setOpenInd(index)
+    const name = data1.hot[index].name
+    // 打开热点  / 跳云起图页面
+    if (name === '四神云气图') history.push('/yun')
+    else setOpenInd(index)
+
     // 移动端点击 高亮
     setHotInd(index)
   }, [])
@@ -54,6 +59,13 @@ function S2mien({ hidden }: Props) {
     }
   }, [hotInd])
 
+  const hotName = useMemo(() => {
+    let name = ''
+    if (opnInd > -1 && data1.hot[opnInd]) name = data1.hot[opnInd].name
+
+    return name
+  }, [opnInd])
+
   return (
     <div
       hidden={hidden}
@@ -114,11 +126,11 @@ function S2mien({ hidden }: Props) {
 
       {/* 打开热点页面 */}
       {opnInd > -1 ? (
-        <Hot2
-          data={data1.hot[opnInd].data}
-          closeFu={() => setOpenInd(-1)}
-          name={data1.hot[opnInd].name}
-        />
+        hotName === '周礼九拜' ? (
+          <Hot1 data={data1.hot[opnInd].data} closeFu={() => setOpenInd(-1)} />
+        ) : (
+          <Hot2 data={data1.hot[opnInd].data} closeFu={() => setOpenInd(-1)} name={hotName} />
+        )
       ) : null}
     </div>
   )

+ 11 - 4
Code/src/pages/B1more/S3goods/index.module.scss

@@ -38,16 +38,19 @@
           width: 0;
           height: 100%;
           transition: width 0.5s;
-          overflow-x: auto;
+          // overflow-y: hidden;
           padding: 15px 0;
-          white-space: nowrap;
-          display: inline-block;
+          overflow-x: auto;
+
           &::-webkit-scrollbar {
             display: none;
           }
+          .S3rowZhanSon {
+            display: flex;
+            height: 100%;
+          }
 
           .S3zRow {
-            display: inline-block;
             width: 38px;
             height: 100%;
             background-size: 100% 100%;
@@ -70,6 +73,10 @@
             }
           }
         }
+        // .S3rowZhanMo {
+        //   overflow-x: hidden;
+        //   overflow-y: auto;
+        // }
       }
       // 展开状态
       .S3rowShow {

+ 18 - 16
Code/src/pages/B1more/S3goods/index.tsx

@@ -136,24 +136,26 @@ function S3goods({ hidden }: Props) {
               onMouseMove={e => mousemoveFu(e)}
               onWheel={e => mousemoveFu(e, true)}
             >
-              {item1.info.map((item2, index2) => (
-                <div
-                  onClick={() => {
-                    if (clickFlag.current) setOpenInfo(item2)
-                  }}
-                  className='S3zRow sizeNo'
-                  key={index2}
-                  style={{ backgroundImage: `url(${row2Bac(index2)})` }}
-                >
-                  {item2.name}
-                  {/* 上下的线 待完善 */}
-                  {/* <div className='S3zRxian'></div>
+              <div className='S3rowZhanSon' style={{ width: item1.info.length * 38 + 'px' }}>
+                {item1.info.map((item2, index2) => (
+                  <div
+                    onClick={() => {
+                      if (clickFlag.current) setOpenInfo(item2)
+                    }}
+                    className='S3zRow sizeNo'
+                    key={index2}
+                    style={{ backgroundImage: `url(${row2Bac(index2)})` }}
+                  >
+                    {item2.name}
+                    {/* 上下的线 待完善 */}
+                    {/* <div className='S3zRxian'></div>
                   <div className='S3zRxian S3zRxian2'></div> */}
 
-                  {/* 右下角图片 */}
-                  <img className='S3zRimg' src={baseURL + item2.suoSrc} alt='' />
-                </div>
-              ))}
+                    {/* 右下角图片 */}
+                    <img className='S3zRimg' src={baseURL + item2.suoSrc} alt='' />
+                  </div>
+                ))}
+              </div>
             </div>
           </div>
         ))}

+ 1 - 1
Code/src/pages/B1more/index.tsx

@@ -117,7 +117,7 @@ function B1more() {
       <div
         hidden={floorTxt !== '探索庄园'}
         className='A6rBtn'
-        style={{ opacity: isLoding ? 0 : 1 }}
+        style={{ opacity: isLoding ? 0 : 1, zIndex: videoSrc ? 10 : 30 }}
       >
         <div className='A6rBtn1' title='陶庄园' onClick={() => history.push('/unend')}></div>
         <div className='A6rBtn2' title='仙居世界' onClick={() => history.push('/hots')}></div>

+ 3 - 2
Code/src/types/api/layot.d.ts

@@ -15,12 +15,13 @@ export type VisitHotDataType = {
   name: string
   txt: string
   imgArr: string[]
+  type?: 'model'
 }[]
 
 export type PlowHotType = {
   name: string
-  imgSrc: string
-  loc: {
+  hoverSrc: string
+  locPage: {
     top: string
     left: string
   }

+ 5 - 5
Code/src/types/declaration.d.ts

@@ -10,8 +10,8 @@ declare module 'braft-utils'
 // public/myData.js 里面的一些数据的类型
 declare const baseUrlLoc: string
 declare const baseUrlAtl: string
-declare const myDataTemp: MyDataType
 declare const isPcTemp: boolean
+declare const myDataTemp: MyDataType
 
 type MyDataType = {
   isLdong: boolean
@@ -54,9 +54,9 @@ type MyDataType = {
   dance: {
     hot: {
       name: string
-      imgSrc: string
+      hoverSrc: string
       videoSrc: string
-      loc: {
+      locPage: {
         top: string
         left: string
       }
@@ -64,7 +64,7 @@ type MyDataType = {
     }[]
     floor: {
       name: string
-      imgSrc: string
+      hoverSrc: string
       videoSrc: string
     }[]
     lastVideo: string
@@ -99,7 +99,7 @@ type MyDataType = {
     houChuImg: string
     hot: {
       name: string
-      imgSrc: string
+      hoverSrc: string
       videoSrc: string
       showImg: string
       txt: string

BIN
资源/staticData/banquet/hot/1.4dage


BIN
资源/staticData/banquet/hot/hot1.png


BIN
资源/staticData/banquet/hot/hot2.png


BIN
资源/staticData/banquet/hot/hot3.png


BIN
资源/staticData/banquet/hot/hot4.png


BIN
资源/staticData/banquet/hot/hot5.png


BIN
资源/staticData/banquet/hot/hot6.png


BIN
资源/staticData/banquet/hot/hot7.png


资源/staticData/dance/hot1.png → 资源/staticData/dance/hot/hot1.png


BIN
资源/staticData/dance/hot/hot2.png


BIN
资源/staticData/dance/hot2.png


BIN
资源/staticData/more/hot/hot1.png


BIN
资源/staticData/more/hot/hot2.png


BIN
资源/staticData/more/hot/hot3.png


BIN
资源/staticData/more/hot/hot4.png


BIN
资源/staticData/more/hot/hot5.png


BIN
资源/staticData/plow/hot/1.4dage


BIN
资源/staticData/plow/hot/hot1.png


BIN
资源/staticData/plow/hot/hot2.png


BIN
资源/staticData/plow/hot/hot3.png


BIN
资源/staticData/plow/hot/hot4.png


BIN
资源/staticData/plow/hot/hot5.png


BIN
资源/staticData/plow/hot/hot6.png


BIN
资源/staticData/plow/hot1.png


BIN
资源/staticData/plow/hot2.png


BIN
资源/staticData/visit/hot/hot1.png


BIN
资源/staticData/visit/hot/hot2.png


BIN
资源/staticData/visit/hot/hot3.png


BIN
资源/staticData/visit/hot/hot4.png


BIN
资源/staticData/visit/hot/hot5.png