index.tsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import React, { useMemo, useState } from 'react'
  2. import styles from './index.module.scss'
  3. import { myData } from '@/utils/http'
  4. import Hot2 from '@/pages/A2visit/PanoVideo/Hot2'
  5. import useDataUrl from '@/components/ownUse/useDataUrl'
  6. function PanoImg() {
  7. // 0为 第一种模式的热点 其他为第二种
  8. const [ind, setInd] = useState(-1)
  9. const data = useMemo(() => {
  10. if (ind !== -1) return myData.banquet.hot[ind].data
  11. else return []
  12. }, [ind])
  13. const { dataUrlSame } = useDataUrl()
  14. return (
  15. <div className={styles.PanoImg}>
  16. {/* 待完善 */}
  17. 全景图
  18. {myData.banquet.hot.map((item, index) => (
  19. <div className='pvHot' key={index} onClick={() => setInd(index)}>
  20. <img className='pvHotBase' src={`${dataUrlSame}visit/hot/hotBase.png`} alt='' />
  21. <img className='pvHotHover' src={dataUrlSame + item.hoverSrc} alt='' />
  22. </div>
  23. ))}
  24. {ind === -1 ? null : (
  25. <Hot2 data={data} closeFu={() => setInd(-1)} name={myData.banquet.hot[ind].name} />
  26. )}
  27. </div>
  28. )
  29. }
  30. const MemoPanoImg = React.memo(PanoImg)
  31. export default MemoPanoImg