<template>
  <div class="home">
    <div class="tieshi" v-if="tieshi">
      <van-icon @click="tieshi = false" name="clear" />
      <router-link to="/Tips">
        <img src="../assets/ts_icon.png" alt="" />
      </router-link>
    </div>
    <div class="swipe">
      <img class="logo" src="../assets/logo.png" alt="logo" />
      <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white" v-if="swipeImgs">
        <van-swipe-item v-for="(image, index) in swipeImgs" :key="index">
          <img :src="image.imgUrl" @click="goBannerDetail(index)" />
        </van-swipe-item>
      </van-swipe>
    </div>
    <div class="content">
      <van-search
        v-model="searchValue"
        :placeholder="placeholder"
        @focus="placeholder = ''"
        @blur="placeholder = '搜索馆关键字、活动、研学旅行'"
        shape="round"
        @search="onSearch()"
      />
      <div class="type_box">
        <div @click="handleCourseMore()">
          <img src="@/assets/service/homeicon1.png" alt="" />
          <p>研学课程</p>
        </div>
        <!-- <div @click="handleBaseMore()">
          <img src="@/assets/service/homeicon2.png" alt="" />
          <p>研学基地</p>
        </div> -->
        <div @click="handleHot()">
          <img src="@/assets/service/homeicon3.png" alt="" />
          <p>热门榜单</p>
        </div>
        <div @click="handleNewMore()">
          <img src="@/assets/service/homeicon4.png" alt="" />
          <p>官方资讯</p>
        </div>
        <!-- <div @click="handleTeacher()">
          <img src="@/assets/service/homeicon5.png" alt="" />
          <p>研学导师</p>
        </div> -->
      </div>
      <div class="infomation_box">
        <img class="news" src="@/assets/service/news.png" @click="handleNewMore()" alt="" />
        <div class="line"></div>
        <van-swipe vertical class="new-swipe" :autoplay="5000" :show-indicators="false">
          <van-swipe-item v-for="(item, index) in NewList" :key="index">
            <p class="new_item" @click="handleNewDetail(item)">{{ item.title }}</p>
          </van-swipe-item>
        </van-swipe>
      </div>
      <!-- 精选课程 -->
      <div class="qxy_box">
        <div class="qyx_title">
          <div class="title">精选课程</div>
          <div @click="handleCourseMore()">
            <span class="more">更多</span>
            <van-icon class="more_icon" name="arrow" />
          </div>
        </div>
        <CourseList v-if="!loadingCourse" :list="CustomerCourseList"></CourseList>
        <van-empty v-else :image="require('@/assets/empty.png')" description="加载中..." />
      </div>
      <!-- 研学基地 -->
      <div class="qxy_box">
        <div class="qyx_title">
          <div class="title">研选基地</div>
          <div @click="handleBaseMore()">
            <span class="more">更多</span>
            <van-icon class="more_icon" name="arrow" />
          </div>
        </div>
        <van-tabs v-model="provinceActive" :ellipsis="false" ref="tabs" color="#4092FF" @change="provinceTabChange">
          <van-tab :title="item.label" v-for="(item, index) in provinceTabList" :key="index"> </van-tab>
        </van-tabs>
        <BaseList v-if="!loadingBase" :list="BaseList"></BaseList>
        <van-empty v-else :image="require('@/assets/empty.png')" description="加载中..." />
      </div>
      <!-- 研学游记 -->
      <div class="qxy_box">
        <div class="qyx_title">
          <div class="title">研学游记</div>
          <div @click="handleStoryMore()">
            <span class="more">更多</span>
            <van-icon class="more_icon" name="arrow" />
          </div>
        </div>
        <StoryList v-if="!loadingStory" :list="StoryList"></StoryList>
        <van-empty v-else :image="require('@/assets/empty.png')" description="加载中..." />
      </div>
      <about-des></about-des>
      <Tabbar active="service"></Tabbar>
      <div :is="background"></div>
    </div>
  </div>
</template>

<script>
import CourseList from '@/views/Service/component/c_CourseList.vue'
import BaseList from '@/views/Service/component/c_BaseList.vue'
import StoryList from '@/views/GrowUp/c_StoryList.vue'
import Tabbar from '@/components/c_Tabbar.vue'
import Background from '../components/Background.vue'
import AllLoveGo from '../components/AllLoveGo.vue'
import AboutDes from './aboutDes.vue'
import './home.scss'
// const userData = require('@/views/data.json')
export default {
  components: {
    CourseList,
    BaseList,
    StoryList,
    Tabbar,
    Background,
    AllLoveGo,
    AboutDes,
  },
  data() {
    return {
      placeholder: '搜索馆关键字、活动、研学旅行',
      tieshi: true,
      navActive: 1,
      swipeImgs: '',
      StudyBaseList: '',
      AreaList: [],
      areaActive: 0,
      recommendList: [],
      recommendPage: 1,
      recommendCount: 0,
      CourseTypeList: '',
      tabActive: 0,
      tabBodyList: [],
      tabBodyPage: 1,
      tabBodyCount: 0,
      background: '',
      selectCity: false,
      cityList: [],

      userInfo: '',
      searchValue: '',
      loadingCourse: true,
      loadingBase: true,
      loadingStory: true,
      NewList: [], //资讯列表
      CustomerCourseList: [], //精选活动
      BaseList: [], //基地列表
      StoryList: [], //游记列表
      provinceTabList: [
        { label: '推荐', text: '', value: 0, id: '' },
        { label: '越城', text: '越城区', value: 2, id: '' },
        { label: '柯桥', text: '柯桥区', value: 1, id: '' },
        { label: '上虞', text: '上虞区', value: 4, id: '' },
        { label: '诸暨', text: '诸暨区', value: 3, id: '' },
        { label: '嵊州', text: '嵊州区', value: 5, id: '' },
        { label: '新昌', text: '新昌区', value: 5, id: '' },
      ],
      provinceActive: 0,
    }
  },
  mounted() {
    ZWJSBridge.onReady(() => {
      ZWJSBridge.setTitle({
        title: '绍兴研学',
      })
    })
    this.checkAuth()
    //二次回退
    const sUserAgent = window.navigator.userAgent.toLowerCase()
    const bIsAlipayMini = sUserAgent.indexOf('miniprogram') > -1 && sUserAgent.indexOf('alipay') > -1
    if (bIsAlipayMini) {
      console.log('我来自支付宝,popstate')
      window.addEventListener('popstate', this.listenerPopstate, true)
    } else {
      console.log('我来自浙里办,popstate')
      window.addEventListener('popstate', this.listenerPopstate, true)
    }
    this.GetNewList() // 获取资讯
    this.GetBannerList()
    this.getCustomerCourseList() //精选活动
    this.GetBaseList() //研学基地
    this.GetStoryList() //研学游记
  },
  //销毁监听
  destroyed() {
    console.log('销毁支付宝监听')
    window.removeEventListener('popstate', this.listenerPopstate, true)
  },
  methods: {
    //支付宝二次回退方法,addEventListener和removeEventListener一定要调用方法,不然无效
    listenerPopstate() {
      ZWJSBridge.close()
    },
    maidian() {
      if (this.centerNo) {
        this.$zwlogPvGlobal({ loadTime: new Date() })
        this.$nextTick(() => {
          this.$zwlogPvGlobal({ responseTime: new Date() })
        })
      }
    },
    checkAuth() {
      let centerNo = localStorage.getItem('centerNo')
      let centerNoTime = localStorage.getItem('centerNoTime')
      let nowTime = new Date().getTime()
      // alert(centerNo+'-'+nowTime + '-' + centerNoTime + '=' + (nowTime - centerNoTime))
      // 超过10分钟重新授权获取
      if (!centerNoTime || nowTime - centerNoTime > 600000) {
        centerNo = ''
      }
      let ticket = this.common.getUrlParam('ticket') //浙里办app访问
      let ticketId = this.common.getUrlParam('ticketId') //浙里办微信小程序访问
      if (centerNo) {
        // ZWJSBridge.alert({
        //   message: '有中台编号:' + centerNo,
        // })
        this.centerNo = centerNo
        this.maidian()
        this.getUserInfo()
      } else if (ticket && ticket.indexOf('debug') == -1) {
        // ZWJSBridge.alert({
        //   message: '有ticket:' + ticket,
        // })
        this.getCenterByTicket(ticket)
      } else if (ticketId && ticketId.indexOf('debug') == -1) {
        // ZWJSBridge.alert({
        //   message: '有ticketId:' + ticketId,
        // })
        this.getCenterByTicketId(ticketId)
        localStorage.setItem('isWechat', 1)
      } else {
        const sUserAgent = window.navigator.userAgent.toLowerCase()
        const dtdreamweb = sUserAgent.indexOf('dtdreamweb') > -1
        const miniprogram = sUserAgent.indexOf('miniprogram') > -1 && sUserAgent.indexOf('alipay') > -1
        if (dtdreamweb) {
          // alert('浙里办')
          window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=8301b7fe71594245b97560ff841db1f2`
        } else if (miniprogram) {
          // alert('支付宝')
          window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=8301b7fe71594245b97560ff841db1f2`
        } else {
          // alert('非浙里办渠道访问,显示测试用户数据')
          console.log('非浙里办渠道访问,显示测试用户数据', userData)
          // this.centerNo = '2022031508525674030748540013076'
          // localStorage.setItem('centerNo', '2022031508525674030748540013076')
          localStorage.setItem('centerNoTime', new Date().getTime())
          let userInfo = JSON.stringify(userData)
          localStorage.setItem('userInfo', userInfo)
          this.getUserInfo()
        }
      }
    },
    // 通过ticket获取centerNo
    getCenterByTicket(ticket) {
      this.yxAxios.get(`${this.proxyUrl}/api/third/getCenterNoSxPrivate?ticket=${ticket}`).then((res) => {
        console.log('通过ticket获取centerNo成功:', res)
        if (res.data.code == 200) {
          this.centerNo = res.data.message
          this.maidian()
          localStorage.setItem('centerNo', res.data.message)
          let nowTime = new Date().getTime()
          localStorage.setItem('centerNoTime', nowTime)
          this.getUserInfo()
        } else {
          this.reLoad()
        }
      })
    },
    // 通过ticketId获取centerNo
    getCenterByTicketId(ticketId) {
      this.yxAxios.get(`${this.proxyUrl}/api/third/getCenterNoSxPrivate?ticket=${ticketId}`).then((res) => {
        console.log('通过ticket获取centerNo成功:', res)
        if (res.data.code == 200) {
          this.centerNo = res.data.message
          this.maidian()
          localStorage.setItem('centerNo', res.data.message)
          let nowTime = new Date().getTime()
          localStorage.setItem('centerNoTime', nowTime)
          this.getUserInfo()
        } else {
          this.reLoad()
        }
      })
    },
    reLoad() {
      console.log('reload')
      const sUserAgent = window.navigator.userAgent.toLowerCase()
      const dtdreamweb = sUserAgent.indexOf('dtdreamweb') > -1
      const miniprogram = sUserAgent.indexOf('miniprogram') > -1 && sUserAgent.indexOf('alipay') > -1
      if (localStorage.getItem('reloadCount') == 2) {
        localStorage.setItem('reloadCount', 1)
        ZWJSBridge.confirm({
          title: '警告',
          buttonLabels: ['重新载入'],
          message: '用户身份验证失败,请重新加载',
        }).then((res) => {
          if (dtdreamweb) {
            // alert('浙里办')
            window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=8301b7fe71594245b97560ff841db1f2`
          } else if (miniprogram) {
            // alert('支付宝')
            window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=8301b7fe71594245b97560ff841db1f2`
          }
        })
      } else {
        localStorage.setItem('reloadCount', 2)
        if (dtdreamweb) {
          // alert('浙里办')
          window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=8301b7fe71594245b97560ff841db1f2`
        } else if (miniprogram) {
          // alert('支付宝')
          window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=8301b7fe71594245b97560ff841db1f2`
        }
      }
    },
    // 获取用户信息
    getUserInfo() {
      this.yxAxios.get(`${this.proxyUrl}/user/info/getPortalUserByNum?userNum=${localStorage.getItem('centerNo')}`).then((res) => {
        console.log('获取用户信息getPortalUserByNum:', res)
        if (res.data.code == 200) {
          localStorage.setItem('userInfo', JSON.stringify(res.data.data.userInfo))
          this.userInfo = res.data.data.userInfo
        }
      })
    },
    // 获取资讯
    GetNewList() {
      this.yxAxios.post(`${this.proxyUrl}/manage/info/content/listWithNoContent`, { pageNum: 1, pageSize: 5 }).then((res) => {
        let NewList = res.data.rows
        console.log('资讯列表:', NewList)

        this.NewList = NewList
      })
    },
    // 精选课程
    getCustomerCourseList() {
      this.yxAxios
        .post(`${this.yanxueUrl}/api/SchoolManage/SchoolCourseListV2`, {
          labelIdList: [],
          ageType: 0, //适应对象
          days: 0, //线路天数
          isSelfSupport: '', //是否支持定制
          provinceName: '', //省份
          cityName: '', //城市
          // areaName: areaName, //区
          startPrice: -1,
          endPrice: -1,
          stype: 1,
          pageIndex: 1,
          pageSize: 4,
        })
        .then((res) => {
          let CustomerCourseList = res.data.data.data
          console.log('精选课程:', CustomerCourseList)
          for (let i in CustomerCourseList) {
            CustomerCourseList[i].course_labels = CustomerCourseList[i].course_labels?.split(',')
            if (CustomerCourseList[i].startDate) {
              CustomerCourseList[i].week = this.formatWeek(this.Moment(CustomerCourseList[i].startDate).format('d'))
              CustomerCourseList[i].startDate = this.Moment(CustomerCourseList[i].startDate).format('YYYY.M.D')
              CustomerCourseList[i].endDate = this.Moment(CustomerCourseList[i].endDate).format('YYYY.M.D')
            }
          }
          this.CustomerCourseList = CustomerCourseList
          this.loadingCourse = false
        })
    },
    // 获取研学基地
    GetBaseList() {
      this.yxAxios
        .post(`${this.yanxueUrl}/api/SchoolManage/SchoolStudyBaseList`, {
          provinceName: '浙江省',
          cityName: '绍兴市',
          areaName: this.provinceTabList[this.provinceActive].text,
          levelName: '',
          type: 0,
          StartPeopleCount: '-1',
          EndPeopleCount: '-1',
          stype: 0,
          pageIndex: 1,
          pageSize: 6,
        })
        .then((res) => {
          let BaseList = res.data.data.data
          console.log('基地列表:', BaseList)

          for (let i in BaseList) {
            BaseList[i].baseLabel = BaseList[i].baseLabel?.split(',')
          }
          this.BaseList = BaseList
          this.loadingBase = false
        })
    },

    // 改变地区
    provinceTabChange() {
      this.BaseList = []
      this.GetBaseList()
    },
    // 获取研学游记
    GetStoryList() {
      this.yxAxios.get(`${this.yanxueUrl}/api/StudiesWap/GetMyStoryList?pageIndex=1&pageSize=6`).then((res) => {
        let StoryList = res.data.data.items
        console.log('游记列表:', StoryList)

        this.StoryList = StoryList
        this.loadingStory = false
      })
    },

    handleNewDetail(item) {
      if (item.linkUrl) {
        this.yxAxios.post(`${this.proxyUrl}/manage/info/content/addReadNum`, { id: item.id }).then((res) => {
          if (res.data.code == 200) {
            location.href = item.linkUrl
          } else {
            this.$toast.fail(res.data.message)
          }
        })
      } else {
        this.$router.push({ name: 'ArticleDetail', query: { id: item.id } })
      }
    },
    // 点击研学导师
    handleTeacher() {
      this.$router.push({ name: 'Teacher' })
    },
    // 热门榜单
    handleHot() {
      this.$router.push({ name: 'RankingList' })
    },
    // 点击资讯更多
    handleNewMore() {
      this.$router.push({ name: 'Article' })
    },
    // 点击精选课程更多
    handleCourseMore() {
      this.$router.push({ name: 'SelectionCourse' })
    },
    // 点击研学基地更多
    handleBaseMore() {
      this.$router.push({ name: 'SelectionBase' })
    },
    // 点击研学游记更多
    handleStoryMore() {
      this.$router.push({ name: 'StoryList' })
    },
    goBannerDetail(index) {
      // var t = this.swipeImgs[index].type
      // if (t == 1) {
      //   window.location.href = this.swipeImgs[index].linkUrl
      // } else {
      //   this.$router.push({
      //     path: '/BannerDetail',
      //     query: { id: this.swipeImgs[index].id },
      //   })
      // }
    },

    GetBannerList() {
      this.http
        .GetBannerList({
          city: this.projectCity,
        })
        .then((res) => {
          if (res.status == 1) {
            this.swipeImgs = res.data
          }
        })
    },
    onSearch() {
      if (this.searchValue != '') {
        this.$router.push({ name: 'SearchResult', query: { search: this.searchValue } })
      } else {
        this.$toast('请输入搜索内容')
      }
    },

    // 获取用户信息
    // getUserInfo() {
    //   let userInfo = sessionStorage.getItem('userInfo')
    //   if (userInfo) {
    //     this.userInfo = JSON.parse(userInfo)

    //     this.showData = true
    //     this.GetStoryList()
    //   } else {
    //     this.$toast.loading({
    //       message: '加载中...',
    //       duration: 0,
    //       forbidClick: true,
    //     })
    //     this.yxAxios.get(`${this.proxyUrl}/api/wx/wx1305e88d2bc74073/getUserInfo?unionId=${this.unionId}`).then((res) => {
    //       this.$toast.clear()
    //       if (res.data.data) {
    //         this.showData = true
    //         this.userInfo = res.data.data
    //         this.GetStoryList()
    //         sessionStorage.setItem('userInfo', JSON.stringify(res.data.data))
    //       } else {
    //         console.log('getUserInfo失败')
    //         this.showData = true
    //       }
    //     })
    //   }
    // },
    formatWeek(week) {
      return week == 1
        ? '周一'
        : week == 2
        ? '周二'
        : week == 3
        ? '周三'
        : week == 4
        ? '周四'
        : week == 5
        ? '周五'
        : week == 6
        ? '周六'
        : week == 0
        ? '周日'
        : ''
    },
  },
}
</script>
<style lang="stylus" scoped>
.bottomText {
  text-align: center;
  font-size: 1.2rem;
  color: #ccc;

  p {
    margin: 0;
  }
}

.home {
.tieshi{
			position: fixed;
			right: 20px;
			bottom: 25%;
			z-index: 1000;
			padding: 20px 20px 0 0;
			i{
				position: absolute;
				top: 0;
				right: 0;
				font-size: 3.6rem;
				z-index: 100;
				color: #c2c2c2;
			}
			img{
				width :160px;
			}
		}
  .swipe {
    position: relative;

    .logo {
      width: 25%;
      position: absolute;
      top: 20px;
      left: 20px;
      z-index: 100;
    }

    .scan {
      position: absolute;
      right: 20px;
      top: 20px;
      z-index: 100;
      color: white;
      font-size: 2.6rem;

      .tishi {
        position: absolute;
        left: -90px;
        bottom: -30px;
        width: 112px;
      }
    }

    img {
      width: 100%;
    }
  }


}
</style>
<style lang="scss">
// 长辈版
.elder {
  .home .infomation_box .new_item {
    font-size: 36px;
  }
  .home .type_box p {
    font-size: 34px;
  }
  .home .qxy_box .qyx_title {
    .title {
      font-size: 44px;
    }
    .more {
      font-size: 38px;
    }
  }
  .abroad .uni_item_mini {
    .course_content {
      .title {
        font-size: 36px;
      }
      .des {
        font-size: 34px;
      }
    }
    .img_box .bottom {
      font-size: 32px;
    }
  }
  .van-tab {
    font-size: 36px;
  }
}
</style>