shaogen1995 3 月之前
父节点
当前提交
514052c78a
共有 100 个文件被更改,包括 1607 次插入5 次删除
  1. 4 0
      code/README.md
  2. 584 1
      code/public/myData/base.js
  3. 1 1
      code/src/assets/styles/base.css
  4. 1 1
      code/src/assets/styles/base.less
  5. 300 1
      code/src/pages/A2main/index.module.scss
  6. 137 1
      code/src/pages/A2main/index.tsx
  7. 244 0
      code/src/pages/A5yiShou/index.module.scss
  8. 131 0
      code/src/pages/A5yiShou/index.tsx
  9. 129 0
      code/src/pages/A6yiZheng/index.module.scss
  10. 50 0
      code/src/pages/A6yiZheng/index.tsx
  11. 26 0
      code/src/types/api/layot.d.ts
  12. 二进制
      静态资源/staticData/main/diao2/1.png
  13. 二进制
      静态资源/staticData/main/diao2/1_0.png
  14. 二进制
      静态资源/staticData/main/diao2/1_1.png
  15. 二进制
      静态资源/staticData/main/diao2/1_2.png
  16. 二进制
      静态资源/staticData/main/diao2/1_3.png
  17. 二进制
      静态资源/staticData/main/diao2/1_4.png
  18. 二进制
      静态资源/staticData/main/diao2/1_5.png
  19. 二进制
      静态资源/staticData/main/diao2/2.png
  20. 二进制
      静态资源/staticData/main/diao2/2_0.png
  21. 二进制
      静态资源/staticData/main/diao2/2_1.png
  22. 二进制
      静态资源/staticData/main/diao2/2_2.png
  23. 二进制
      静态资源/staticData/main/diao2/2_3.png
  24. 二进制
      静态资源/staticData/main/diao2/3.png
  25. 二进制
      静态资源/staticData/main/diao2/3_0.png
  26. 二进制
      静态资源/staticData/main/diao2/3_1.png
  27. 二进制
      静态资源/staticData/main/diao2/4.png
  28. 二进制
      静态资源/staticData/main/diao2/4_0.png
  29. 二进制
      静态资源/staticData/main/diao2/4_1.png
  30. 二进制
      静态资源/staticData/main/diao2/bg.jpg
  31. 二进制
      静态资源/staticData/main/diao2/big.png
  32. 二进制
      静态资源/staticData/main/diao2/big1.png
  33. 二进制
      静态资源/staticData/main/diao2/bigBtn.png
  34. 二进制
      静态资源/staticData/main/diao2/bigTit.png
  35. 二进制
      静态资源/staticData/main/diao2/btn.png
  36. 二进制
      静态资源/staticData/main/diao2/icon1.png
  37. 二进制
      静态资源/staticData/main/diao2/icon1Ac.png
  38. 二进制
      静态资源/staticData/main/diao2/icon2.png
  39. 二进制
      静态资源/staticData/main/diao2/icon2Ac.png
  40. 二进制
      静态资源/staticData/main/diao2/icon3.png
  41. 二进制
      静态资源/staticData/main/diao2/icon3Ac.png
  42. 二进制
      静态资源/staticData/main/diao2/icon4.png
  43. 二进制
      静态资源/staticData/main/diao2/icon4Ac.png
  44. 二进制
      静态资源/staticData/main/diao2/imgBg.png
  45. 二进制
      静态资源/staticData/main/diao2/main1.png
  46. 二进制
      静态资源/staticData/main/diao2/main2.png
  47. 二进制
      静态资源/staticData/main/diao2/main3.png
  48. 二进制
      静态资源/staticData/main/diao2/main4.png
  49. 二进制
      静态资源/staticData/main/diao2/mainTit1.png
  50. 二进制
      静态资源/staticData/main/diao2/mainTit2.png
  51. 二进制
      静态资源/staticData/main/diao2/mainTit3.png
  52. 二进制
      静态资源/staticData/main/diao2/mainTit4.png
  53. 二进制
      静态资源/staticData/main/diao2/tit1.png
  54. 二进制
      静态资源/staticData/main/diao2/tit2.png
  55. 二进制
      静态资源/staticData/main/diao2/tit3.png
  56. 二进制
      静态资源/staticData/main/diao2/tit4.png
  57. 二进制
      静态资源/staticData/main/x1.png
  58. 二进制
      静态资源/staticData/main/x2.png
  59. 二进制
      静态资源/staticData/main/x3.png
  60. 二进制
      静态资源/staticData/main/x4.png
  61. 二进制
      静态资源/staticData/main/x5.png
  62. 二进制
      静态资源/staticData/main/x6.png
  63. 二进制
      静态资源/staticData/main/x7.png
  64. 二进制
      静态资源/staticData/main/xleft.png
  65. 二进制
      静态资源/staticData/main/xright.png
  66. 二进制
      静态资源/staticData/main/xt.png
  67. 二进制
      静态资源/staticData/main/xtAc.png
  68. 二进制
      静态资源/staticData/main/y1.png
  69. 二进制
      静态资源/staticData/main/yiZheng/1.png
  70. 二进制
      静态资源/staticData/main/yiZheng/1_1.jpg
  71. 二进制
      静态资源/staticData/main/yiZheng/1_2.jpg
  72. 二进制
      静态资源/staticData/main/yiZheng/1_3.jpg
  73. 二进制
      静态资源/staticData/main/yiZheng/2.png
  74. 二进制
      静态资源/staticData/main/yiZheng/2_1.jpg
  75. 二进制
      静态资源/staticData/main/yiZheng/2_2.jpg
  76. 二进制
      静态资源/staticData/main/yiZheng/2_3.jpg
  77. 二进制
      静态资源/staticData/main/yiZheng/3.png
  78. 二进制
      静态资源/staticData/main/yiZheng/3_1.jpg
  79. 二进制
      静态资源/staticData/main/yiZheng/3_10.jpg
  80. 二进制
      静态资源/staticData/main/yiZheng/3_11.jpg
  81. 二进制
      静态资源/staticData/main/yiZheng/3_12.jpg
  82. 二进制
      静态资源/staticData/main/yiZheng/3_13.jpg
  83. 二进制
      静态资源/staticData/main/yiZheng/3_14.jpg
  84. 二进制
      静态资源/staticData/main/yiZheng/3_2.jpg
  85. 二进制
      静态资源/staticData/main/yiZheng/3_3.jpg
  86. 二进制
      静态资源/staticData/main/yiZheng/3_4.jpg
  87. 二进制
      静态资源/staticData/main/yiZheng/3_5.jpg
  88. 二进制
      静态资源/staticData/main/yiZheng/3_6.jpg
  89. 二进制
      静态资源/staticData/main/yiZheng/3_7.jpg
  90. 二进制
      静态资源/staticData/main/yiZheng/3_8.jpg
  91. 二进制
      静态资源/staticData/main/yiZheng/3_9.jpg
  92. 二进制
      静态资源/staticData/main/yiZheng/4.png
  93. 二进制
      静态资源/staticData/main/yiZheng/4_1.jpg
  94. 二进制
      静态资源/staticData/main/yiZheng/4_10.jpg
  95. 二进制
      静态资源/staticData/main/yiZheng/4_11.jpg
  96. 二进制
      静态资源/staticData/main/yiZheng/4_12.jpg
  97. 二进制
      静态资源/staticData/main/yiZheng/4_13.jpg
  98. 二进制
      静态资源/staticData/main/yiZheng/4_14.jpg
  99. 二进制
      静态资源/staticData/main/yiZheng/4_15.jpg
  100. 0 0
      静态资源/staticData/main/yiZheng/4_16.jpg

+ 4 - 0
code/README.md

@@ -1 +1,5 @@
 1.使用 yarn。 npm 有问题
+
+2.在 静态资源 目录自己运行一个 server,修改 baseUrl1 为 server 路径
+
+3.现在是放 oss 上,如果部署到甲方服务器,请修改 baseUrl2

文件差异内容过多而无法显示
+ 584 - 1
code/public/myData/base.js


+ 1 - 1
code/src/assets/styles/base.css

@@ -21,7 +21,7 @@ body {
   font: 1em/1.4 'Microsoft Yahei', 'PingFang SC', 'Avenir', 'Segoe UI', 'Hiragino Sans GB', 'STHeiti', 'Microsoft Sans Serif', 'WenQuanYi Micro Hei', sans-serif;
   font-size: var(--fontNum);
   height: 100%;
-  color: #fff;
+  color: #fff !important;
   overflow: hidden;
   background-color: var(--themeColor);
 }

+ 1 - 1
code/src/assets/styles/base.less

@@ -28,7 +28,7 @@ body {
     'STHeiti', 'Microsoft Sans Serif', 'WenQuanYi Micro Hei', sans-serif;
   font-size: var(--fontNum);
   height: 100%;
-  color: #fff;
+  color: #fff !important;
   overflow: hidden;
   background-color: var(--themeColor);
   // background-color: rgba(0, 0, 0, 0.8);

+ 300 - 1
code/src/pages/A2main/index.module.scss

@@ -200,7 +200,7 @@
         }
       }
 
-      // ---------------雕凿天工 翼兽传奇
+      // ---------------雕凿天工
       .A2d1 {
         margin-top: 40px;
         width: 100%;
@@ -266,7 +266,306 @@
         line-height: 36px;
       }
 
+      // --------------- 翼兽传奇
+      .A2y1 {
+        width: 1535px;
+        height: 734px;
+        background-size: 100% 100%;
+        margin: 0 0 60px 107px;
+        display: flex;
+        padding: 200px 20px 0 356px;
+        position: relative;
+
+        // 左右按钮
+        .A2y1Left {
+          cursor: pointer;
+          pointer-events: auto;
+          position: absolute;
+          z-index: 10;
+          top: 50%;
+          left: 107px;
+          width: 38px;
+          height: 67px;
+          animation: yunShan 2s infinite linear;
+        }
+
+        .A2y1Right {
+          left: auto;
+          right: -63px;
+        }
+
+        .A2y1LeftNo {
+          pointer-events: none;
+          animation: none;
+          opacity: 0.2;
+        }
+
+        .A2y1_1 {
+          width: 612px;
+          height: 570px;
+
+          .A2y1_1Tit {
+            height: 75px;
+            width: auto;
+            display: block;
+            margin: 0 auto 48px;
+          }
+
+          .A2y1_1Txt {
+            width: 100%;
+            height: 240px;
+            overflow-y: auto;
+            font-size: 24px;
+            line-height: 36px;
+          }
+
+          .A2y1_1Btn {
+            cursor: pointer;
+            pointer-events: auto;
+            display: block;
+            width: 257px;
+            height: 76px;
+            margin: 63px auto 0;
+            animation: yunShan 2s infinite linear;
+
+            &:hover {
+              animation: none;
+            }
+          }
+        }
+
+        .A2y1_2 {
+          position: relative;
+          top: 30px;
+          width: 527px;
+          height: 542px;
+          margin-left: 20px;
+          object-fit: contain;
+        }
+      }
+
+      .A2y2 {
+        height: 125px;
+        width: calc(100% - 174px);
+        margin: 30px auto 0;
+        position: relative;
+        display: flex;
+        justify-content: space-around;
+        padding: 0 100px;
+
+        &::before {
+          content: '';
+          position: absolute;
+          top: 38%;
+          left: 0;
+          width: 100%;
+          height: 1px;
+          background-color: #cfae80;
+        }
+
+        .A2y2Row {
+          height: 100%;
+          width: 200px;
+          position: relative;
+          z-index: 2;
+          text-align: center;
+          cursor: pointer;
+          animation: yunShan 2s infinite linear;
+
+          &>img {
+            width: 95px;
+            height: 93px;
+          }
+
+          &>p {
+            width: 100%;
+            position: absolute;
+            color: #FFE2A9;
+            font-size: 36px;
+          }
+
+          &:hover {
+            animation: none
+          }
+        }
+
+        .A2y2RowAc {
+          pointer-events: none;
+          animation: none
+        }
+      }
+
+      // --------------- 遗珍巡礼 现存石刻
+      .A2x1 {
+        width: 1535px;
+        height: 384px;
+        background-size: 100% 100%;
+        margin: -100px auto 138px;
+        display: flex;
+        flex-direction: column;
+        justify-content: center;
+        padding: 0 160px;
+
+        &>p {
+          font-family: 'kai';
+          font-size: 24px;
+          line-height: 36px;
+          margin: 20px 0;
+        }
+      }
+
+      .A2x2 {
+        background-size: 100% 100%;
+        width: 1622px;
+        height: 586px;
+        margin: 0 auto 10px;
+        padding: 20px 142px 28px 56px;
+        position: relative;
+
+        .A2x2_1 {
+          width: 100%;
+          height: 100%;
+          background-color: #b39c4e;
+        }
+
+        .A2x2_2 {
+          position: absolute;
+          top: 58px;
+          right: 52px;
+          font-size: 36px;
+          writing-mode: vertical-rl;
+          /* 或 vertical-lr */
+          text-orientation: upright;
+          /* 保持字符直立 */
+          letter-spacing: 3px;
+        }
+
+        .A2x2_3 {
+          position: absolute;
+          width: 110px;
+          height: auto;
+          bottom: 19px;
+          right: 13px;
+        }
+      }
+
+      .A2x3 {
+        display: block;
+        width: 1388px;
+        height: 252px;
+        margin: 0 0 64px 225px;
+
+      }
+
+      .A2x4 {
+        width: 100%;
+        height: 651px;
+        background-size: auto 100%;
+        background-repeat: no-repeat;
+        background-position: 0 0;
+        padding: 43px 0 0 284px;
+        display: flex;
+
+        .A2x4_1 {
+          padding-top: 18px;
+
+          .A2x4Row {
+            background-size: 100% 100%;
+            width: 209px;
+            height: 53px;
+            margin-bottom: 45px;
+            font-size: 36px;
+            letter-spacing: 4px;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            cursor: pointer;
+            animation: yunShan 2s infinite linear;
+            padding: 8px 0 0 30px;
+
+            &:hover {
+              animation: none;
+            }
+          }
+
+          .A2x4RowAc {
+            animation: none;
+            pointer-events: none;
+            color: #801B1B;
+          }
+        }
 
+        .A2x4_2 {
+          margin-left: 70px;
+          width: 1103px;
+          height: 547px;
+          background-size: 100% 100%;
+          padding-top: 40px;
+          position: relative;
+
+          .A2x4_2_1 {
+            display: flex;
+            justify-content: center;
+            align-items: center;
+
+            &>img {
+              height: 23px;
+              width: auto;
+            }
+
+            &>p {
+              color: #801B1B;
+              margin: 0 19px;
+              font-size: 36px;
+              letter-spacing: 4px;
+            }
+          }
+
+          .A2x4_2_2 {
+            margin: 20px auto 0;
+            width: 862px;
+            height: 374px;
+            display: flex;
+            align-items: center;
+
+            .hideSorrl {
+              max-height: 100%;
+              overflow: auto;
+
+              &>p {
+                color: #8C362B;
+                font-size: 24px;
+                line-height: 36px;
+                font-family: 'kai';
+                margin-bottom: 30px;
+
+                &>i {
+                  color: #eec063;
+                  font-family: 'kai';
+                }
+              }
+
+
+            }
+          }
+
+          .A2x4Btn {
+            position: absolute;
+            left: 50%;
+            bottom: -37px;
+            transform: translateX(-50%);
+            width: 257px;
+            height: 76px;
+            pointer-events: auto;
+            animation: yunShan 2s infinite linear;
+            cursor: pointer;
+
+            &:hover {
+              animation: none
+            }
+          }
+        }
+      }
     }
   }
 }

+ 137 - 1
code/src/pages/A2main/index.tsx

@@ -6,6 +6,8 @@ import { useParams } from 'react-router-dom'
 import A3liuChao1 from '../A3liuChao1'
 import A3liuChao2 from '../A3liuChao2'
 import A4diao from '../A4diao'
+import A5yiShou from '../A5yiShou'
+import A6yiZheng from '../A6yiZheng'
 
 function A2main() {
   // 从首页进来才需要平滑滚动
@@ -50,6 +52,21 @@ function A2main() {
   // ------雕凿天工--------
   const [diaoId, setDiaoId] = useState(0)
 
+  // -------翼兽传奇-------
+  const [yiInd, setYiInd] = useState(0)
+  const [yiId, setYiId] = useState(0)
+
+  const yiInfo = useMemo(() => {
+    return myData.main.yiShou.find((v, i) => i === yiInd)!
+  }, [yiInd])
+
+  // -------------遗珍巡礼 现存石刻-------------
+  const [yiZhengId, setYiZhengId] = useState(1)
+  const [yiZhengShow, setYiZhengShow] = useState(false)
+  const yiZhengInfo = useMemo(() => {
+    return myData.main.yiZheng.arr.find(v => v.id === yiZhengId)!.sonArr[0]
+  }, [yiZhengId])
+
   return (
     <div className={classNames(styles.A2main, 'hideSorrl')} ref={sorrlRef}>
       <div className='A2box' style={{ backgroundImage: `url(${baseUrl}main/bg.jpg)` }}>
@@ -106,7 +123,7 @@ function A2main() {
           </div>
         </div>
 
-        {/* ---------------------雕凿天工 翼兽传奇 */}
+        {/* ---------------------雕凿天工 */}
         <div className='A2l1'>
           <img className='A2l1_1' src={`${baseUrl}main/d1.png`} alt='' />
         </div>
@@ -133,6 +150,119 @@ function A2main() {
           dangerouslySetInnerHTML={{ __html: myData.main.chuangQi.tit2 }}
         ></div>
 
+        {/* --------------------- 翼兽传奇 */}
+        <div className='A2y1' style={{ backgroundImage: `url(${baseUrl}main/y1.png)` }}>
+          {/* 左右按钮 */}
+          <img
+            onClick={() => setYiInd(yiInd - 1)}
+            className={classNames('A2y1Left', yiInd === 0 ? 'A2y1LeftNo' : '')}
+            src={`${baseUrl}main/diao/left.png`}
+            alt=''
+          />
+          <img
+            onClick={() => setYiInd(yiInd + 1)}
+            className={classNames(
+              'A2y1Left A2y1Right',
+              yiInd >= myData.main.yiShou.length - 1 ? 'A2y1LeftNo' : ''
+            )}
+            src={`${baseUrl}main/diao/right.png`}
+            alt=''
+          />
+
+          <div className='A2y1_1'>
+            <img
+              className='A2y1_1Tit'
+              src={`${baseUrl}main/diao2/mainTit${yiInfo.id}.png`}
+              alt=''
+            />
+            <div
+              className='A2y1_1Txt hideSorrl kaiFont'
+              dangerouslySetInnerHTML={{ __html: yiInfo.txt1 }}
+            ></div>
+
+            <img
+              className='A2y1_1Btn'
+              onClick={() => setYiId(yiInfo.id)}
+              src={`${baseUrl}main/diao2/btn.png`}
+              alt=''
+            />
+          </div>
+
+          <img className='A2y1_2' src={`${baseUrl}main/diao2/main${yiInfo.id}.png`} alt='' />
+        </div>
+
+        <div className='A2y2'>
+          {myData.main.yiShou.map((item, index) => (
+            <div
+              onClick={() => setYiInd(index)}
+              key={item.id}
+              className={classNames('A2y2Row', yiInd === index ? 'A2y2RowAc' : '')}
+            >
+              <img
+                src={`${baseUrl}main/diao2/icon${item.id}${yiInd === index ? 'Ac' : ''}.png`}
+                alt=''
+              />
+              <p className='kaiFont'>{item.name}</p>
+            </div>
+          ))}
+        </div>
+
+        {/* --------------------- 遗珍巡礼 现存石刻 */}
+        <div className='A2l1'>
+          <img className='A2l1_1' src={`${baseUrl}main/x1.png`} alt='' />
+        </div>
+
+        <div
+          className='A2x1'
+          dangerouslySetInnerHTML={{ __html: myData.main.yiZheng.txt }}
+          style={{ backgroundImage: `url(${baseUrl}main/x2.png)` }}
+        ></div>
+
+        <div className='A2x2' style={{ backgroundImage: `url(${baseUrl}main/x3.png)` }}>
+          <div className='A2x2_1'></div>
+          <div className='A2x2_2 kaiFont'>江苏六朝石刻分布</div>
+          <img className='A2x2_3' src={`${baseUrl}main/x4.png`} alt='' />
+        </div>
+
+        <img className='A2x3' src={`${baseUrl}main/x5.png`} alt='' />
+
+        <div className='A2x4' style={{ backgroundImage: `url(${baseUrl}main/x6.png)` }}>
+          <div className='A2x4_1'>
+            {myData.main.yiZheng.arr.map(item => (
+              <div
+                onClick={() => setYiZhengId(item.id)}
+                key={item.id}
+                className={classNames('A2x4Row kaiFont', yiZhengId === item.id ? 'A2x4RowAc' : '')}
+                style={{
+                  backgroundImage: `url(${baseUrl}main/xt${yiZhengId === item.id ? 'Ac' : ''}.png)`
+                }}
+              >
+                {item.name}
+              </div>
+            ))}
+          </div>
+          <div className='A2x4_2' style={{ backgroundImage: `url(${baseUrl}main/x7.png)` }}>
+            <div className='A2x4_2_1'>
+              <img src={`${baseUrl}main/xright.png`} alt='' />
+              <p className='kaiFont'>{yiZhengInfo.name}</p>
+              <img src={`${baseUrl}main/xleft.png`} alt='' />
+            </div>
+            <div className='A2x4_2_2'>
+              <div
+                className='hideSorrl'
+                dangerouslySetInnerHTML={{ __html: yiZhengInfo.txt }}
+              ></div>
+            </div>
+
+            <img
+              className='A2x4Btn'
+              onClick={() => setYiZhengShow(true)}
+              src={`${baseUrl}main/diao2/btn.png`}
+              alt=''
+            />
+          </div>
+        </div>
+
         {/* end */}
       </div>
 
@@ -145,6 +275,12 @@ function A2main() {
 
       {/* ---------------------雕凿天工 详情页 */}
       {diaoId ? <A4diao id={diaoId} closeFu={() => setDiaoId(0)} /> : null}
+
+      {/* ---------------------翼兽传奇 详情页 */}
+      {yiId ? <A5yiShou id={yiId} closeFu={() => setYiId(0)} /> : null}
+
+      {/* ----------------遗珍巡礼 现存石刻详情页--- */}
+      {yiZhengShow ? <A6yiZheng id={yiZhengId} closeFu={() => setYiZhengShow(false)} /> : null}
     </div>
   )
 }

+ 244 - 0
code/src/pages/A5yiShou/index.module.scss

@@ -0,0 +1,244 @@
+.A5yiShou {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 10;
+  background-size: 100% 100%;
+  overflow: auto;
+
+  :global {
+
+    .A5lookBox {
+      position: fixed;
+      z-index: 100;
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 100%;
+      background-color: rgba(0, 0, 0, .7);
+      backdrop-filter: blur(4px);
+
+      .A5LX {
+        position: absolute;
+        z-index: 200;
+        top: 70px;
+        right: 46px;
+        cursor: pointer;
+        font-size: 40px;
+      }
+
+      .A5look {
+        width: 100%;
+        height: 100%;
+        overflow: auto;
+
+        .A5lMain {
+          width: 100%;
+          height: auto;
+          padding-top: 198px;
+          padding-bottom: 200px;
+
+          .A5lMain1 {
+            width: 1439px;
+            height: auto;
+            display: block;
+            margin: 0 auto 188px;
+          }
+
+          .A5lMain2 {
+            display: block;
+            width: 1673px;
+            margin-left: 67px;
+          }
+        }
+      }
+
+    }
+
+
+    .A5main {
+      background-size: 100% auto;
+      background-repeat: no-repeat;
+      background-position: 0 0;
+      position: relative;
+      padding-top: 500px;
+
+      .A5top1 {
+        position: absolute;
+        top: 247px;
+        left: 107px;
+      }
+
+      .A5top12 {
+        width: 211px;
+        top: 157px;
+        left: 105px;
+      }
+
+      .A5top13 {
+        top: 257px;
+        left: 192px;
+      }
+
+      .A5top14 {
+        top: 233px;
+        left: 96px;
+      }
+
+      .A5top2 {
+        position: absolute;
+        width: 460px;
+        height: auto;
+        top: 331px;
+        left: 229px;
+      }
+
+      .A5top22 {
+        width: 425px;
+        top: 299px;
+        left: 349px;
+      }
+
+      .A5top23 {
+        width: 421px;
+        top: 216px;
+        left: 293px;
+      }
+
+      .A5top24 {
+        width: 434px;
+        top: 429px;
+        left: 242px;
+      }
+
+      .A5top3 {
+        display: flex;
+        justify-content: flex-end;
+        padding-right: 107px;
+        height: 272px;
+        margin-bottom: 353px;
+
+        &>div {
+          width: 1026px;
+          font-size: 24px;
+          line-height: 36px;
+        }
+      }
+
+      .A5big {
+        margin-top: -40px;
+        height: 1143px;
+        display: flex;
+        justify-content: center;
+        position: relative;
+        margin-bottom: -80px;
+
+        .A5bigImg {
+          width: auto;
+
+          .A5bigImg1 {
+            width: 389px;
+            height: 1000px;
+            display: block;
+            margin-bottom: 10px;
+          }
+
+          .A5bigImg2 {
+            cursor: pointer;
+            margin: 0 auto;
+            pointer-events: auto;
+            width: 359px;
+            height: 133px;
+            display: block;
+            animation: yunShan 2s infinite linear;
+
+            &:hover {
+              animation: none
+            }
+          }
+
+          &>p {
+            height: 100%;
+            position: absolute;
+            top: 0;
+            right: 345px;
+            font-size: 60px;
+            writing-mode: vertical-rl;
+            /* 或 vertical-lr */
+            text-orientation: upright;
+            /* 保持字符直立 */
+            text-align: center;
+            letter-spacing: 2px;
+            display: flex;
+            justify-content: center;
+          }
+
+        }
+      }
+
+      .A5imgBox {
+        margin: 71px auto 0px;
+        display: flex;
+        justify-content: center;
+        flex-wrap: wrap;
+
+        .A5row {
+          background-size: 100% 100%;
+          width: 762px;
+          height: 505px;
+          margin: 0 99px 88px;
+          padding: 40px;
+
+          &>img {
+            width: 100%;
+            height: 367px;
+            object-fit: contain;
+          }
+
+          &>p {
+            text-align: center;
+            margin-top: 30px;
+            font-size: 36px;
+          }
+
+
+          // &:nth-of-type(1n) {
+          //   margin-right: 198px;
+          // }
+        }
+      }
+
+
+
+      .A5imgBox1 {
+        margin-top: 353px;
+      }
+
+      .A5txt2 {
+        margin-top: -33px;
+
+        padding-left: 100px;
+        font-size: 24px;
+      }
+
+      .A5txt3 {
+        width: 1533px;
+        height: 204px;
+        background-size: 100% 100%;
+        margin: 120px auto 70px;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        padding: 0 140px;
+
+        &>p {
+          font-size: 24px;
+          line-height: 36px;
+        }
+      }
+    }
+
+  }
+}

+ 131 - 0
code/src/pages/A5yiShou/index.tsx

@@ -0,0 +1,131 @@
+import React, { useMemo, useState } from 'react'
+import styles from './index.module.scss'
+import Ztop from '@/components/Ztop'
+import classNames from 'classnames'
+import { baseUrl, myData } from '@/utils/http'
+import { CloseOutlined } from '@ant-design/icons'
+
+type Props = {
+  id: number
+  closeFu: () => void
+}
+
+function A5yiShou({ id, closeFu }: Props) {
+  const info = useMemo(() => {
+    return myData.main.yiShou.find(v => v.id === id)!
+  }, [id])
+
+  // 点击神道柱
+  const [lookZhu, setLookZhu] = useState(false)
+
+  return (
+    <div id='opacityCss' className={classNames(styles.A5yiShou, 'hideSorrl')}>
+      <Ztop backFu={closeFu} />
+
+      <div
+        className='A5main'
+        style={{ backgroundImage: `url(${baseUrl}main/diao2/bg.jpg)`, height: info.pageHeight }}
+      >
+        <img className={`A5top1 A5top1${id}`} src={`${baseUrl}main/diao2/tit${id}.png`} alt='' />
+        <img className={`A5top2 A5top2${id}`} src={`${baseUrl}main/diao2/${id}.png`} alt='' />
+
+        <div className='A5top3'>
+          <div className='kaiFont' dangerouslySetInnerHTML={{ __html: info.txt1 }}></div>
+        </div>
+
+        {/* 图片列表 */}
+        {info.imgArr1 ? (
+          <div className={classNames('A5imgBox', id === 1 ? 'A5imgBox1' : '')}>
+            {info.imgArr1.map((item, index) => (
+              <div
+                style={{ backgroundImage: `url(${baseUrl}main/diao2/imgBg.png)` }}
+                className='A5row'
+                key={index}
+              >
+                <img src={baseUrl + item.url} alt='' />
+                <p className='kaiFont'>{item.name}</p>
+              </div>
+            ))}
+          </div>
+        ) : null}
+
+        {info.txt2 ? (
+          <div className='A5txt2 kaiFont' dangerouslySetInnerHTML={{ __html: info.txt2 }}></div>
+        ) : null}
+
+        {/* 神道石柱才有的放大 */}
+        {info.bigImg ? (
+          <div className='A5big'>
+            <div className='A5bigImg'>
+              <img className='A5bigImg1' src={`${baseUrl}main/diao2/big1.png`} alt='' />
+              <img
+                className='A5bigImg2'
+                onClick={() => setLookZhu(true)}
+                src={`${baseUrl}main/diao2/bigBtn.png`}
+                alt=''
+              />
+              <p className='kaiFont'>
+                <i>【</i>南朝萧景墓神道柱结构爆炸示意<i>】</i>
+              </p>
+            </div>
+          </div>
+        ) : null}
+
+        {info.txt3 ? (
+          <div className='A5txt3' style={{ backgroundImage: `url(${baseUrl}main/l2.png)` }}>
+            <p className='kaiFont' dangerouslySetInnerHTML={{ __html: info.txt3 }}></p>
+          </div>
+        ) : null}
+
+        <div className={classNames('A5imgBox')}>
+          {info.imgArr2.map((item, index) => (
+            <div
+              style={{ backgroundImage: `url(${baseUrl}main/diao2/imgBg.png)` }}
+              className='A5row'
+              key={index}
+            >
+              <img src={baseUrl + item.url} alt='' />
+              <p className='kaiFont'>{item.name}</p>
+            </div>
+          ))}
+        </div>
+
+        {info.txt4 ? (
+          <div className='A5txt2 kaiFont' dangerouslySetInnerHTML={{ __html: info.txt4 }}></div>
+        ) : null}
+
+        {info.imgArr3 ? (
+          <div className={classNames('A5imgBox', id === 1 ? 'A5imgBox1' : '')}>
+            {info.imgArr3.map((item, index) => (
+              <div
+                style={{ backgroundImage: `url(${baseUrl}main/diao2/imgBg.png)` }}
+                className='A5row'
+                key={index}
+              >
+                <img src={baseUrl + item.url} alt='' />
+                <p className='kaiFont'>{item.name}</p>
+              </div>
+            ))}
+          </div>
+        ) : null}
+      </div>
+
+      {/* 查看神道柱 */}
+      {lookZhu ? (
+        <div className='A5lookBox' id='opacityCss'>
+          <CloseOutlined onClick={() => setLookZhu(false)} rev={undefined} className='A5LX' />
+          <div className={classNames('A5look hideSorrl')}>
+            <div className='A5lMain'>
+              <img className='A5lMain1' src={`${baseUrl}main/diao2/bigTit.png`} alt='' />
+              <img className='A5lMain2' src={`${baseUrl}main/diao2/big.png`} alt='' />
+            </div>
+          </div>
+        </div>
+      ) : null}
+    </div>
+  )
+}
+
+const MemoA5yiShou = React.memo(A5yiShou)
+
+export default MemoA5yiShou

+ 129 - 0
code/src/pages/A6yiZheng/index.module.scss

@@ -0,0 +1,129 @@
+.A6yiZheng {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 10;
+  background-size: 100% 100%;
+  overflow: auto;
+
+  :global {
+    .A6main {
+      width: 100%;
+      min-height: 100%;
+      height: auto;
+      position: relative;
+      background-size: 100% auto;
+      background-position: 0 0;
+      background-repeat: no-repeat;
+      background-color: #3c1f11;
+      padding-bottom: 60px;
+
+
+
+      .A6top1 {
+        position: absolute;
+        top: 211px;
+        right: 144px;
+      }
+
+      .A6top2 {
+        padding-top: 180px;
+        margin-left: 662px;
+        margin-bottom: 160px;
+      }
+
+      .A6top22 {
+        padding-top: 232px;
+        margin-left: 411px;
+        margin-bottom: 282px;
+
+      }
+
+      .A6top23 {
+        padding-top: 200px;
+        margin-left: 544px;
+        margin-bottom: 291px;
+
+      }
+
+      .A6top24 {
+        padding-top: 175px;
+        margin-left: 453px;
+        margin-bottom: 301px;
+
+      }
+
+      .A6top25 {
+        padding-top: 144px;
+        margin-left: 510px;
+        margin-bottom: 235px;
+
+      }
+
+      .A6top26 {
+        padding-top: 86px;
+        margin-left: 721px;
+        margin-bottom: 198px;
+
+      }
+
+      .A6row {
+        width: 1081px;
+        margin: 0 auto;
+
+        .A6name {
+          height: 79px;
+          width: auto;
+          display: block;
+          margin: 50px auto 50px;
+        }
+
+        .A6txt {
+          font-size: 24px;
+
+          &>p {
+            font-family: 'kai';
+            line-height: 36px;
+            margin-bottom: 30px;
+
+            &>i {
+              font-family: 'kai';
+              color: var(--themeColor2);
+            }
+          }
+
+        }
+
+        .A6img {
+          margin-bottom: 40px;
+
+          .A6loding {
+            min-height: 600px;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            font-family: 'kai';
+            font-size: 36px;
+            letter-spacing: 4px;
+            color: var(--themeColor2);
+          }
+
+          .adm-image-tip {
+
+            height: 200px;
+          }
+
+
+          &>p {
+            margin-top: 5px;
+            text-align: center;
+            font-size: 24px;
+            font-family: 'kai';
+          }
+        }
+      }
+    }
+  }
+}

+ 50 - 0
code/src/pages/A6yiZheng/index.tsx

@@ -0,0 +1,50 @@
+import React, { useMemo } from 'react'
+import styles from './index.module.scss'
+import { baseUrl, myData } from '@/utils/http'
+import classNames from 'classnames'
+import Ztop from '@/components/Ztop'
+import { Image } from 'antd-mobile'
+
+type Props = {
+  id: number
+  closeFu: () => void
+}
+
+function A6yiZheng({ id, closeFu }: Props) {
+  const arr = useMemo(() => {
+    return myData.main.yiZheng.arr.find(v => v.id === id)!.sonArr
+  }, [id])
+
+  return (
+    <div id='opacityCss' className={classNames(styles.A6yiZheng, 'hideSorrl')}>
+      <Ztop backFu={closeFu} />
+      <div className='A6main' style={{ backgroundImage: `url(${baseUrl}main/yiZheng/bg.jpg)` }}>
+        <img className='A6top1' src={`${baseUrl}main/yiZheng/txt${id}.png`} alt='' />
+        <div className={`A6top2 A6top2${id}`}>
+          <img src={`${baseUrl}main/yiZheng/${id}.png`} alt='' />
+        </div>
+
+        {arr.map((item, index) => (
+          <div key={index} className='A6row'>
+            <img className='A6name' src={`${baseUrl + item.nameUrl}`} alt='' />
+            <div className='A6txt' dangerouslySetInnerHTML={{ __html: item.txt }}></div>
+            {item.imgArr.map((img, imgInd) => (
+              <div key={imgInd} className='A6img'>
+                <Image
+                  lazy={true}
+                  src={baseUrl + img.url}
+                  placeholder={<div className='A6loding'>加载中...</div>}
+                />
+                <p>{img.name}</p>
+              </div>
+            ))}
+          </div>
+        ))}
+      </div>
+    </div>
+  )
+}
+
+const MemoA6yiZheng = React.memo(A6yiZheng)
+
+export default MemoA6yiZheng

+ 26 - 0
code/src/types/api/layot.d.ts

@@ -34,5 +34,31 @@ export type MyDataType = {
         imgArr: ImgArrType
       }[]
     }
+    yiShou: {
+      id: number
+      name: string
+      pageHeight: string
+      txt1: string
+      bigImg?: string
+      imgArr1?: ImgArrType
+      txt2?: string
+      txt3?: string
+      imgArr2: ImgArrType
+      txt4?: string
+      imgArr3?: ImgArrType
+    }[]
+    yiZheng: {
+      txt: string
+      arr: {
+        id: number
+        name: string
+        sonArr: {
+          name: string
+          nameUrl: string
+          txt: string
+          imgArr: ImgArrType
+        }[]
+      }[]
+    }
   }
 }

二进制
静态资源/staticData/main/diao2/1.png


二进制
静态资源/staticData/main/diao2/1_0.png


二进制
静态资源/staticData/main/diao2/1_1.png


二进制
静态资源/staticData/main/diao2/1_2.png


二进制
静态资源/staticData/main/diao2/1_3.png


二进制
静态资源/staticData/main/diao2/1_4.png


二进制
静态资源/staticData/main/diao2/1_5.png


二进制
静态资源/staticData/main/diao2/2.png


二进制
静态资源/staticData/main/diao2/2_0.png


二进制
静态资源/staticData/main/diao2/2_1.png


二进制
静态资源/staticData/main/diao2/2_2.png


二进制
静态资源/staticData/main/diao2/2_3.png


二进制
静态资源/staticData/main/diao2/3.png


二进制
静态资源/staticData/main/diao2/3_0.png


二进制
静态资源/staticData/main/diao2/3_1.png


二进制
静态资源/staticData/main/diao2/4.png


二进制
静态资源/staticData/main/diao2/4_0.png


二进制
静态资源/staticData/main/diao2/4_1.png


二进制
静态资源/staticData/main/diao2/bg.jpg


二进制
静态资源/staticData/main/diao2/big.png


二进制
静态资源/staticData/main/diao2/big1.png


二进制
静态资源/staticData/main/diao2/bigBtn.png


二进制
静态资源/staticData/main/diao2/bigTit.png


二进制
静态资源/staticData/main/diao2/btn.png


二进制
静态资源/staticData/main/diao2/icon1.png


二进制
静态资源/staticData/main/diao2/icon1Ac.png


二进制
静态资源/staticData/main/diao2/icon2.png


二进制
静态资源/staticData/main/diao2/icon2Ac.png


二进制
静态资源/staticData/main/diao2/icon3.png


二进制
静态资源/staticData/main/diao2/icon3Ac.png


二进制
静态资源/staticData/main/diao2/icon4.png


二进制
静态资源/staticData/main/diao2/icon4Ac.png


二进制
静态资源/staticData/main/diao2/imgBg.png


二进制
静态资源/staticData/main/diao2/main1.png


二进制
静态资源/staticData/main/diao2/main2.png


二进制
静态资源/staticData/main/diao2/main3.png


二进制
静态资源/staticData/main/diao2/main4.png


二进制
静态资源/staticData/main/diao2/mainTit1.png


二进制
静态资源/staticData/main/diao2/mainTit2.png


二进制
静态资源/staticData/main/diao2/mainTit3.png


二进制
静态资源/staticData/main/diao2/mainTit4.png


二进制
静态资源/staticData/main/diao2/tit1.png


二进制
静态资源/staticData/main/diao2/tit2.png


二进制
静态资源/staticData/main/diao2/tit3.png


二进制
静态资源/staticData/main/diao2/tit4.png


二进制
静态资源/staticData/main/x1.png


二进制
静态资源/staticData/main/x2.png


二进制
静态资源/staticData/main/x3.png


二进制
静态资源/staticData/main/x4.png


二进制
静态资源/staticData/main/x5.png


二进制
静态资源/staticData/main/x6.png


二进制
静态资源/staticData/main/x7.png


二进制
静态资源/staticData/main/xleft.png


二进制
静态资源/staticData/main/xright.png


二进制
静态资源/staticData/main/xt.png


二进制
静态资源/staticData/main/xtAc.png


二进制
静态资源/staticData/main/y1.png


二进制
静态资源/staticData/main/yiZheng/1.png


二进制
静态资源/staticData/main/yiZheng/1_1.jpg


二进制
静态资源/staticData/main/yiZheng/1_2.jpg


二进制
静态资源/staticData/main/yiZheng/1_3.jpg


二进制
静态资源/staticData/main/yiZheng/2.png


二进制
静态资源/staticData/main/yiZheng/2_1.jpg


二进制
静态资源/staticData/main/yiZheng/2_2.jpg


二进制
静态资源/staticData/main/yiZheng/2_3.jpg


二进制
静态资源/staticData/main/yiZheng/3.png


二进制
静态资源/staticData/main/yiZheng/3_1.jpg


二进制
静态资源/staticData/main/yiZheng/3_10.jpg


二进制
静态资源/staticData/main/yiZheng/3_11.jpg


二进制
静态资源/staticData/main/yiZheng/3_12.jpg


二进制
静态资源/staticData/main/yiZheng/3_13.jpg


二进制
静态资源/staticData/main/yiZheng/3_14.jpg


二进制
静态资源/staticData/main/yiZheng/3_2.jpg


二进制
静态资源/staticData/main/yiZheng/3_3.jpg


二进制
静态资源/staticData/main/yiZheng/3_4.jpg


二进制
静态资源/staticData/main/yiZheng/3_5.jpg


二进制
静态资源/staticData/main/yiZheng/3_6.jpg


二进制
静态资源/staticData/main/yiZheng/3_7.jpg


二进制
静态资源/staticData/main/yiZheng/3_8.jpg


二进制
静态资源/staticData/main/yiZheng/3_9.jpg


二进制
静态资源/staticData/main/yiZheng/4.png


二进制
静态资源/staticData/main/yiZheng/4_1.jpg


二进制
静态资源/staticData/main/yiZheng/4_10.jpg


二进制
静态资源/staticData/main/yiZheng/4_11.jpg


二进制
静态资源/staticData/main/yiZheng/4_12.jpg


二进制
静态资源/staticData/main/yiZheng/4_13.jpg


二进制
静态资源/staticData/main/yiZheng/4_14.jpg


二进制
静态资源/staticData/main/yiZheng/4_15.jpg


+ 0 - 0
静态资源/staticData/main/yiZheng/4_16.jpg


部分文件因为文件数量过多而无法显示