Parcourir la source

静态资源路径修改

shaogen1995 il y a 1 jour
Parent
commit
7bd29170c2
60 fichiers modifiés avec 395 ajouts et 339 suppressions
  1. 0 1
      project/public/index.html
  2. 0 251
      project/public/myData/myData.js
  3. 251 2
      project/public/three/data.js
  4. 0 1
      project/src/App.tsx
  5. 9 2
      project/src/components/Zvideo/index.tsx
  6. 4 7
      project/src/pages/A1home/PanoHot/Swiper2/index.tsx
  7. 60 28
      project/src/pages/A1home/PanoHot/index.tsx
  8. 20 7
      project/src/pages/A1home/index.tsx
  9. 7 3
      project/src/pages/A4member/index.tsx
  10. 1 1
      project/src/pages/A5view/PageSon/A5model/index.tsx
  11. 23 16
      project/src/pages/A6life/Intro/index.tsx
  12. 16 10
      project/src/pages/A6life/Record/index.tsx
  13. 4 2
      project/src/pages/A6life/Swiper/index.tsx
  14. 0 4
      project/src/store/reducer/layout.ts
  15. 0 1
      project/src/types/declaration.d.ts
  16. 0 3
      project/src/utils/http.ts
  17. 0 0
      静态文件/myData/img/Atest.png
  18. 0 0
      静态文件/myData/img/member1.png
  19. 0 0
      静态文件/myData/img/member10.png
  20. 0 0
      静态文件/myData/img/member10_l.png
  21. 0 0
      静态文件/myData/img/member1_l.png
  22. 0 0
      静态文件/myData/img/member2.png
  23. 0 0
      静态文件/myData/img/member2_l.png
  24. 0 0
      静态文件/myData/img/member3.png
  25. 0 0
      静态文件/myData/img/member3_l.png
  26. 0 0
      静态文件/myData/img/member4.png
  27. 0 0
      静态文件/myData/img/member4_l.png
  28. 0 0
      静态文件/myData/img/member5.png
  29. 0 0
      静态文件/myData/img/member5_l.png
  30. 0 0
      静态文件/myData/img/member6.png
  31. 0 0
      静态文件/myData/img/member6_l.png
  32. 0 0
      静态文件/myData/img/member7.png
  33. 0 0
      静态文件/myData/img/member7_l.png
  34. 0 0
      静态文件/myData/img/member8.png
  35. 0 0
      静态文件/myData/img/member8_l.png
  36. 0 0
      静态文件/myData/img/member9.png
  37. 0 0
      静态文件/myData/img/member9_l.png
  38. 0 0
      静态文件/myData/img/thumb1.jpg
  39. 0 0
      静态文件/myData/img/thumb10.jpg
  40. 0 0
      静态文件/myData/img/thumb11.jpg
  41. 0 0
      静态文件/myData/img/thumb12.jpg
  42. 0 0
      静态文件/myData/img/thumb2.jpg
  43. 0 0
      静态文件/myData/img/thumb3.jpg
  44. 0 0
      静态文件/myData/img/thumb4.jpg
  45. 0 0
      静态文件/myData/img/thumb5.jpg
  46. 0 0
      静态文件/myData/img/thumb6.jpg
  47. 0 0
      静态文件/myData/img/thumb7.jpg
  48. 0 0
      静态文件/myData/img/thumb8.jpg
  49. 0 0
      静态文件/myData/img/thumb9.jpg
  50. 0 0
      静态文件/myData/media/bgVideo.mp4
  51. 0 0
      静态文件/myData/media/member1.mp4
  52. 0 0
      静态文件/myData/media/member10.mp4
  53. 0 0
      静态文件/myData/media/member2.mp4
  54. 0 0
      静态文件/myData/media/member3.mp4
  55. 0 0
      静态文件/myData/media/member4.mp4
  56. 0 0
      静态文件/myData/media/member5.mp4
  57. 0 0
      静态文件/myData/media/member6.mp4
  58. 0 0
      静态文件/myData/media/member7.mp4
  59. 0 0
      静态文件/myData/media/member8.mp4
  60. 0 0
      静态文件/myData/media/member9.mp4

+ 0 - 1
project/public/index.html

@@ -10,7 +10,6 @@
     <meta name="description" content="Web site created using create-react-app" />
     <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
     <link rel="shortcut icon" href="./favicon.ico" type="image/x-icon" />
-    <script src="./myData/myData.js"></script>
     <script src="./three/data.js"></script>
     <title>革命领袖视察黑龙江纪念馆</title>
   </head>

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 251
project/public/myData/myData.js


Fichier diff supprimé car celui-ci est trop grand
+ 251 - 2
project/public/three/data.js


+ 0 - 1
project/src/App.tsx

@@ -26,7 +26,6 @@ declare global {
   //设置全局属性
   interface Window {
     //window对象属性
-    isHH: boolean //加入对象
     myDataTemp: MyDataType
   }
 }

+ 9 - 2
project/src/components/Zvideo/index.tsx

@@ -1,12 +1,19 @@
 import React, { useRef } from 'react'
 import styles from './index.module.scss'
 import 'media-chrome'
-function Zvideo({ src ,objFit='fill'}: { src: string, objFit?: string }) {
+import { baseOssUrl } from '@/utils/http'
+function Zvideo({ src, objFit = 'fill' }: { src: string; objFit?: string }) {
   const videoRef = useRef<HTMLVideoElement>(null)
   return (
     <div className={styles.Zvideo}>
       <media-controller class='custom-media-controller'>
-        <video ref={videoRef} slot='media' src={src} className='modal-video' style={{ objectFit: objFit as any}}></video>
+        <video
+          ref={videoRef}
+          slot='media'
+          src={baseOssUrl + src}
+          className='modal-video'
+          style={{ objectFit: objFit as any }}
+        ></video>
         <media-control-bar>
           <media-play-button></media-play-button>
           <div className='progress'>

+ 4 - 7
project/src/pages/A1home/PanoHot/Swiper2/index.tsx

@@ -5,12 +5,9 @@ import 'swiper/css'
 import 'swiper/css/effect-coverflow'
 import 'swiper/css/pagination'
 import 'swiper/css/navigation'
-import { EffectCoverflow } from 'swiper/modules'
-function SwiperComponent2({
-  activeIndex
-}: {
-  activeIndex: number
-}) {
+// import { EffectCoverflow } from 'swiper/modules'
+import { baseOssUrl } from '@/utils/http'
+function SwiperComponent2({ activeIndex }: { activeIndex: number }) {
   const swiperRef = useRef<any>(null)
   return (
     <div className={styles.SwiperComponent2}>
@@ -32,7 +29,7 @@ function SwiperComponent2({
         {myDataTemp.panoHotList[activeIndex]?.imgList?.map((item: string, index: number) => (
           <SwiperSlide key={index}>
             <div className={`itemCard ${activeIndex === index ? 'itemCardActive' : ''}`}>
-                <img className='itemImageImg' src={item} alt='' />
+              <img className='itemImageImg' src={baseOssUrl + item} alt='' />
             </div>
           </SwiperSlide>
         ))}

+ 60 - 28
project/src/pages/A1home/PanoHot/index.tsx

@@ -1,9 +1,16 @@
-import React, { useEffect, useState } from "react";
-import styles from "./index.module.scss";
-import SwiperComponent2 from "./Swiper2";
- function PanoHot({activeIndex, setActiveIndex}: {activeIndex: number, setActiveIndex: (index: number) => void}) {
+import React, { useEffect, useState } from 'react'
+import styles from './index.module.scss'
+import SwiperComponent2 from './Swiper2'
+import { baseOssUrl } from '@/utils/http'
+function PanoHot({
+  activeIndex,
+  setActiveIndex
+}: {
+  activeIndex: number
+  setActiveIndex: (index: number) => void
+}) {
   const [type, setType] = useState('')
-  
+
   useEffect(() => {
     setType('model')
   }, [])
@@ -13,32 +20,57 @@ import SwiperComponent2 from "./Swiper2";
         <div className={styles.title}>{myDataTemp.panoHotList[activeIndex]?.name}</div>
         <div className={styles.desc}>{myDataTemp.panoHotList[activeIndex]?.desc}</div>
       </div>
-    <div className={styles.top}>
-      {/* model */}
-      {type === 'model' ? <div className={styles.model}>
-        <iframe src={myDataTemp.panoHotList[activeIndex]?.modelSrc || ''} title="model" />
-      </div> : null}
-      {/* video */}
-      {type === 'video' ? <div className={styles.video}>
-        <video src={myDataTemp.panoHotList[activeIndex]?.videoSrc || ''} controls loop />
-      </div> : null}
-      {/* img */}
-      {type === 'img' ? <div className={styles.img}>
-        <SwiperComponent2 activeIndex={0} />
-      </div> : null}
-    </div>
-    <div className={styles.bottom}>
-      <div className={`${styles.tab} ${type === 'model' ? styles.active : ''}`} onClick={() => setType('model')}>模型</div>
-      <div className={`${styles.tab} ${type === 'video' ? styles.active : ''}`} onClick={() => setType('video')}>视频</div>
-      <div className={`${styles.tab} ${type === 'img' ? styles.active : ''}`} onClick={() => setType('img')}>图片</div>
-      <div className={styles.closeBtn} onClick={() => setActiveIndex(-1)}>
-        <img src={require('../../../assets/img/close.png')} alt="" />
+      <div className={styles.top}>
+        {/* model */}
+        {type === 'model' ? (
+          <div className={styles.model}>
+            <iframe src={myDataTemp.panoHotList[activeIndex]?.modelSrc || ''} title='model' />
+          </div>
+        ) : null}
+        {/* video */}
+        {type === 'video' ? (
+          <div className={styles.video}>
+            <video
+              src={baseOssUrl + myDataTemp.panoHotList[activeIndex]?.videoSrc || ''}
+              controls
+              loop
+            />
+          </div>
+        ) : null}
+        {/* img */}
+        {type === 'img' ? (
+          <div className={styles.img}>
+            <SwiperComponent2 activeIndex={0} />
+          </div>
+        ) : null}
+      </div>
+      <div className={styles.bottom}>
+        <div
+          className={`${styles.tab} ${type === 'model' ? styles.active : ''}`}
+          onClick={() => setType('model')}
+        >
+          模型
+        </div>
+        <div
+          className={`${styles.tab} ${type === 'video' ? styles.active : ''}`}
+          onClick={() => setType('video')}
+        >
+          视频
+        </div>
+        <div
+          className={`${styles.tab} ${type === 'img' ? styles.active : ''}`}
+          onClick={() => setType('img')}
+        >
+          图片
+        </div>
+        <div className={styles.closeBtn} onClick={() => setActiveIndex(-1)}>
+          <img src={require('../../../assets/img/close.png')} alt='' />
+        </div>
       </div>
-    </div>
     </div>
   )
 }
 
-const MemoPanoHot = React.memo(PanoHot);
+const MemoPanoHot = React.memo(PanoHot)
 
-export default MemoPanoHot;
+export default MemoPanoHot

+ 20 - 7
project/src/pages/A1home/index.tsx

@@ -3,6 +3,7 @@ import styles from './index.module.scss'
 import MenuSider from '@/components/MenuSider'
 import { callIframeFu } from '@/utils/history'
 import PanoHot from './PanoHot'
+import { baseOssUrl } from '@/utils/http'
 function A1home() {
   const [isOpenPano, setIsOpenPano] = useState(false)
   const [isShowDetail, setIsShowDetail] = useState(false)
@@ -10,7 +11,7 @@ function A1home() {
   // 是否进入二级页面
   const [isHotPano, setIsHotPano] = useState(false)
   const [activeIndex, setActiveIndex] = useState(-1)
- 
+
   const scrollRef = useRef<HTMLDivElement>(null)
   const sceneList = myDataTemp.sceneList
   const totalScenes = sceneList.length
@@ -19,7 +20,7 @@ function A1home() {
     window.setIsHotPano = (isHotPano: boolean) => {
       setIsHotPano(isHotPano)
     }
-     window.setActiveHotId = (id: string) => {
+    window.setActiveHotId = (id: string) => {
       console.log('setActiveHotId222', id)
       const index = myDataTemp.panoHotList.findIndex((item: any) => item.id === id)
       if (index !== -1) {
@@ -55,7 +56,7 @@ function A1home() {
   const scrollToIndex = (index: number) => {
     const el = scrollRef.current
     if (!el) return
-    const firstItem = (el.firstElementChild?.firstElementChild) as HTMLElement
+    const firstItem = el.firstElementChild?.firstElementChild as HTMLElement
     const itemWidth = firstItem?.offsetWidth ?? 200
     const scrollLeft = index * itemWidth - el.clientWidth / 2 + itemWidth / 2
     el.scrollTo({ left: Math.max(0, scrollLeft), behavior: 'smooth' })
@@ -73,8 +74,14 @@ function A1home() {
       {/* 视频跳过后是全景 */}
       {isOpenPano ? (
         <>
-          <iframe id='panoIframe' src='https://houseoss.4dkankan.com/project/gmlx/Pano/index.html' title='pono'></iframe>
-        {activeIndex !== -1 &&  <PanoHot activeIndex={activeIndex} setActiveIndex={setActiveIndex}/>}
+          <iframe
+            id='panoIframe'
+            src='https://houseoss.4dkankan.com/project/gmlx/Pano/index.html'
+            title='pono'
+          ></iframe>
+          {activeIndex !== -1 && (
+            <PanoHot activeIndex={activeIndex} setActiveIndex={setActiveIndex} />
+          )}
           {/* 详情按钮-只在二级页面显示 */}
           {isHotPano && (
             <div className={styles.skipBtn} onClick={() => setIsShowDetail(!isShowDetail)}>
@@ -100,7 +107,7 @@ function A1home() {
                     className={`${styles.detailItem} ${currentSceneIndex === index ? styles.active : ''}`}
                     onClick={() => handleItemClick(item, index)}
                   >
-                    <img src={item.thumbUrl} alt='' />
+                    <img src={baseOssUrl + item.thumbUrl} alt='' />
                     <div className={styles.detailItemName}>{item.name}</div>
                   </div>
                 ))}
@@ -117,7 +124,13 @@ function A1home() {
       ) : (
         <>
           {/* 背景视频 */}
-          <video src={'myData/media/bgVideo.mp4'} autoPlay loop muted className={styles.bgVideo} />
+          <video
+            src={`${baseOssUrl}myData/media/bgVideo.mp4`}
+            autoPlay
+            loop
+            muted
+            className={styles.bgVideo}
+          />
 
           {/* 跳过按钮 */}
           <div className={styles.skipBtn} onClick={() => setIsOpenPano(true)}>

+ 7 - 3
project/src/pages/A4member/index.tsx

@@ -3,6 +3,7 @@ import styles from './index.module.scss'
 import MenuSider from '@/components/MenuSider'
 import Zvideo from '@/components/Zvideo'
 import Zback from '@/components/Zback'
+import { baseOssUrl } from '@/utils/http'
 function A4Member() {
   const scrollRef = useRef<HTMLDivElement>(null)
   const [currentIndex, setCurrentIndex] = useState(0)
@@ -65,13 +66,13 @@ function A4Member() {
                   <img
                     className={currentIndex === index ? 'imgHide' : 'imgShow'}
                     draggable={false}
-                    src={item.imgSrc}
+                    src={baseOssUrl + item.imgSrc}
                     alt=''
                   />
                   <img
                     className={currentIndex === index ? 'imgShow' : 'imgHide'}
                     draggable={false}
-                    src={item.imgSrcLight}
+                    src={baseOssUrl + item.imgSrcLight}
                     alt=''
                   />
                 </div>
@@ -101,7 +102,10 @@ function A4Member() {
       {/* 动画 */}
       {isShowVideo ? (
         <div className={styles.videoBox}>
-          <Zvideo src={myDataTemp.memberList[currentIndex].videoSrc} objFit='contain'/>
+          <Zvideo
+            src={baseOssUrl + myDataTemp.memberList[currentIndex].videoSrc}
+            objFit='contain'
+          />
           <Zback onBack={() => setIsShowVideo(false)} />
         </div>
       ) : null}

+ 1 - 1
project/src/pages/A5view/PageSon/A5model/index.tsx

@@ -44,7 +44,7 @@ function A5model() {
         <>
           <iframe
             id='A5Mmodel'
-            src={`${baseOssUrl}/modelSS/index.html?m=${info.id}`}
+            src={`${baseOssUrl}modelSS/index.html?m=${info.id}`}
             title='model'
             frameBorder='0'
           ></iframe>

+ 23 - 16
project/src/pages/A6life/Intro/index.tsx

@@ -1,23 +1,30 @@
-import React from "react";
-import styles from "./index.module.scss";
-import Zback from "@/components/Zback";
- function Intro({activeIndex, setIsShowIntro}: {activeIndex: number, setIsShowIntro: (isShow: boolean) => void}) {
-  
+import React from 'react'
+import styles from './index.module.scss'
+import Zback from '@/components/Zback'
+import { baseOssUrl } from '@/utils/http'
+function Intro({
+  activeIndex,
+  setIsShowIntro
+}: {
+  activeIndex: number
+  setIsShowIntro: (isShow: boolean) => void
+}) {
   return (
     <div className={styles.Intro}>
-     <div className={styles.imgBox}>
-      <div className={styles.imgBoxInner}><img src={myDataTemp.lifeList[activeIndex].imgSrc} alt="" /></div>
-      
-     </div>
-     <div className={styles.textBox}>
-      <div className={styles.textTop}>{myDataTemp.lifeList[activeIndex].name}</div>
-      <div className={styles.textBottom}>{myDataTemp.lifeList[activeIndex].desc}</div>
-     </div>
-     <Zback onBack={() => setIsShowIntro(false)}/>
+      <div className={styles.imgBox}>
+        <div className={styles.imgBoxInner}>
+          <img src={baseOssUrl + myDataTemp.lifeList[activeIndex].imgSrc} alt='' />
+        </div>
+      </div>
+      <div className={styles.textBox}>
+        <div className={styles.textTop}>{myDataTemp.lifeList[activeIndex].name}</div>
+        <div className={styles.textBottom}>{myDataTemp.lifeList[activeIndex].desc}</div>
+      </div>
+      <Zback onBack={() => setIsShowIntro(false)} />
     </div>
   )
 }
 
-const MemoIntro = React.memo(Intro);
+const MemoIntro = React.memo(Intro)
 
-export default MemoIntro;
+export default MemoIntro

+ 16 - 10
project/src/pages/A6life/Record/index.tsx

@@ -1,17 +1,23 @@
-import React from "react";
-import styles from "./index.module.scss";
-import Zvideo from "@/components/Zvideo";
-import Zback from "@/components/Zback";
- function Record({activeIndex, setActiveIndex}: {activeIndex: number, setActiveIndex: (index: number) => void}) {
-  
+import React from 'react'
+import styles from './index.module.scss'
+import Zvideo from '@/components/Zvideo'
+import Zback from '@/components/Zback'
+import { baseOssUrl } from '@/utils/http'
+function Record({
+  activeIndex,
+  setActiveIndex
+}: {
+  activeIndex: number
+  setActiveIndex: (index: number) => void
+}) {
   return (
     <div className={styles.Record}>
-     <Zvideo src={myDataTemp.lifeList[activeIndex].videoSrc || ''} />
-     <Zback onBack={() => setActiveIndex(activeIndex-1)}/>
+      <Zvideo src={baseOssUrl + myDataTemp.lifeList[activeIndex].videoSrc || ''} />
+      <Zback onBack={() => setActiveIndex(activeIndex - 1)} />
     </div>
   )
 }
 
-const MemoRecord = React.memo(Record);
+const MemoRecord = React.memo(Record)
 
-export default MemoRecord;
+export default MemoRecord

+ 4 - 2
project/src/pages/A6life/Swiper/index.tsx

@@ -6,6 +6,7 @@ import 'swiper/css/effect-coverflow'
 import 'swiper/css/pagination'
 import 'swiper/css/navigation'
 import { EffectCoverflow, Pagination, Navigation } from 'swiper/modules'
+import { baseOssUrl } from '@/utils/http'
 function SwiperComponent({
   activeIndex,
   setActiveIndex,
@@ -54,7 +55,8 @@ function SwiperComponent({
         modules={[EffectCoverflow, Pagination, Navigation]}
         className='swiper_container'
         onSlideChange={(swiper: any) => {
-          const index = swiper.realIndex - 3 >= 0 ? swiper.realIndex - 3 : swiper.realIndex + listLength - 3
+          const index =
+            swiper.realIndex - 3 >= 0 ? swiper.realIndex - 3 : swiper.realIndex + listLength - 3
           isInternalChange.current = true
           handleVideoClick(index)
         }}
@@ -67,7 +69,7 @@ function SwiperComponent({
           <SwiperSlide key={index}>
             <div className={`itemCard ${activeIndex === index ? 'itemCardActive' : ''}`}>
               <div className='itemImage'>
-                <img className='itemImageImg' src={item?.imgSrc} alt='' />
+                <img className='itemImageImg' src={baseOssUrl + item?.imgSrc} alt='' />
                 <img
                   className='detailIcon'
                   onClick={() => setIsShowIntro(true)}

+ 0 - 4
project/src/store/reducer/layout.ts

@@ -3,7 +3,6 @@ import { MessageType } from '@/utils/message'
 
 // 初始化状态
 const initState = {
-  isHH: false,
   style: {},
   // 所有图片点击预览查看大图
   lookBigImg: {
@@ -52,7 +51,6 @@ const initState = {
 
 // 定义 action 类型
 type LayoutActionType =
-  | { type: 'layout/isHH'; payload: boolean }
   | { type: 'layout/style'; payload: any }
   | {
       type: 'layout/lookBigImg'
@@ -78,8 +76,6 @@ type LayoutActionType =
 // 频道 reducer
 export default function layoutReducer(state = initState, action: LayoutActionType) {
   switch (action.type) {
-    case 'layout/isHH':
-      return { ...state, isHH: action.payload }
     case 'layout/style':
       return { ...state, style: action.payload }
     // 所有图片点击预览查看大图

+ 0 - 1
project/src/types/declaration.d.ts

@@ -12,7 +12,6 @@ declare const baseOssUrl1: string
 declare const baseOssUrl2: string
 
 // public/myData.js 里面的一些数据的类型
-declare const isPcTemp: boolean
 declare const myDataTemp: MyDataType
 
 // 微信浏览器--视频转画布

+ 0 - 3
project/src/utils/http.ts

@@ -1,6 +1,3 @@
-// 是不是pc端
-export const isPc = isPcTemp
-
 export const envFlag = process.env.NODE_ENV === 'development'
 
 export const myData: MyDataType = myDataTemp

project/public/myData/img/Atest.png → 静态文件/myData/img/Atest.png


project/public/myData/img/member1.png → 静态文件/myData/img/member1.png


project/public/myData/img/member10.png → 静态文件/myData/img/member10.png


project/public/myData/img/member10_l.png → 静态文件/myData/img/member10_l.png


project/public/myData/img/member1_l.png → 静态文件/myData/img/member1_l.png


project/public/myData/img/member2.png → 静态文件/myData/img/member2.png


project/public/myData/img/member2_l.png → 静态文件/myData/img/member2_l.png


project/public/myData/img/member3.png → 静态文件/myData/img/member3.png


project/public/myData/img/member3_l.png → 静态文件/myData/img/member3_l.png


project/public/myData/img/member4.png → 静态文件/myData/img/member4.png


project/public/myData/img/member4_l.png → 静态文件/myData/img/member4_l.png


project/public/myData/img/member5.png → 静态文件/myData/img/member5.png


project/public/myData/img/member5_l.png → 静态文件/myData/img/member5_l.png


project/public/myData/img/member6.png → 静态文件/myData/img/member6.png


project/public/myData/img/member6_l.png → 静态文件/myData/img/member6_l.png


project/public/myData/img/member7.png → 静态文件/myData/img/member7.png


project/public/myData/img/member7_l.png → 静态文件/myData/img/member7_l.png


project/public/myData/img/member8.png → 静态文件/myData/img/member8.png


project/public/myData/img/member8_l.png → 静态文件/myData/img/member8_l.png


project/public/myData/img/member9.png → 静态文件/myData/img/member9.png


project/public/myData/img/member9_l.png → 静态文件/myData/img/member9_l.png


project/public/myData/img/thumb1.jpg → 静态文件/myData/img/thumb1.jpg


project/public/myData/img/thumb10.jpg → 静态文件/myData/img/thumb10.jpg


project/public/myData/img/thumb11.jpg → 静态文件/myData/img/thumb11.jpg


project/public/myData/img/thumb12.jpg → 静态文件/myData/img/thumb12.jpg


project/public/myData/img/thumb2.jpg → 静态文件/myData/img/thumb2.jpg


project/public/myData/img/thumb3.jpg → 静态文件/myData/img/thumb3.jpg


project/public/myData/img/thumb4.jpg → 静态文件/myData/img/thumb4.jpg


project/public/myData/img/thumb5.jpg → 静态文件/myData/img/thumb5.jpg


project/public/myData/img/thumb6.jpg → 静态文件/myData/img/thumb6.jpg


project/public/myData/img/thumb7.jpg → 静态文件/myData/img/thumb7.jpg


project/public/myData/img/thumb8.jpg → 静态文件/myData/img/thumb8.jpg


project/public/myData/img/thumb9.jpg → 静态文件/myData/img/thumb9.jpg


project/public/myData/media/bgVideo.mp4 → 静态文件/myData/media/bgVideo.mp4


project/public/myData/media/member1.mp4 → 静态文件/myData/media/member1.mp4


project/public/myData/media/member10.mp4 → 静态文件/myData/media/member10.mp4


project/public/myData/media/member2.mp4 → 静态文件/myData/media/member2.mp4


project/public/myData/media/member3.mp4 → 静态文件/myData/media/member3.mp4


project/public/myData/media/member4.mp4 → 静态文件/myData/media/member4.mp4


project/public/myData/media/member5.mp4 → 静态文件/myData/media/member5.mp4


project/public/myData/media/member6.mp4 → 静态文件/myData/media/member6.mp4


project/public/myData/media/member7.mp4 → 静态文件/myData/media/member7.mp4


project/public/myData/media/member8.mp4 → 静态文件/myData/media/member8.mp4


project/public/myData/media/member9.mp4 → 静态文件/myData/media/member9.mp4