import { useState, useEffect, useRef } from "react";
import Taro from '@tarojs/taro'
import MoreGuide from "@/components/MoreGuide";
import BossCard from '@/components/BossCard'
import GPS from '@/assets/icons/GuideCheck/GPS.png'
import copy_logo from '@/assets/icons/GuideCheck/copy_logo.png'
import Cup from '@/assets/icons/GuideCheck/Cup.png'
import BlackSpot from '@/assets/icons/GuideCheck/BlackSpot.png'
import { getRecommendList, getExtendContent } from '@/services/home'
import sleep from '@/assets/icons/GuideCheck/sleep_logo.png'
import { getTaRoom, goToRoomForm } from '@/services/taRoom​'
import useTrackClick from '@/utils/hooks/useTrackClick'
import showMore from '@/assets/icons/housemantj/setMore.png'
import { useModel } from "@/store";
import './GuideCss/style.less'


export default (props) => {
  const { router, person, location, } = props
  let { roomId, roomOrderId } = router.params
  const [extend, setExtend] = useState([])
  const [ifroomId, setIfroomId] = useState('havenot')
  const [spackage, setPackage] = useState([])

  const { roomId: rid } = useModel('hotel')

  if (!roomId && rid) {
    roomId = rid
  }

  const trackClick = useTrackClick(router)

  // 住宿经纬度
  const Roomlog = useRef('')
  const Roomlat = useRef('')
  // 停车场经纬度
  const Parklog = useRef('')
  const Parklat = useRef('')
  const [taRoomContent, setTaRoomContent] = useState([])
  const RoomLocation = taRoomContent?.location
  //没有停车 wifi的就不显示按钮
  const [wifiButtonStyle, setWifiButtonStyle] = useState('')
  const [parkingButtonStyle, setParkingButtonStyle] = useState('')
  const [guideStyle, setGuideStyle] = useState('')

  //当前指南总数
  const [newextNum, setNewextNum] = useState(0)
  //全部指南个数
  const [AllextNum, setAllextNum] = useState(0)
  //指南当前页数
  const [epage, setEpage] = useState(2)
  const extendMore = () => {
    setEpage(epage + 1)
    getExtendContent('room', roomId, { pageNum: epage }).then((res) => {
      setExtend([...extend, ...res.records])
      setNewextNum(newextNum + res.records.length)
    })
  }


  useEffect(() => {
    if (roomOrderId) {
      goToRoomForm(roomOrderId).then((res) => {
        console.log("🚀 ~ file: Guide.jsx ~ line 65 ~ goToRoomForm ~ res", res)

        if (res.status !== 1 && res.personNum > 0) {
          Taro.navigateTo({
            url: `/pages/RoomOrder/index?roomOrderId=${roomOrderId}&status=${res.status}&roomId=${roomId}`,
          })
        }
      })
    }
  }, [roomId, roomOrderId])


  useEffect(() => {

    if (roomId) {
      console.log('--------------------------');
      // 点击’去这里‘跳转导航
      getTaRoom(roomId).then((res) => {
        Roomlog.current = (res.location).toString().split(',')[0]
        Roomlat.current = (res.location).toString().split(',')[1]
        Parklog.current = (res.parkingLocation).toString().split(',')[0]
        Parklat.current = (res.parkingLocation).toString().split(',')[1]
        setTaRoomContent(res || [])
      })
      //更多指引
      getExtendContent('room', roomId).then((res) => {
        setExtend(res.records || [])
        setIfroomId('reality')
        setAllextNum(res.total)
        setNewextNum(res.records.length)
      })
      // getRecommendList({ location: RoomLocation }).then((res) => {
      //   setPackage(res || [])
      // })
      getRecommendList({ location: location }).then((res) => {
        setPackage(res || [])
      })

    } else {
      getRecommendList({ location: location }).then((res) => {
        setPackage(res || [])
      })

      return
    }
    // extend?.records === []


    if (taRoomContent?.wifiPassword === "") {
      setWifiButtonStyle('none')
    }
    if (taRoomContent?.parkingAddress === "") {
      setParkingButtonStyle('none')
    }


  }, [roomId, RoomLocation, taRoomContent?.wifiPassword, taRoomContent?.parkingAddress, location])


  const goRoomMap = () => {
    Taro.openLocation({
      longitude: Roomlog.current - 0,
      latitude: Roomlat.current - 0,
      name: taRoomContent.roomName,
      address: taRoomContent.address,
      scale: 12,
    })
  }

  const goParkMap = () => {
    Taro.openLocation({
      longitude: Parklog.current - 0,
      latitude: Parklat.current - 0,
      name: taRoomContent.parkingAddress,
      address: taRoomContent.parkingAddress,
      scale: 12,
    })
  }




  const wifiCopy = () => {
    Taro.setClipboardData({
      data: taRoomContent?.wifiPassword,
      success: e => {
        Taro.showToast({
          title: '密码已复制',
          icon: 'success',
          duration: 2000,
        })
      }
    })
  }




  return (
    <scroll-view scrollY style='height:100%;'  >

      <view className='Guide-Home-box'>


        {
          ifroomId === 'havenot' && (
            <view className='Guide-image-text-box'>
              <image className='Guide-images' src={sleep} />
              <view className='Guide-text'>休息一下,休息一下~</view>
            </view>
          )
        }
        {/* 有民宿的情况下 */}
        {
          ifroomId === 'reality' && (
            <view>
              {/* 
              <view className='MessageCard'>
                <view className='MessageCard-title1'>
                  <text className='MessageCard-left'>----------</text>
                  名称
                  <text className='MessageCard-right'>----------</text>
                </view>
                <view className='MessageCard-content'>
                  <view className='MessageCard-name' >{taRoomContent?.roomName}</view>
                </view>
              </view>
              <view className='MessageCard-hotle'>
                <view className='MessageCard-title1-hotle'>
                  <text className='MessageCard-left-hotle'>----------</text>
                  民宿位置
                  <text className='MessageCard-right-hotle'>----------</text>
                </view>
                <view className='MessageCard-content-hotle'>
                  <view className='MessageCard-name-hotle' >{taRoomContent?.address}</view>
                </view>
                <view className='MessageCard-button-RoomName-hotle' onClick={() => { goRoomMap() }}>
                  <image className='MessageCard-image-hotle' src={GoHere} />
                  <text className='MessageCard-text-hotle'  >去这里</text>
                </view>
              </view>
              <view className='MessageCard-parkView'>
                <view className='MessageCard-title1-parkView'>
                  <text className='MessageCard-left-parkView'>----------</text>
                  停车位置
                  <text className='MessageCard-right-parkView'>----------</text>
                </view>
                <view className='MessageCard-content-parkView'>
                  <view className='MessageCard-name-parkView' >{taRoomContent?.parkingAddress}</view>
                </view>
                <view className='MessageCard-button-Park-parkView' onClick={() => { goParkMap() }} style={{ display: parkingButtonStyle }} >
                  <image className='MessageCard-image-parkView' src={Taxi} />
                  <text className='MessageCard-text-parkView'  >去这里</text>
                </view>
              </view>
              <view className='MessageCard'>
                <view className='MessageCard-title1'>
                  <text className='MessageCard-left'>----------</text>
                  WiFi信息
                  <text className='MessageCard-right'>----------</text>
                </view>
                <view className='MessageCard-content' style={{ display: wifiButtonStyle }} >
                  <view className='MessageCard-name' >名称:{taRoomContent?.wifiName}</view>
                  <view className='MessageCard-info'  ><text className='MessageCard-name'>密码:</text>{taRoomContent?.wifiPassword}</view>
                </view>

                <view className='MessageCard-button' onClick={() => { wifiCopy() }} style={{ display: wifiButtonStyle }}>
                  <image className='MessageCard-image' src={WiFi} />
                  <text className='MessageCard-text'>复制</text>
                </view>
              </view> */}


              <view className='room-box-info-ROOM'>
                <view className='room-bi-name-ROOM' >
                  <view className='room-bin-title-ROOM'>房屋名称</view>
                  <view className='room-bint-nameInfo-ROOM'>{taRoomContent?.roomName}
                  </view>
                </view>
              </view>
              {/* --------房屋位置-------- */}

              <view className='room-box-info-HouLocation'>
                <view className='room-bi-name-HouLocation' >
                  <view className='room-bin-title-HouLocation'>房屋位置</view>
                  <view className='room-bint-nameInfo-HouLocation'>
                    <view className='room-bint-nameInfo-bool-HouLocation' >{taRoomContent?.address}</view>
                    <view className='room-bintn-button-HouLocation' onClick={() => { goRoomMap() }} style={{ display: wifiButtonStyle }}>
                      <image className='room-bintn-image-HouLocation' src={GPS} />
                      <text className='room-bintn-text-HouLocation'>去这里</text>
                    </view>
                  </view>
                </view>
              </view>
              {/* --------停车场-------- */}

              <view className='room-box-info-Parking'>
                <view className='room-bi-name-Parking' >
                  <view className='room-bin-title-Parking'>停车位置</view>
                  <view className='room-bint-nameInfo-Parking'>
                    <view className='room-bint-nameInfo-bool-Parking' >{taRoomContent?.parkingAddress}</view>
                    <view className='room-bintn-button-Parking' onClick={() => { goParkMap() }} style={{ display: wifiButtonStyle }}>
                      <image className='room-bintn-image-Parking' src={GPS} />
                      <text className='room-bintn-text-Parking'>去这里</text>
                    </view>
                  </view>
                </view>
              </view>

              {/* --------无线网-------- */}
              <view className='room-box-info-WIFIContent'>
                <view className='room-bi-name-WIFIContent' >
                  <view className='room-bin-title-WIFIContent'>WiFi信息</view>
                  <view className='room-bint-nameInfo-WIFIContent'>
                    <view className='room-bint-nameInfo-bool-WIFIContent-wifi' >名称:{taRoomContent?.wifiName}</view>
                    <view className='room-bint-nameInfo-bool-WIFIContent-password' >密码:{taRoomContent?.wifiPassword}</view>
                    <view className='room-bintn-button-WIFIContent' onClick={() => { wifiCopy() }} style={{ display: wifiButtonStyle }}>
                      <image className='room-bintn-image-WIFIContent' src={copy_logo} />
                      <text className='room-bintn-text-WIFIContent'>复制</text>
                    </view>
                  </view>
                </view>
              </view>

              <view className='Guide-Content-box'  >
                <view className='title-image' style={{ display: guideStyle }} >
                  <image mode='scaleToFill' className='title-image-cup' src={BlackSpot} />
                  <text className='title-title-boss' >更多指引</text>
                </view>
                {(extend || []).map((item, index) => <MoreGuide key={(index)} item={item} />)}

                <view className='showMore' style={{ display: newextNum == AllextNum ? 'none' : '' }} onClick={extendMore}>
                  <view>点击查看更多</view>
                  <image src={showMore} className='moreTip' />
                </view>
              </view>
            </view>
          )
        }
        <view className='Guide-Content-box'>
          <view className='title-image'>
            <image mode='scaleToFill' className='title-image-cup' src={Cup} />
            <text className='title-title-boss' >老板推荐好吃的</text>
          </view>
        </view>
        <view style={{ marginTop: '10rpx', marginBottom: '60rpx' }}>
          {(spackage || []).map((item, index) => <BossCard det={item} st={parseFloat(item.score.toFixed(1))} key={(index)} trackClick={trackClick} taRoomContent={taRoomContent} item={item} />)}
        </view>

      </view>
    </scroll-view>
  )
}