import React, { useEffect, useMemo, useState } from 'react' import styles from './index.module.scss' import { useParams } from 'react-router-dom' import { HotSpot, Krpano, Scene, View } from '@dage/krpano' import { baseURL, myData, otherUrl } from '@/utils/http' import HotIcon from '@/components/HotIcon' import Hot2 from '../A2visit/PanoVideo/Hot2' import history from '@/utils/history' import FloorHotspotIcon from '@/assets/img/icon-flo-1.png' import { ArrowLeftOutlined } from '@ant-design/icons' import FloorBtn from '@/components/FloorBtn' import { KrpanoMiddleware } from '@/components/KrpanoMiddleware' import CatVideo from '@/components/CatVideo' // import { myData } from '@/utils/http' window.draggbleHotspotEvent = (ath: number, atv: number) => { console.log(`ath: ${ath}, atv: ${atv}`) } function A3banPano() { // 路由:/banPano/id const urlObj: any = useParams() // 0为 第一种模式的热点 其他为第二种 const [acName, setAcName] = useState('') const [activeIdx, setActiveIdx] = useState(-1) const [curScene, setCurScene] = useState('') useEffect(() => { const id = urlObj.id setCurScene(id === '2' ? 'pano3' : 'pano4') // 数据 过滤 2=2楼 3=庭院 // myData.banquet.hot.filter(v=>v.louType===id) }, [urlObj.id]) const info = useMemo(() => { let infoRes: any = {} if (acName) infoRes = myData.banquet.hot.find(v => v.name === acName) return infoRes }, [acName]) // 点击观赏庭院 先播放视频 const [videoPlay, setVideoPlay] = useState(false) return (
{/* 自己在的数据里面添加 字段louType 区分热点位置 1=一楼 2=2楼 3=庭院(字符串) */} {myData.banquet.hot .filter(c => c.louType === '2') .map((item, index) => ( // 热点图标 setActiveIdx(index)} onOut={() => setActiveIdx(-1)} onClick={() => setAcName(item.name)} // @ts-ignore // onDown='draggable_hotspot()' > ))} { history.push('/banquet?r=ren') }} // @ts-ignore // onDown='draggable_hotspot()' >
返回一楼
{ history.replace('/banPano/3') setVideoPlay(true) }} >

观赏庭院

{ history.replace('/banPano/2') }} >

返回室内

{ setVideoPlay(false) }} /> {/* 右下角按钮 */} {videoPlay ? null : } {acName && info && info.data ? ( setAcName('')} name={info.name} /> ) : null}
) } const MemoA3banPano = React.memo(A3banPano) export default MemoA3banPano