shaogen1995 3 月之前
父節點
當前提交
e016990427
共有 61 個文件被更改,包括 1520 次插入465 次删除
  1. 二進制
      public/myData/base.ts
  2. 35 35
      public/myData/myData.js
  3. 二進制
      public/unityMo/Build/Build.data.unityweb
  4. 二進制
      public/unityMo/Build/Build.framework.js.unityweb
  5. 1 1
      public/unityMo/Build/Build.loader.js
  6. 二進制
      public/unityMo/Build/Build.wasm.unityweb
  7. 341 184
      public/unityMo/StreamingAssets/Settings.json
  8. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/089c7ab93c27a929ecb0cbb575f4147c.bundle
  9. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/0c7d9fe059db2ee83f04ec4894355538.bundle
  10. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/0cfa26d92f2aa9ec3f6b127e37e19928.bundle
  11. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/12570a22233b8e31ae27644dbcfe8e98.bundle
  12. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/1f4f6856c5caec206fca42ebaaa7919f.bundle
  13. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/1fdbed01508125f1bbe8926c09ca0d2e.bundle
  14. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/2c352ba22942b872b574485b0b4384da.bundle
  15. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/2e10bd011dcfe194a54037622fdea2d9.bundle
  16. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/3b9adc28bc1734efbd67fd7d207cd380.bundle
  17. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/4d0b6aa8264949a568c452d2c79d8312.bundle
  18. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/70dd350ae0c35589e9c5059d2523eeec.bundle
  19. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/7adf775361ca6e72918ffddb174b07ab.bundle
  20. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/84c50e06568f07e196412fa1bf98bee4.bundle
  21. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/9cf96dc4528eac0215c219b70cbcf4d4.bundle
  22. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/d078ced9a95dca98f3830330be5ace9c.bundle
  23. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/d1c8a5b8339fe0f585144eb59bb093c4.bundle
  24. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/de801cfbd560353b0e517bed99a133b6.bundle
  25. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/e3ff228125d82f0307b9fcd91d17330c.bundle
  26. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/ed5b1b75119bd2126a9d609a18d08a78.bundle
  27. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/f1791d0a6f5c2c029b608731c7e720bd.bundle
  28. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/f495ebcc1be471e80b1eeefb3b34f5e0.bundle
  29. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/f63c2a07093bd541f0c1f2104a82313d.bundle
  30. 二進制
      public/unityMo/StreamingAssets/aa/WebGL/f9e6c2827344ae404bed18f5b511740d.bundle
  31. 二進制
      public/unityMo/StreamingAssets/aa/catalog.bin
  32. 1 1
      public/unityMo/StreamingAssets/aa/catalog.hash
  33. 1 1
      public/unityMo/StreamingAssets/aa/settings.json
  34. 57 0
      public/unityMo/export_drawingBoard.js
  35. 16 15
      public/unityMo/export_main.js
  36. 5 0
      public/unityMo/index.html
  37. 二進制
      public/unityPc/Build/Build.data.unityweb
  38. 二進制
      public/unityPc/Build/Build.framework.js.unityweb
  39. 1 1
      public/unityPc/Build/Build.loader.js
  40. 二進制
      public/unityPc/Build/Build.wasm.unityweb
  41. 266 11
      public/unityPc/StreamingAssets/Settings.json
  42. 14 15
      public/unityPc/export_main.js
  43. 507 84
      src/App.tsx
  44. 二進制
      src/assets/img/A6_sangzang_geshi1.png
  45. 二進制
      src/assets/img/A6_sangzang_geshi2.png
  46. 二進制
      src/assets/img/A6_sangzang_geshi3.png
  47. 二進制
      src/assets/img/A6_sangzang_left_tab0.png
  48. 二進制
      src/assets/img/A6_sangzang_left_tab1.png
  49. 二進制
      src/assets/img/A6_sangzang_left_tab2.png
  50. 二進制
      src/assets/img/A6_sangzang_left_tab3.png
  51. 二進制
      src/assets/img/A6_sangzang_left_tab4.png
  52. 5 3
      src/pages/A0base/index.module.scss
  53. 2 2
      src/pages/A2yblm/components/ModalTxt/index.module.scss
  54. 45 27
      src/pages/A2yblm/components/ModalTxt/index.tsx
  55. 1 1
      src/pages/A2yblm/index.module.scss
  56. 6 2
      src/pages/A3beie/index.module.scss
  57. 114 32
      src/pages/A6ybwx/Sangzang/components/Sangzangys/index.module.scss
  58. 27 14
      src/pages/A6ybwx/Sangzang/components/Sangzangys/index.tsx
  59. 2 2
      src/pages/A7wjwj/conponents/Shuxing/index.module.scss
  60. 55 27
      src/pages/A7wjwj/conponents/Shuxing/index.tsx
  61. 18 7
      src/pages/A7wjwj/index.tsx

二進制
public/myData/base.ts


+ 35 - 35
public/myData/myData.js

@@ -2001,22 +2001,22 @@ const myDataTemp = {
           img_ac: ['./myData/knowledgeImg/bjzcyczb-bc-smjlmb-2.png'],
           from_ac: '图片来源:《山西大同石家寨北魏司马金龙墓》图7'
         },
-        {
-          name: '染华墓志铭',
-          time: '北魏孝昌二年(526年)',
-          desc: '',
-          img: [],
-          img_ac: ['./myData/knowledgeImg/bjzcyczb-bc-rhmz.jpg'],
-          from_ac: '图片来源:艺术观止微信公众号',
-          from: ''
-        },
-        {
-          name: '胡昭仪墓志铭',
-          time: '(肃宗昭仪胡明相墓志铭   北魏孝昌三年(527年)',
-          desc: '',
-          img: ['./myData/knowledgeImg/bjzcyczb--hzymzm-1.png'],
-          from: '图片来源:镇原县博物馆微信公众号'
-        },
+        // {
+        //   name: '染华墓志铭',
+        //   time: '北魏孝昌二年(526年)',
+        //   desc: '',
+        //   img: [],
+        //   img_ac: ['./myData/knowledgeImg/bjzcyczb-bc-rhmz.jpg'],
+        //   from_ac: '图片来源:艺术观止微信公众号',
+        //   from: ''
+        // },
+        // {
+        //   name: '胡昭仪墓志铭',
+        //   time: '(肃宗昭仪胡明相墓志铭   北魏孝昌三年(527年)',
+        //   desc: '',
+        //   img: ['./myData/knowledgeImg/bjzcyczb--hzymzm-1.png'],
+        //   from: '图片来源:镇原县博物馆微信公众号'
+        // },
         {
           name: '元天穆墓志',
           time: '北魏普泰元年(531年)',
@@ -2027,19 +2027,19 @@ const myDataTemp = {
           ],
           from: '图片来源:艺术观止微信公众号'
         },
-        {
-          name: '冯邕妻元氏墓志',
-          time: '北魏正光三年(522年)',
-          desc: '',
-          from: ''
-        },
-        {
-          // name: '元恩墓志铭(《长孙子泽墓志铭》)',
-          name: '元恩墓志铭',
-          time: '北魏永熙三年(534年)',
-          desc: '',
-          from: ''
-        },
+        // {
+        //   name: '冯邕妻元氏墓志',
+        //   time: '北魏正光三年(522年)',
+        //   desc: '',
+        //   from: ''
+        // },
+        // {
+        //   // name: '元恩墓志铭(《长孙子泽墓志铭》)',
+        //   name: '元恩墓志铭',
+        //   time: '北魏永熙三年(534年)',
+        //   desc: '',
+        //   from: ''
+        // },
         {
           name: '元乂墓志铭',
           time: '北魏孝昌二年(526年)',
@@ -2053,13 +2053,13 @@ const myDataTemp = {
           desc: '',
           img: ['./myData/knowledgeImg/bjzcyczb-bc-hgmz.png'],
           from: '图片来源:河南博物院官网'
-        },
-        {
-          name: '元谧墓志',
-          time: '北魏正光五年(524年)',
-          desc: '千唐志斋、碑林博物馆、洛阳博物馆、开封博物馆、于右任、汉魏南北朝墓志集释',
-          from: '图片来源:《北朝墓志英华》张伯龄'
         }
+        // {
+        //   name: '元谧墓志',
+        //   time: '北魏正光五年(524年)',
+        //   desc: '千唐志斋、碑林博物馆、洛阳博物馆、开封博物馆、于右任、汉魏南北朝墓志集释',
+        //   from: '图片来源:《北朝墓志英华》张伯龄'
+        // }
       ]
     }
   ]

二進制
public/unityMo/Build/Build.data.unityweb


二進制
public/unityMo/Build/Build.framework.js.unityweb


File diff suppressed because it is too large
+ 1 - 1
public/unityMo/Build/Build.loader.js


二進制
public/unityMo/Build/Build.wasm.unityweb


+ 341 - 184
public/unityMo/StreamingAssets/Settings.json

@@ -5,16 +5,6 @@
   "panels": [
     {
       "name": "Panel1Camera",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0.1,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 0.4,
-          "y": 1
-        }
-      },
       "camera": {
         "position": {
           "x": 0,
@@ -25,6 +15,10 @@
           "x": 0,
           "y": 0,
           "z": 0
+        },
+        "physicalLensShift": {
+          "x": 0.25,
+          "y": 0
         }
       },
       "model": {
@@ -32,27 +26,36 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -4.5,
+          "max": 4.5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     },
     {
       "name": "Panel2Camera",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0.1,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 0.5,
-          "y": 1
-        }
-      },
       "camera": {
         "position": {
           "x": 0,
           "y": 0,
           "z": -13
         },
+        "physicalLensShift": {
+          "x": 0.2,
+          "y": 0
+        },
         "rotation": {
           "x": 0,
           "y": 0,
@@ -64,26 +67,35 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     },
     {
       "name": "Panel3Camera",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 1,
-          "y": 1
-        }
-      },
       "camera": {
         "position": {
           "x": 0,
           "y": 0,
-          "z": -10
+          "z": -13
+        },
+        "physicalLensShift": {
+          "x": 0,
+          "y": 0
         },
         "rotation": {
           "x": 0,
@@ -96,27 +108,36 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -10,
+          "max": 10
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     },
     {
       "name": "Panel4Camera",
       "rotationNotAllowed": true,
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 0.4,
-          "y": 1
-        }
-      },
       "camera": {
         "position": {
           "x": 0,
-          "y": 0,
-          "z": -13
+          "y": 0.5,
+          "z": -12
+        },
+        "physicalLensShift": {
+          "x": 0.2,
+          "y": 0
         },
         "rotation": {
           "x": 0,
@@ -129,26 +150,35 @@
           "x": 0,
           "y": 0,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -4,
+          "max": 4
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     },
     {
       "name": "Panel5Camera",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 1,
-          "y": 1
-        }
-      },
       "camera": {
         "position": {
           "x": 0,
           "y": 0,
-          "z": -15
+          "z": -12
+        },
+        "physicalLensShift": {
+          "x": 0,
+          "y": 0
         },
         "rotation": {
           "x": 0,
@@ -161,6 +191,21 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -15,
+          "max": 15
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     }
@@ -168,23 +213,17 @@
   "hotspots": [
     {
       "name": "佛龛",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0.1,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 1,
-          "y": 1
-        }
-      },
       "intensityAnimationTime": 0.8,
       "startIntensity": 0,
       "camera": {
         "position": {
           "x": 0,
-          "y": 1.5,
-          "z": -8
+          "y": 1.6,
+          "z": -9
+        },
+        "physicalLensShift": {
+          "x": -0.08,
+          "y": 0
         },
         "rotation": {
           "x": 0,
@@ -197,24 +236,33 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -5,
+          "max": 8
         }
       }
     },
     {
       "name": "佛像",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0.1,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 1,
-          "y": 1
-        }
-      },
       "intensityAnimationTime": 0.8,
       "startIntensity": 0,
       "camera": {
+        "physicalLensShift": {
+          "x": -0.1,
+          "y": 0
+        },
         "position": {
           "x": 0,
           "y": 0.8,
@@ -231,24 +279,33 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -5,
+          "max": 8
         }
       }
     },
     {
       "name": "佛龛两侧",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0.1,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 1,
-          "y": 1
-        }
-      },
       "intensityAnimationTime": 0.8,
       "startIntensity": 0,
       "camera": {
+        "physicalLensShift": {
+          "x": -0.1,
+          "y": 0
+        },
         "position": {
           "x": 0,
           "y": 0.8,
@@ -265,24 +322,33 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -5,
+          "max": 8
         }
       }
     },
     {
       "name": "佛龛上部",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0.1,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 1,
-          "y": 1
-        }
-      },
       "intensityAnimationTime": 0.8,
       "startIntensity": 0,
       "camera": {
+        "physicalLensShift": {
+          "x": -0.1,
+          "y": 0
+        },
         "position": {
           "x": 0,
           "y": 3,
@@ -299,27 +365,36 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": 0,
+          "max": 12
         }
       }
     },
     {
       "name": "佛龛下部",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0.1,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 1,
-          "y": 1
-        }
-      },
       "intensityAnimationTime": 0.8,
       "startIntensity": 0,
       "camera": {
+        "physicalLensShift": {
+          "x": -0.1,
+          "y": 0
+        },
         "position": {
           "x": 0,
-          "y": -3,
+          "y": -4,
           "z": -8
         },
         "rotation": {
@@ -333,27 +408,36 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -12,
+          "max": -1
         }
       }
     },
     {
       "name": "畏兽",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0.1,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 1,
-          "y": 1
-        }
-      },
       "intensityAnimationTime": 0.8,
       "startIntensity": 0,
       "camera": {
+        "physicalLensShift": {
+          "x": -0.08,
+          "y": 0
+        },
         "position": {
           "x": 0,
-          "y": 3,
+          "y": 2.5,
           "z": -8
         },
         "rotation": {
@@ -367,27 +451,36 @@
           "x": 0,
           "y": -90,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -1,
+          "max": 8
         }
       }
     },
     {
       "name": "飞天",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0.1,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 1,
-          "y": 1
-        }
-      },
       "intensityAnimationTime": 0.8,
       "startIntensity": 0,
       "camera": {
+        "physicalLensShift": {
+          "x": -0.08,
+          "y": 0
+        },
         "position": {
           "x": 0,
-          "y": 0,
+          "y": -0.5,
           "z": -8
         },
         "rotation": {
@@ -401,24 +494,33 @@
           "x": 0,
           "y": -90,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -6,
+          "max": 5
         }
       }
     },
     {
       "name": "摩尼宝珠",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0.1,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 1,
-          "y": 1
-        }
-      },
       "intensityAnimationTime": 0.8,
       "startIntensity": 0,
       "camera": {
+        "physicalLensShift": {
+          "x": -0.08,
+          "y": 0
+        },
         "position": {
           "x": 0,
           "y": -3,
@@ -435,6 +537,21 @@
           "x": 0,
           "y": -90,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 3
         }
       }
     }
@@ -442,24 +559,18 @@
   "inscriptions": [
     {
       "name": "碑额",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 0.4,
-          "y": 1
-        }
-      },
       "intensityAnimationTime": 0,
       "startIntensity": 0,
       "camera": {
         "position": {
-          "x": 1.4,
-          "y": 4.1,
+          "x": 1.2,
+          "y": 4.3,
           "z": -5
         },
+        "physicalLensShift": {
+          "x": 0.3,
+          "y": 0
+        },
         "rotation": {
           "x": 0,
           "y": 0,
@@ -471,29 +582,38 @@
           "x": 0,
           "y": -90,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -1,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": 2,
+          "max": 15
         }
       }
     },
     {
       "name": "碑文1",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 0.4,
-          "y": 1
-        }
-      },
       "intensityAnimationTime": 0,
       "startIntensity": 0,
       "camera": {
         "position": {
           "x": 1.6,
-          "y": 3.4,
+          "y": 2.7,
           "z": -5
         },
+        "physicalLensShift": {
+          "x": 0.25,
+          "y": 0
+        },
         "rotation": {
           "x": 0,
           "y": 0,
@@ -505,28 +625,37 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": 0,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -3,
+          "max": 9
         }
       }
     },
     {
       "name": "碑文2",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 0.4,
-          "y": 1
-        }
-      },
       "intensityAnimationTime": 0,
       "startIntensity": 0,
       "camera": {
         "position": {
           "x": 0,
           "y": 0,
-          "z": -13
+          "z": -12
+        },
+        "physicalLensShift": {
+          "x": 0.2,
+          "y": 0
         },
         "rotation": {
           "x": 0,
@@ -539,28 +668,37 @@
           "x": 0,
           "y": 0,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     },
     {
       "name": "碑文3",
-      "dragBlock": {
-        "anchorsMin": {
-          "x": 0,
-          "y": 0
-        },
-        "anchorsMax": {
-          "x": 0.4,
-          "y": 1
-        }
-      },
       "intensityAnimationTime": 0,
       "startIntensity": 0,
       "camera": {
         "position": {
           "x": 0,
           "y": 0,
-          "z": -13
+          "z": -12
+        },
+        "physicalLensShift": {
+          "x": 0.2,
+          "y": 0
         },
         "rotation": {
           "x": 0,
@@ -573,6 +711,25 @@
           "x": 0,
           "y": 0,
           "z": 0
+        },
+        "physicalLensShift": {
+          "x": 0.2,
+          "y": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -10,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     }

二進制
public/unityMo/StreamingAssets/aa/WebGL/089c7ab93c27a929ecb0cbb575f4147c.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/0c7d9fe059db2ee83f04ec4894355538.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/0cfa26d92f2aa9ec3f6b127e37e19928.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/12570a22233b8e31ae27644dbcfe8e98.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/1f4f6856c5caec206fca42ebaaa7919f.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/1fdbed01508125f1bbe8926c09ca0d2e.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/2c352ba22942b872b574485b0b4384da.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/2e10bd011dcfe194a54037622fdea2d9.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/3b9adc28bc1734efbd67fd7d207cd380.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/4d0b6aa8264949a568c452d2c79d8312.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/70dd350ae0c35589e9c5059d2523eeec.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/7adf775361ca6e72918ffddb174b07ab.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/84c50e06568f07e196412fa1bf98bee4.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/9cf96dc4528eac0215c219b70cbcf4d4.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/d078ced9a95dca98f3830330be5ace9c.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/d1c8a5b8339fe0f585144eb59bb093c4.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/de801cfbd560353b0e517bed99a133b6.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/e3ff228125d82f0307b9fcd91d17330c.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/ed5b1b75119bd2126a9d609a18d08a78.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/f1791d0a6f5c2c029b608731c7e720bd.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/f495ebcc1be471e80b1eeefb3b34f5e0.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/f63c2a07093bd541f0c1f2104a82313d.bundle


二進制
public/unityMo/StreamingAssets/aa/WebGL/f9e6c2827344ae404bed18f5b511740d.bundle


二進制
public/unityMo/StreamingAssets/aa/catalog.bin


+ 1 - 1
public/unityMo/StreamingAssets/aa/catalog.hash

@@ -1 +1 @@
-4c9b429efcfb5761659ecf7b2bc038cd
+59b9c0e674c7fb5acd87333b9a8a4232

File diff suppressed because it is too large
+ 1 - 1
public/unityMo/StreamingAssets/aa/settings.json


+ 57 - 0
public/unityMo/export_drawingBoard.js

@@ -0,0 +1,57 @@
+let saveDom = null;
+let isShowSaveDom = false;
+
+window.onDownload = function (base64string) {
+    if (window.isMobile()){
+        saveDom = document.querySelector('.save-image-background');
+        saveDom.src = 'data:image/png;base64,' + base64string;
+        saveDom.style.pointerEvents = 'auto';
+        isShowSaveDom = true;
+        refreshShareBlockSize();
+    } else {
+        let link = document.createElement('a');
+        link.href = 'data:image/png;base64,' + base64string;
+        link.download = 'image';
+        link.click();
+    }
+}
+
+window.onCancelDownload = function() {
+    if (isShowSaveDom){
+        saveDom.src = '';
+        saveDom.style.pointerEvents = 'none';
+        isShowSaveDom = false;
+    }
+}
+
+window.isMobile = function () {
+    return /(iPad)|(iPhone)|(iPod)|(android)|(webOS)/i.test(navigator.userAgent);
+}
+
+function refreshShareBlockSize() {
+    // Unity画布宽高比
+    let unityCanvasWidth = 1515;
+    let unityCanvaslHeight = 780;
+    let unityPanelWidth = 1150;
+    let unityPanelHeight = 740;
+    let unityPanelOffsetY = 0;
+
+    let innerWidth = window.innerWidth;
+    let innerHeight = window.innerHeight;
+
+    let scale = (unityCanvasWidth / unityPanelHeight) >
+    (innerWidth / innerHeight) ? (innerWidth / unityCanvasWidth) : (innerHeight / unityCanvaslHeight);
+
+    saveDom.style.width = (unityPanelWidth * scale) + 'px';
+    saveDom.style.height = (unityPanelHeight * scale) + 'px';
+
+    if (unityPanelOffsetY > 0){
+        saveDom.style.marginTop = (unityPanelOffsetY * scale * 2) + 'px';
+    } else {
+        saveDom.style.marginBottom = (-unityPanelOffsetY * scale * 2) + 'px';
+    }
+}
+
+window.addEventListener('resize', ()=>{
+    if (isShowSaveDom) refreshShareBlockSize();
+});

+ 16 - 15
public/unityMo/export_main.js

@@ -3,43 +3,44 @@ let isLoadingScene = false
 
 //场景加载进度回调
 window.loadSceneProgress = function (progress) {
-  if (window.parent && window.parent !== window) {
-    window.parent.unityLoading(Math.min(0.99, progress))
-  }
+    if (window.parent && window.parent !== window) {
+        window.parent.unityLoading(Math.min(0.99, progress))
+    }
 }
 
 //场景准备加载回调
 window.startLoadScene = function () {
-  isLoadingScene = true
+    isLoadingScene = true
 }
 
 //场景已完成加载回调
 window.loadedScene = function () {
-  isLoadingScene = false
-
-  if (window.parent && window.parent !== window) {
-    window.parent.unityLoading(1)
-  }
+    isLoadingScene = false
+    if (window.parent && window.parent !== window) {
+        window.parent.unityLoading(1)
+    }
 }
 
 //设置场景加载完毕时透明度渐变的时长(秒), 0为去除该效果
 window.setLoadSceneAnimationTime = function (animationTime) {
-  window.unityInstance.SendMessage('SceneLoader', 'SetAnimationTime', animationTime)
+    window.unityInstance.SendMessage('SceneLoader', 'SetAnimationTime', animationTime)
 }
 
 //切换场景 场景支持以下参数 "TombstoneView" (一单元), "TransitionScene" (空场景), "RoomScene" (碑中世界), "DrawingBoard" (碑影智绘), 切换之前必须判断是否有场景正在加载
 window.loadScene = function (sceneName) {
-  window.setLoadSceneAnimationTime(sceneName === 'DrawingBoard' ? 1 : 0)
-  window.unityInstance.SendMessage('SceneLoader', 'LoadScene', sceneName)
-  currentScene = sceneName
+    window.setLoadSceneAnimationTime(sceneName === 'DrawingBoard' ? 1 : 0)
+    window.unityInstance.SendMessage('SceneLoader', 'LoadScene', sceneName)
+    currentScene = sceneName
+
+    window.onCancelDownload();
 }
 
 //是否正在加载场景
 window.isLoadingScene = function () {
-  return isLoadingScene
+    return isLoadingScene
 }
 
 // 返回当前场景状态
 window.sceneStaRes = function () {
-  return currentScene
+    return currentScene
 }

+ 5 - 0
public/unityMo/index.html

@@ -9,6 +9,7 @@
     <script src="./export_main.js"></script>
     <script src="./export_tombstoneView.js"></script>
     <script src="./export_roomScene.js"></script>
+    <script src="./export_drawingBoard.js"></script>
 </head>
 <body>
     <div id="unity-container">
@@ -19,6 +20,10 @@
             </div>
         </div>
         <div id="unity-warning"></div>
+
+        <div class="save-image-block">
+            <img src="" class="save-image-background" alt="">
+        </div>
     </div>
 </body>
 <script>

二進制
public/unityPc/Build/Build.data.unityweb


二進制
public/unityPc/Build/Build.framework.js.unityweb


File diff suppressed because it is too large
+ 1 - 1
public/unityPc/Build/Build.loader.js


二進制
public/unityPc/Build/Build.wasm.unityweb


+ 266 - 11
public/unityPc/StreamingAssets/Settings.json

@@ -32,6 +32,21 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -4.5,
+          "max": 4.5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     },
@@ -39,7 +54,7 @@
       "name": "Panel2Camera",
       "dragBlock": {
         "anchorsMin": {
-          "x": 0.1,
+          "x": 0.15,
           "y": 0
         },
         "anchorsMax": {
@@ -64,6 +79,21 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     },
@@ -96,6 +126,21 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -10,
+          "max": 10
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     },
@@ -104,11 +149,11 @@
       "rotationNotAllowed": true,
       "dragBlock": {
         "anchorsMin": {
-          "x": 0,
+          "x": 0.15,
           "y": 0
         },
         "anchorsMax": {
-          "x": 0.4,
+          "x": 0.45,
           "y": 1
         }
       },
@@ -129,6 +174,21 @@
           "x": 0,
           "y": 0,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -4,
+          "max": 4
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     },
@@ -161,6 +221,21 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -15,
+          "max": 15
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     }
@@ -183,7 +258,7 @@
       "camera": {
         "position": {
           "x": 0,
-          "y": 1.5,
+          "y": 2,
           "z": -8
         },
         "rotation": {
@@ -197,6 +272,21 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -5,
+          "max": 8
         }
       }
     },
@@ -231,6 +321,21 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -5,
+          "max": 8
         }
       }
     },
@@ -265,6 +370,21 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -5,
+          "max": 8
         }
       }
     },
@@ -299,6 +419,21 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": 0,
+          "max": 12
         }
       }
     },
@@ -319,7 +454,7 @@
       "camera": {
         "position": {
           "x": 0,
-          "y": -3,
+          "y": -4,
           "z": -8
         },
         "rotation": {
@@ -333,6 +468,21 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -12,
+          "max": -1
         }
       }
     },
@@ -353,7 +503,7 @@
       "camera": {
         "position": {
           "x": 0,
-          "y": 3,
+          "y": 2.5,
           "z": -8
         },
         "rotation": {
@@ -367,6 +517,21 @@
           "x": 0,
           "y": -90,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -1,
+          "max": 8
         }
       }
     },
@@ -387,7 +552,7 @@
       "camera": {
         "position": {
           "x": 0,
-          "y": 0,
+          "y": -0.5,
           "z": -8
         },
         "rotation": {
@@ -401,6 +566,21 @@
           "x": 0,
           "y": -90,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -6,
+          "max": 5
         }
       }
     },
@@ -435,6 +615,21 @@
           "x": 0,
           "y": -90,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 3
         }
       }
     }
@@ -448,7 +643,7 @@
           "y": 0
         },
         "anchorsMax": {
-          "x": 0.4,
+          "x": 0.45,
           "y": 1
         }
       },
@@ -471,6 +666,21 @@
           "x": 0,
           "y": -90,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -1,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": 2,
+          "max": 15
         }
       }
     },
@@ -482,7 +692,7 @@
           "y": 0
         },
         "anchorsMax": {
-          "x": 0.4,
+          "x": 0.45,
           "y": 1
         }
       },
@@ -505,6 +715,21 @@
           "x": 0,
           "y": -180,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": 0,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -3,
+          "max": 9
         }
       }
     },
@@ -516,7 +741,7 @@
           "y": 0
         },
         "anchorsMax": {
-          "x": 0.4,
+          "x": 0.45,
           "y": 1
         }
       },
@@ -539,6 +764,21 @@
           "x": 0,
           "y": 0,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -5,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     },
@@ -550,7 +790,7 @@
           "y": 0
         },
         "anchorsMax": {
-          "x": 0.4,
+          "x": 0.45,
           "y": 1
         }
       },
@@ -573,6 +813,21 @@
           "x": 0,
           "y": 0,
           "z": 0
+        },
+        "limitScale": {
+          "isLimit": true,
+          "min": 0.2,
+          "max": 1.5
+        },
+        "limitX": {
+          "isLimit": true,
+          "min": -10,
+          "max": 5
+        },
+        "limitY": {
+          "isLimit": true,
+          "min": -8,
+          "max": 8
         }
       }
     }

+ 14 - 15
public/unityPc/export_main.js

@@ -3,43 +3,42 @@ let isLoadingScene = false
 
 //场景加载进度回调
 window.loadSceneProgress = function (progress) {
-  if (window.parent && window.parent !== window) {
-    window.parent.unityLoading(Math.min(0.99, progress))
-  }
+    if (window.parent && window.parent !== window) {
+        window.parent.unityLoading(Math.min(0.99, progress))
+    }
 }
 
 //场景准备加载回调
 window.startLoadScene = function () {
-  isLoadingScene = true
+    isLoadingScene = true
 }
 
 //场景已完成加载回调
 window.loadedScene = function () {
-  isLoadingScene = false
-
-  if (window.parent && window.parent !== window) {
-    window.parent.unityLoading(1)
-  }
+    isLoadingScene = false
+    if (window.parent && window.parent !== window) {
+        window.parent.unityLoading(1)
+    }
 }
 
 //设置场景加载完毕时透明度渐变的时长(秒), 0为去除该效果
 window.setLoadSceneAnimationTime = function (animationTime) {
-  window.unityInstance.SendMessage('SceneLoader', 'SetAnimationTime', animationTime)
+    window.unityInstance.SendMessage('SceneLoader', 'SetAnimationTime', animationTime)
 }
 
 //切换场景 场景支持以下参数 "TombstoneView" (一单元), "TransitionScene" (空场景), "RoomScene" (碑中世界), "DrawingBoard" (碑影智绘), 切换之前必须判断是否有场景正在加载
 window.loadScene = function (sceneName) {
-  window.setLoadSceneAnimationTime(sceneName === 'DrawingBoard' ? 1 : 0)
-  window.unityInstance.SendMessage('SceneLoader', 'LoadScene', sceneName)
-  currentScene = sceneName
+    window.setLoadSceneAnimationTime(sceneName === 'DrawingBoard' ? 1 : 0)
+    window.unityInstance.SendMessage('SceneLoader', 'LoadScene', sceneName)
+    currentScene = sceneName
 }
 
 //是否正在加载场景
 window.isLoadingScene = function () {
-  return isLoadingScene
+    return isLoadingScene
 }
 
 // 返回当前场景状态
 window.sceneStaRes = function () {
-  return currentScene
+    return currentScene
 }

+ 507 - 84
src/App.tsx

@@ -245,97 +245,237 @@ export default function App() {
           callIframeFu(
             'refreshAppSettings',
             JSON.stringify({
+              cameraDefaultBlendTime: 0.8,
+              modelAutoRotationAnimationTime: 0.8,
+              modelControlAnimationTime: 0.8,
               panels: [
                 {
-                  name: 'DefaultVirtualCamera',
-                  cameraOrthographicSize: 9,
-                  viewportX: 0,
-                  offset: -10,
-                  model: {
+                  name: 'Panel1Camera',
+                  camera: {
+                    position: {
+                      x: 0,
+                      y: 0,
+                      z: -13
+                    },
                     rotation: {
                       x: 0,
-                      y: -180,
+                      y: 0,
                       z: 0
+                    },
+                    physicalLensShift: {
+                      x: 0.25,
+                      y: 0
                     }
-                  }
-                },
-                {
-                  name: 'Panel1Camera',
-                  cameraOrthographicSize: 4,
-                  viewportX: 0.5,
-                  offset: -10,
+                  },
                   model: {
                     rotation: {
                       x: 0,
                       y: -180,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -4.5,
+                      max: 4.5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -8,
+                      max: 8
                     }
                   }
                 },
                 {
                   name: 'Panel2Camera',
-                  cameraOrthographicSize: 9,
-                  viewportX: 0,
-                  offset: -10,
+                  camera: {
+                    position: {
+                      x: 0,
+                      y: 0,
+                      z: -13
+                    },
+                    physicalLensShift: {
+                      x: 0.2,
+                      y: 0
+                    },
+                    rotation: {
+                      x: 0,
+                      y: 0,
+                      z: 0
+                    }
+                  },
                   model: {
                     rotation: {
                       x: 0,
                       y: -180,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -5,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -8,
+                      max: 8
                     }
                   }
                 },
                 {
                   name: 'Panel3Camera',
-                  cameraOrthographicSize: 9,
-                  viewportX: 0,
-                  offset: -10,
+                  camera: {
+                    position: {
+                      x: 0,
+                      y: 0,
+                      z: -13
+                    },
+                    physicalLensShift: {
+                      x: 0,
+                      y: 0
+                    },
+                    rotation: {
+                      x: 0,
+                      y: 0,
+                      z: 0
+                    }
+                  },
                   model: {
                     rotation: {
                       x: 0,
                       y: -180,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -10,
+                      max: 10
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -8,
+                      max: 8
                     }
                   }
                 },
                 {
                   name: 'Panel4Camera',
-                  cameraOrthographicSize: 9,
-                  viewportX: 0,
-                  offset: -10,
+                  rotationNotAllowed: true,
+                  camera: {
+                    position: {
+                      x: 0,
+                      y: 0.5,
+                      z: -12
+                    },
+                    physicalLensShift: {
+                      x: 0.2,
+                      y: 0
+                    },
+                    rotation: {
+                      x: 0,
+                      y: 0,
+                      z: 0
+                    }
+                  },
                   model: {
                     rotation: {
                       x: 0,
                       y: 0,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -4,
+                      max: 4
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -8,
+                      max: 8
                     }
                   }
                 },
                 {
                   name: 'Panel5Camera',
-                  cameraOrthographicSize: 9,
-                  viewportX: 0.5,
-                  offset: 0,
+                  camera: {
+                    position: {
+                      x: 0,
+                      y: 0,
+                      z: -12
+                    },
+                    physicalLensShift: {
+                      x: 0,
+                      y: 0
+                    },
+                    rotation: {
+                      x: 0,
+                      y: 0,
+                      z: 0
+                    }
+                  },
                   model: {
                     rotation: {
                       x: 0,
                       y: -180,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -15,
+                      max: 15
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -8,
+                      max: 8
                     }
-                  },
-                  rotationNotAllowed: true
+                  }
                 }
               ],
               hotspots: [
                 {
                   name: '佛龛',
+                  intensityAnimationTime: 0.8,
+                  startIntensity: 0,
                   camera: {
-                    cameraOrthographicSize: 5,
-                    viewportX: 0.5,
-                    offset: 0,
                     position: {
-                      y: 1.1,
-                      z: -50
+                      x: 0,
+                      y: 1.6,
+                      z: -9
+                    },
+
+                    physicalLensShift: {
+                      x: -0.08,
+                      y: 0
+                    },
+                    rotation: {
+                      x: 0,
+                      y: 0,
+                      z: 0
                     }
                   },
                   model: {
@@ -343,18 +483,42 @@ export default function App() {
                       x: 0,
                       y: -180,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -5,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -5,
+                      max: 8
                     }
                   }
                 },
                 {
                   name: '佛像',
+                  intensityAnimationTime: 0.8,
+                  startIntensity: 0,
                   camera: {
-                    cameraOrthographicSize: 5,
-                    viewportX: 0.5,
-                    offset: 0,
+                    physicalLensShift: {
+                      x: -0.1,
+                      y: 0
+                    },
                     position: {
+                      x: 0,
+                      y: 0.8,
+                      z: -8
+                    },
+                    rotation: {
+                      x: 0,
                       y: 0,
-                      z: -50
+                      z: 0
                     }
                   },
                   model: {
@@ -362,18 +526,42 @@ export default function App() {
                       x: 0,
                       y: -180,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -5,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -5,
+                      max: 8
                     }
                   }
                 },
                 {
                   name: '佛龛两侧',
+                  intensityAnimationTime: 0.8,
+                  startIntensity: 0,
                   camera: {
-                    cameraOrthographicSize: 5,
-                    viewportX: 0.5,
-                    offset: 0,
+                    physicalLensShift: {
+                      x: -0.1,
+                      y: 0
+                    },
                     position: {
+                      x: 0,
+                      y: 0.8,
+                      z: -8
+                    },
+                    rotation: {
+                      x: 0,
                       y: 0,
-                      z: -50
+                      z: 0
                     }
                   },
                   model: {
@@ -381,18 +569,42 @@ export default function App() {
                       x: 0,
                       y: -180,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -5,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -5,
+                      max: 8
                     }
                   }
                 },
                 {
                   name: '佛龛上部',
+                  intensityAnimationTime: 0.8,
+                  startIntensity: 0,
                   camera: {
-                    cameraOrthographicSize: 5,
-                    viewportX: 0.5,
-                    offset: 0,
+                    physicalLensShift: {
+                      x: -0.1,
+                      y: 0
+                    },
                     position: {
-                      y: 2,
-                      z: -50
+                      x: 0,
+                      y: 3,
+                      z: -8
+                    },
+                    rotation: {
+                      x: 0,
+                      y: 0,
+                      z: 0
                     }
                   },
                   model: {
@@ -400,18 +612,42 @@ export default function App() {
                       x: 0,
                       y: -180,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -5,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: 0,
+                      max: 12
                     }
                   }
                 },
                 {
                   name: '佛龛下部',
+                  intensityAnimationTime: 0.8,
+                  startIntensity: 0,
                   camera: {
-                    cameraOrthographicSize: 5,
-                    viewportX: 0.5,
-                    offset: 0,
+                    physicalLensShift: {
+                      x: -0.1,
+                      y: 0
+                    },
                     position: {
-                      y: -1,
-                      z: -50
+                      x: 0,
+                      y: -4,
+                      z: -8
+                    },
+                    rotation: {
+                      x: 0,
+                      y: 0,
+                      z: 0
                     }
                   },
                   model: {
@@ -419,18 +655,42 @@ export default function App() {
                       x: 0,
                       y: -180,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -5,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -12,
+                      max: -1
                     }
                   }
                 },
                 {
                   name: '畏兽',
+                  intensityAnimationTime: 0.8,
+                  startIntensity: 0,
                   camera: {
-                    cameraOrthographicSize: 5,
-                    viewportX: 0.5,
-                    offset: 0,
+                    physicalLensShift: {
+                      x: -0.08,
+                      y: 0
+                    },
                     position: {
-                      y: 2,
-                      z: -50
+                      x: 0,
+                      y: 2.5,
+                      z: -8
+                    },
+                    rotation: {
+                      x: 0,
+                      y: 0,
+                      z: 0
                     }
                   },
                   model: {
@@ -438,18 +698,42 @@ export default function App() {
                       x: 0,
                       y: -90,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -5,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -1,
+                      max: 8
                     }
                   }
                 },
                 {
                   name: '飞天',
+                  intensityAnimationTime: 0.8,
+                  startIntensity: 0,
                   camera: {
-                    cameraOrthographicSize: 5,
-                    viewportX: 0.5,
-                    offset: 0,
+                    physicalLensShift: {
+                      x: -0.08,
+                      y: 0
+                    },
                     position: {
+                      x: 0,
+                      y: -0.5,
+                      z: -8
+                    },
+                    rotation: {
+                      x: 0,
                       y: 0,
-                      z: -50
+                      z: 0
                     }
                   },
                   model: {
@@ -457,18 +741,42 @@ export default function App() {
                       x: 0,
                       y: -90,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -5,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -6,
+                      max: 5
                     }
                   }
                 },
                 {
                   name: '摩尼宝珠',
+                  intensityAnimationTime: 0.8,
+                  startIntensity: 0,
                   camera: {
-                    cameraOrthographicSize: 5,
-                    viewportX: 0.5,
-                    offset: 0,
+                    physicalLensShift: {
+                      x: -0.08,
+                      y: 0
+                    },
                     position: {
-                      y: -1,
-                      z: -50
+                      x: 0,
+                      y: -3,
+                      z: -8
+                    },
+                    rotation: {
+                      x: 0,
+                      y: 0,
+                      z: 0
                     }
                   },
                   model: {
@@ -476,6 +784,21 @@ export default function App() {
                       x: 0,
                       y: -90,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -5,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -8,
+                      max: 3
                     }
                   }
                 }
@@ -483,51 +806,108 @@ export default function App() {
               inscriptions: [
                 {
                   name: '碑额',
+                  intensityAnimationTime: 0,
+                  startIntensity: 0,
                   camera: {
-                    cameraOrthographicSize: 2,
-                    viewportX: 0,
-                    offset: 0,
                     position: {
-                      y: 4.4,
-                      z: -50
+                      x: 1.2,
+                      y: 4.3,
+                      z: -5
+                    },
+                    physicalLensShift: {
+                      x: 0.3,
+                      y: 0
+                    },
+                    rotation: {
+                      x: 0,
+                      y: 0,
+                      z: 0
                     }
                   },
                   model: {
                     rotation: {
                       x: 0,
-                      y: 0,
+                      y: -90,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -1,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: 2,
+                      max: 15
                     }
                   }
                 },
                 {
                   name: '碑文1',
+                  intensityAnimationTime: 0,
+                  startIntensity: 0,
                   camera: {
-                    cameraOrthographicSize: 2,
-                    viewportX: 0,
-                    offset: 0,
                     position: {
-                      y: 3.6,
-                      z: -50
+                      x: 1.6,
+                      y: 2.7,
+                      z: -5
+                    },
+                    physicalLensShift: {
+                      x: 0.25,
+                      y: 0
+                    },
+                    rotation: {
+                      x: 0,
+                      y: 0,
+                      z: 0
                     }
                   },
                   model: {
                     rotation: {
                       x: 0,
-                      y: 0,
+                      y: -180,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: 0,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -3,
+                      max: 9
                     }
                   }
                 },
                 {
                   name: '碑文2',
+                  intensityAnimationTime: 0,
+                  startIntensity: 0,
                   camera: {
-                    cameraOrthographicSize: 9,
-                    viewportX: 0,
-                    offset: -10,
                     position: {
+                      x: 0,
+                      y: 0,
+                      z: -12
+                    },
+                    physicalLensShift: {
+                      x: 0.2,
+                      y: 0
+                    },
+                    rotation: {
+                      x: 0,
                       y: 0,
-                      z: -50
+                      z: 0
                     }
                   },
                   model: {
@@ -535,18 +915,42 @@ export default function App() {
                       x: 0,
                       y: 0,
                       z: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -5,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -8,
+                      max: 8
                     }
                   }
                 },
                 {
                   name: '碑文3',
+                  intensityAnimationTime: 0,
+                  startIntensity: 0,
                   camera: {
-                    cameraOrthographicSize: 9,
-                    viewportX: 0,
-                    offset: -10,
                     position: {
+                      x: 0,
                       y: 0,
-                      z: -50
+                      z: -12
+                    },
+                    physicalLensShift: {
+                      x: 0.2,
+                      y: 0
+                    },
+                    rotation: {
+                      x: 0,
+                      y: 0,
+                      z: 0
                     }
                   },
                   model: {
@@ -554,6 +958,25 @@ export default function App() {
                       x: 0,
                       y: 0,
                       z: 0
+                    },
+                    physicalLensShift: {
+                      x: 0.2,
+                      y: 0
+                    },
+                    limitScale: {
+                      isLimit: true,
+                      min: 0.2,
+                      max: 1.5
+                    },
+                    limitX: {
+                      isLimit: true,
+                      min: -10,
+                      max: 5
+                    },
+                    limitY: {
+                      isLimit: true,
+                      min: -8,
+                      max: 8
                     }
                   }
                 }

二進制
src/assets/img/A6_sangzang_geshi1.png


二進制
src/assets/img/A6_sangzang_geshi2.png


二進制
src/assets/img/A6_sangzang_geshi3.png


二進制
src/assets/img/A6_sangzang_left_tab0.png


二進制
src/assets/img/A6_sangzang_left_tab1.png


二進制
src/assets/img/A6_sangzang_left_tab2.png


二進制
src/assets/img/A6_sangzang_left_tab3.png


二進制
src/assets/img/A6_sangzang_left_tab4.png


+ 5 - 3
src/pages/A0base/index.module.scss

@@ -22,6 +22,8 @@
       align-items: center;
 
       .content {
+        position: relative;
+        top: -20px;
         width: 68%;
         height: 100%;
         display: flex;
@@ -190,12 +192,12 @@
       color: #b1967b;
       cursor: pointer;
 
-      & > img {
+      &>img {
         width: 44px;
         object-fit: contain;
       }
 
-      & > .guideVideoTitle {
+      &>.guideVideoTitle {
         height: 12px;
         line-height: 8px;
         font-weight: 500;
@@ -268,4 +270,4 @@
       }
     }
   }
-}
+}

+ 2 - 2
src/pages/A2yblm/components/ModalTxt/index.module.scss

@@ -106,7 +106,7 @@
         }
 
         .tab0 {
-          width: 84px;
+          width: 88px;
         }
 
         .tab1 {
@@ -257,7 +257,7 @@
 
         .text {
           width: 400px;
-          line-height: 24px;
+          line-height: 28px;
           font-size: 16px;
           text-align: justify;
           letter-spacing: 2px;

+ 45 - 27
src/pages/A2yblm/components/ModalTxt/index.tsx

@@ -17,14 +17,14 @@ type Props = {
 }
 
 function ModalTxt({ setIsShowTabBar, setIsShowMzmTitle, setBottomTxt }: Props, ref: any) {
-  const { myData,myLangue } = useSelector((state: RootState) => state.A0Layout)
+  const { myData, myLangue } = useSelector((state: RootState) => state.A0Layout)
 
   const [selectedTab, setSelectedTab] = useState(0)
   const selectedTabRef = useRef(0)
 
-  useEffect(()=>{
-    selectedTabRef.current=selectedTab
-  },[selectedTab])
+  useEffect(() => {
+    selectedTabRef.current = selectedTab
+  }, [selectedTab])
 
   const sonSetStaFu = useCallback(() => {
     setSelectedTab(0)
@@ -322,28 +322,32 @@ function ModalTxt({ setIsShowTabBar, setIsShowMzmTitle, setBottomTxt }: Props, r
     callIframeFu('showInscription', 0)
   }
 
-  const handleTabClick = useCallback((tabIndex: number, txt: string) => {
-    let index = tabIndex
+  const handleTabClick = useCallback(
+    (tabIndex: number, txt: string) => {
+      let index = tabIndex
 
-    const flag = selectedTabRef.current === index
+      const flag = selectedTabRef.current === index
 
-    if (flag) index = 0
-    setBottomTxt(flag ? '' : txt)
-    setSelectedTab(index)
-    callIframeFu('showInscription', index === 0 ? -1 : index)
+      if (flag) index = 0
+      setBottomTxt(flag ? '' : txt)
+      setSelectedTab(index)
+      callIframeFu('showInscription', index === 0 ? -1 : index)
 
-    if (index === 0) setIsShowMzmTitle(false)
-  }
-,[setBottomTxt, setIsShowMzmTitle])
+      if (index === 0) setIsShowMzmTitle(false)
+    },
+    [setBottomTxt, setIsShowMzmTitle]
+  )
   return (
-    <div className={classNames(styles.modalTxt, myLangue==='ZH' ? '' : styles.modalTxtEn)} id='modalTxt'>
+    <div
+      className={classNames(styles.modalTxt, myLangue === 'ZH' ? '' : styles.modalTxtEn)}
+      id='modalTxt'
+    >
       <div className='modalTxtContainner'>
         <div className='topBar'>
           <div className='beie' hidden={selectedTab !== 0}>
             <img src={require('@/assets/img/beie.png')} alt='' />
-            <div className='txt' onClick={handleBeie}>
-              {myLangue==='EN'?'forehead':'碑额'}
-              
+            <div className='txt songFont' onClick={handleBeie}>
+              {myLangue === 'EN' ? 'forehead' : '碑额'}
             </div>
           </div>
 
@@ -359,14 +363,14 @@ function ModalTxt({ setIsShowTabBar, setIsShowMzmTitle, setBottomTxt }: Props, r
                 }.png`)}
                 alt=''
               />
-              <div className={`tabNub ${selectedTab === item.key ? 'tabNubAc' : ''}`}>
+              <div className={`tabNub songFont ${selectedTab === item.key ? 'tabNubAc' : ''}`}>
                 {item.sonTxt}
               </div>
               <div
-                className={classNames('txt',selectedTab === item.key ? 'txtAc' : '')}
+                className={classNames('txt songFont', selectedTab === item.key ? 'txtAc' : '')}
                 style={{ opacity: selectedTab === item.key || selectedTab === 0 ? '1' : '0' }}
               >
-                {myLangue==='EN'?item.nameEn: item.name}
+                {myLangue === 'EN' ? item.nameEn : item.name}
               </div>
             </div>
           ))}
@@ -408,13 +412,27 @@ function ModalTxt({ setIsShowTabBar, setIsShowMzmTitle, setBottomTxt }: Props, r
 
         {selectedTab === 0 && (
           <div className='content'>
-            <div className='title songFontc'>{myLangue==='EN'?'Overview of the Inscription':'碑文概述'}</div>
+            <div className='title songFontc'>
+              {myLangue === 'EN' ? 'Overview of the Inscription' : '碑文概述'}
+            </div>
             <div className='text'>
-             {myLangue==='EN'?'The inscription on the Cheng Zhe Stele consists of 31 lines of regular script,':'程哲碑碑文,'}
-            <br />{myLangue==='EN'?'with 45 characters per line at maximum. ':'31行楷书,满行45字,'}
-            <br /> {myLangue==='EN'?' The characters are approximately 2 cm in size, set within square grids, totaling 1,404 characters.':'字径约2厘米,带方界格,总计1404字;'}
-            <br /> {myLangue==='EN'?'No formal title of the stele is engraved. ':'未刻正式碑名。 '}<br />
-            {myLangue==='EN'?'The entire text praises the historical achievements of the Cheng family.':'通篇颂德程氏家族的历史功绩。'}
+              {myLangue === 'EN'
+                ? 'The inscription on the Cheng Zhe Stele consists of 31 lines of regular script,'
+                : '程哲碑碑文,'}
+              <br />
+              {myLangue === 'EN'
+                ? 'with 45 characters per line at maximum. '
+                : '31行楷书,满行45字,'}
+              <br />{' '}
+              {myLangue === 'EN'
+                ? ' The characters are approximately 2 cm in size, set within square grids, totaling 1,404 characters.'
+                : '字径约2厘米,带方界格,总计1404字;'}
+              <br />{' '}
+              {myLangue === 'EN' ? 'No formal title of the stele is engraved. ' : '未刻正式碑名。 '}
+              <br />
+              {myLangue === 'EN'
+                ? 'The entire text praises the historical achievements of the Cheng family.'
+                : '通篇颂德程氏家族的历史功绩。'}
             </div>
           </div>
         )}

+ 1 - 1
src/pages/A2yblm/index.module.scss

@@ -39,7 +39,7 @@
       .tab_active {
         background: url(../../assets/sgImg/ComponentAc.png) no-repeat center center;
         background-size: 100% 100%;
-        color: rgba(166, 118, 67, 1);
+        color: #7C4B36;
       }
     }
 

+ 6 - 2
src/pages/A3beie/index.module.scss

@@ -29,6 +29,7 @@
           position: relative;
           font-size: 24px;
           letter-spacing: 3px;
+          text-shadow: 1px 1px 1px #945b46;
 
           .butterflyR {
             width: 20px;
@@ -45,9 +46,12 @@
         }
 
         .text {
-          font-size: 18px;
-          line-height: 30px;
+          width: 400px;
+          line-height: 28px;
+          font-size: 16px;
+          text-align: justify;
           letter-spacing: 2px;
+          color: #504e40;
         }
       }
     }

+ 114 - 32
src/pages/A6ybwx/Sangzang/components/Sangzangys/index.module.scss

@@ -42,7 +42,7 @@
           position: absolute;
           left: 0;
           transform: translateX(-239px);
-          width: 525px;
+          width: 520px;
           height: 100%;
           display: flex;
           align-items: center;
@@ -63,7 +63,7 @@
             .imgBox {
               position: relative;
               width: 80%;
-              height: 50%;
+              height: 60%;
 
               .pic {
                 width: 100%;
@@ -81,22 +81,24 @@
               font-size: 16px;
               line-height: 24px;
               font-weight: 400;
-              color: rgba(69, 68, 55, 1);
+              color: #9d9a90;
 
               text-align: center;
             }
 
             .txt {
               line-height: 16px;
-              font-size: 15px;
+              font-size: 14px;
               height: 40px;
-              color: rgba(69, 68, 55, 0.8);
+              color: #9d9a90;
+              position: relative;
+              top: -8px;
             }
 
             .title {
               height: 16px;
               color: rgba(124, 75, 54, 1);
-              font-size: 25px;
+              font-size: 24px;
               letter-spacing: 1px;
             }
 
@@ -133,14 +135,16 @@
             }
 
             .txt_info2 {
-              width: 100%;
-              height: 80%;
+              padding-top: 25px;
+              width: 90%;
+              height: 100%;
               font-size: 16px;
               line-height: 24px;
               letter-spacing: 1px;
               font-weight: 400;
               color: #504e40;
               overflow: auto;
+              text-align: justify;
 
               &::-webkit-scrollbar {
                 width: 0;
@@ -206,16 +210,18 @@
           }
 
           .txt {
+            position: relative;
+            top: -8px;
             line-height: 16px;
-            font-size: 15px;
-            height: 30px;
-            color: rgba(69, 68, 55, 0.8);
+            font-size: 13px;
+            color: #9d9a90;
+            margin-bottom: 8px;
           }
 
           .title {
             height: 16px;
             color: rgba(124, 75, 54, 1);
-            font-size: 25px;
+            font-size: 24px;
             letter-spacing: 1px;
           }
 
@@ -261,6 +267,7 @@
           height: 90%;
           background-size: contain;
           transition: all 0.3s ease-in-out;
+
         }
 
         .operate {
@@ -279,10 +286,11 @@
           text-align: center;
           gap: 6px;
           padding-bottom: 50px;
-          font-size: 22px;
+          font-size: 20px;
           color: rgba(255, 233, 182, 1);
           cursor: pointer;
 
+
           .beiwen1 {
             width: 25%;
             height: 100%;
@@ -307,6 +315,7 @@
       }
 
       .right {
+        margin-left: 5%;
         width: 50%;
         height: 60%;
         display: flex;
@@ -315,7 +324,7 @@
         transition: all 0.3s ease-in-out;
 
         .content {
-          width: 68%;
+          width: 90%;
           height: 100%;
           display: flex;
           flex-direction: column;
@@ -329,16 +338,16 @@
             max-width: 100%;
             font-size: 26px;
             color: #fff;
-            border-bottom: 1px solid rgba(93, 96, 96, 0.4);
+            // border-bottom: 1px solid rgba(93, 96, 96, 0.4);
           }
 
           .text {
-            width: 90%;
-            height: fit-content;
+            width: 70%;
+            height: auto;
             max-height: 190px;
             font-size: 16px;
-            line-height: 24px;
-            letter-spacing: 2px;
+            line-height: 28px;
+            // letter-spacing: 1px;
             color: #504e40;
             text-align: justify;
             font-weight: 400;
@@ -354,12 +363,12 @@
             font-size: 14px;
             color: #7c4b36;
             cursor: pointer;
-            width: 80%;
+            width: 60%;
             height: 50px;
             position: absolute;
             bottom: -45px;
-            left: 50%;
-            transform: translateX(-63%);
+            left: -3%;
+
             display: flex;
             align-items: center;
             justify-content: center;
@@ -466,6 +475,7 @@
 
       .right {
         width: 39%;
+        margin-left: 0;
         transition: all 0.6s ease-in-out;
 
         .title {
@@ -485,6 +495,8 @@
     }
 
     .mainShow_tab1 {
+      padding-left: 230px;
+
       .lHidding {
         .lHidding_right {
           .imgBox {
@@ -502,6 +514,26 @@
           pointer-events: auto;
         }
       }
+
+      .right {
+        height: 100%;
+
+        .content {
+          margin-top: 5%;
+          height: 90%;
+          padding-left: 15px;
+
+          display: flex;
+          flex-direction: row;
+          align-items: center;
+
+          .text {
+            height: 80%;
+            max-height: 80%;
+            line-height: 26px;
+          }
+        }
+      }
     }
 
     .mainShow_tab2 {
@@ -532,6 +564,27 @@
           background-size: cover;
         }
       }
+
+      .right {
+        height: 100%;
+
+        .content {
+          margin-top: 5%;
+          height: 90%;
+          padding-left: 15px;
+
+          display: flex;
+          flex-direction: row;
+          align-items: center;
+
+          .text {
+            width: 80%;
+            height: 90%;
+            max-height: 90%;
+            line-height: 26px;
+          }
+        }
+      }
     }
 
     .mainShow_tab3,
@@ -560,10 +613,24 @@
       }
 
       .right {
-        width: 50%;
+        height: 100%;
 
         .content {
-          width: 75%;
+          margin-top: 5%;
+          height: 90%;
+          padding-left: 15px;
+
+          display: flex;
+          flex-direction: row;
+          align-items: center;
+
+          .text {
+            padding-top: 50px;
+            width: 70%;
+            height: 90%;
+            max-height: 90%;
+            line-height: 26px;
+          }
         }
       }
     }
@@ -576,6 +643,18 @@
           transform: scale(3.4);
         }
       }
+
+      .right {
+
+        .content {
+
+
+          .text {
+            padding-top: 0px;
+
+          }
+        }
+      }
     }
 
     .back {
@@ -670,7 +749,7 @@
         height: 100%;
         display: flex;
         flex-direction: column;
-        gap: 20px;
+        padding-top: 10px;
 
         .top {
           width: 100%;
@@ -678,6 +757,7 @@
           display: flex;
           align-items: center;
           gap: 80px;
+          margin-bottom: 10px;
 
           .tab0,
           .tab1,
@@ -736,6 +816,7 @@
           font-weight: 400;
           color: rgba(69, 68, 55, 1);
           overflow: auto;
+          text-align: justify;
 
           &::-webkit-scrollbar {
             width: 0px;
@@ -757,7 +838,7 @@
       width: 100%;
       height: 100%;
       position: absolute;
-      z-index: 1;
+      z-index: 4;
       top: 50%;
       left: 50%;
       transform: translate(-50%, -50%);
@@ -778,8 +859,8 @@
 
         .mPic {
           padding: 6px 10px;
-          width: 90%;
-          height: 98%;
+          width: 100%;
+          height: 100%;
           background: url(../../../../../assets/img/A6_sangzang_tab1.png) no-repeat center center;
           background-size: 100% 100%;
         }
@@ -797,14 +878,15 @@
         .mtext {
           font-size: 16px;
           line-height: 24px;
-          letter-spacing: 2px;
+          // letter-spacing: 2px;
+          text-align: justify;
           font-weight: 400;
           color: rgba(255, 233, 182, 1);
         }
 
         .mtitle {
           padding: 20px 0;
-          font-size: 20px;
+          font-size: 24px;
           width: 100%;
           height: 50px;
         }
@@ -827,8 +909,8 @@
         width: 70px;
         height: 50px;
         position: absolute;
-        top: 14px;
-        right: 63px;
+        top: 21px;
+        right: 32px;
 
         &>img {
           width: 100%;

+ 27 - 14
src/pages/A6ybwx/Sangzang/components/Sangzangys/index.tsx

@@ -8,7 +8,7 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
   const [currentTab, setCurrentTab] = useState('tab0')
   const [isShowTabBar, setIsShowTabBar] = useState(true)
   const [isShowHidContent, setIsShowHidContent] = useState(false)
-  const [isShowHidContentRight, setIsShowHidContentRight] = useState(false)
+  const [isShowHidContentRight, setIsShowHidContentRight] = useState(true)
   const [isShowMzwHot, setIsShowMzwHot] = useState(false)
   const [selectedGeshi, setSelectedGeshi] = useState(0)
   const { myData } = useSelector((state: RootState) => state.A0Layout)
@@ -43,7 +43,12 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
 
   return (
     <div className={styles.sang}>
-      <Zback clickFu={() => setShowTab(0)} />
+      <Zback
+        clickFu={() => {
+          if (selectedGeshi !== 0) setSelectedGeshi(0)
+          else setShowTab(0)
+        }}
+      />
 
       <div
         className={`main ${
@@ -60,14 +65,14 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
                 className='txt'
                 dangerouslySetInnerHTML={{ __html: myData.sangzangLeftInfo2[0].from }}
               ></div>
-              <div className='title'>{myData.sangzangLeftInfo2[0].name}</div>
+              <div className='title songFont'>{myData.sangzangLeftInfo2[0].name}</div>
               <div className='time'>{myData.sangzangLeftInfo2[0].txt}</div>
             </div>
             <div
               className='detail_info2'
-              onClick={() => setIsShowHidContentRight(!isShowHidContentRight)}
+              // onClick={() => setIsShowHidContentRight(!isShowHidContentRight)}
             >
-              <div className='title_info2'>{myData.sangzangStatic.leftInfoName}</div>
+              {/* <div className='title_info2 songFont'>{myData.sangzangStatic.leftInfoName}</div> */}
               <div className='txt_info2'>{myData.sangzangStatic.txt}</div>
             </div>
           </div>
@@ -82,7 +87,7 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
               className='txt'
               dangerouslySetInnerHTML={{ __html: myData.sangzangLeftInfo2[1].from }}
             ></div>
-            <div className='title'>{myData.sangzangLeftInfo2[1].name}</div>
+            <div className='title songFont'>{myData.sangzangLeftInfo2[1].name}</div>
             <div className='time'>{myData.sangzangLeftInfo2[1].txt}</div>
           </div>
           <div
@@ -90,7 +95,7 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
             onClick={e => {
               e.stopPropagation()
               setIsShowHidContent(false)
-              setIsShowHidContentRight(false)
+              // setIsShowHidContentRight(false)
             }}
           >
             <div className='openPic' />
@@ -104,18 +109,26 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
             }}
           />
           <div className='operate'>
-            <div className='beiwen1' onClick={() => setSelectedGeshi(1)}>
+            <div className='beiwen1 songFont' onClick={() => setSelectedGeshi(3)}>
               程氏颂文
             </div>
-            <div className='beiwen2' onClick={() => setSelectedGeshi(2)}>
+            <div className='beiwen2 songFont' onClick={() => setSelectedGeshi(2)}>
               程哲生卒
             </div>
-            <div className='beiwen3' onClick={() => setSelectedGeshi(3)}>
+            <div className='beiwen3 songFont' onClick={() => setSelectedGeshi(1)}>
               先祖功绩
             </div>
           </div>
         </div>
-        <div className='right'>
+        <div
+          className='right'
+          style={
+            {
+              // width: currentTab === 'tab0' ? '45%' : '50%',
+              // marginLeft: currentTab === 'tab0' ? '5%' : '0'
+            }
+          }
+        >
           <div className={`content`}>
             <div className='title songFont'>{myData.sangzangStatic.rightInfoName}</div>
             <div
@@ -198,10 +211,10 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
                   }.png`)}
                   alt=''
                 />
-                <div className={`tabNub ${selectedGeshi === item.key ? 'tabNubAc' : ''}`}>
+                <div className={`tabNub songFont ${selectedGeshi === item.key ? 'tabNubAc' : ''}`}>
                   {item.sonTxt}
                 </div>
-                <div className={`txt ${selectedGeshi !== item.key ? 'txtAc' : ''}`}>
+                <div className={`txt songFont ${selectedGeshi !== item.key ? 'txtAc' : ''}`}>
                   {item.name}
                 </div>
               </div>
@@ -229,7 +242,7 @@ function Sangzangys({ setShowTab }: { setShowTab: (tab: number) => void }) {
           ></div>
         </div>
         <div className='mzwHotR'>
-          <div className='mtitle'>
+          <div className='mtitle songFont'>
             {
               myData.mzw[
                 currentTab !== 'tab1' && currentTab !== 'tab2'

+ 2 - 2
src/pages/A7wjwj/conponents/Shuxing/index.module.scss

@@ -18,7 +18,7 @@
         width: 100%;
         height: fit-content;
         font-size: 14px;
-        font-weight: 500;
+        // font-weight: 500;
         color: #7e807d;
         font-size: 16px;
         line-height: 22px;
@@ -71,7 +71,7 @@
           .time {
             font-size: 14px;
             font-weight: 400;
-            color: rgba(91, 71, 46, 0.8);
+            color: #a59a8a;
           }
         }
       }

File diff suppressed because it is too large
+ 55 - 27
src/pages/A7wjwj/conponents/Shuxing/index.tsx


+ 18 - 7
src/pages/A7wjwj/index.tsx

@@ -9,8 +9,7 @@ import { useSelector } from 'react-redux'
 import { RootState } from '@/store'
 
 function A7Wjwj() {
-
-  const {myData} = useSelector((state: RootState) => state.A0Layout)
+  const { myData } = useSelector((state: RootState) => state.A0Layout)
 
   const [currentTab, setCurrentTab] = useState(0)
 
@@ -29,21 +28,33 @@ function A7Wjwj() {
       {/* 属性之辨 */}
       <Shuxing ref={tab2Ref} style={{ display: currentTab === 1 ? 'flex' : 'none' }} />
       {/* 未解之思 */}
-      <div className='weijie' dangerouslySetInnerHTML={{__html:myData.weijie}} style={{ display: currentTab === 2 ? 'flex' : 'none' }}>
-      </div>
+      <div
+        className='weijie'
+        dangerouslySetInnerHTML={{ __html: myData.weijie }}
+        style={{ display: currentTab === 2 ? 'flex' : 'none' }}
+      ></div>
 
       <div className={classNames('back', isPc ? '' : 'moBack')} onClick={() => gotoBack()}>
         <img src={require('@/assets/img/btn_back.png')} alt='' />
       </div>
 
       <div className='topBar'>
-        <div className={`tab ${currentTab === 0 ? 'active' : ''}`} onClick={() => setCurrentTab(0)}>
+        <div
+          className={`tab songFont ${currentTab === 0 ? 'active' : ''}`}
+          onClick={() => setCurrentTab(0)}
+        >
           发现之谜
         </div>
-        <div className={`tab ${currentTab === 1 ? 'active' : ''}`} onClick={() => setCurrentTab(1)}>
+        <div
+          className={`tab songFont ${currentTab === 1 ? 'active' : ''}`}
+          onClick={() => setCurrentTab(1)}
+        >
           属性之辨
         </div>
-        <div className={`tab ${currentTab === 2 ? 'active' : ''}`} onClick={() => setCurrentTab(2)}>
+        <div
+          className={`tab songFont ${currentTab === 2 ? 'active' : ''}`}
+          onClick={() => setCurrentTab(2)}
+        >
           未解之思
         </div>
       </div>