import React, { Component } from 'react'; import { connect } from 'react-redux'; import DocumentTitle from 'react-document-title'; import { Carousel } from 'antd-mobile'; import 'antd-mobile/dist/antd-mobile.less'; import styles from './index.less'; import router from 'umi/router'; import wx from 'weixin-js-sdk'; import bg from '../assets/index/bg01.jpg'; import icon02 from '../assets/icon02.jpg'; import icon02_cku from '../assets/icon02_cku.jpg'; import icon02_csv from '../assets/icon02_csv.jpg'; import icon03 from '../assets/icon03.jpg'; import icon03_cku from '../assets/icon03_cku.jpg'; import icon03_csv from '../assets/icon03_csv.jpg'; @connect(({ index }) => ({ index })) class Index extends Component { constructor(props) { super(props); this.state = {}; this.tabRef = null; } componentWillMount = () => { const { wxOpenFlag } = this.props.index; if (!wxOpenFlag) { this.props.dispatch({ type: 'index/getConfig', payload: {}, callback: () => { this.props.dispatch({ type: 'index/updateState', payload: { wxOpenFlag: true, }, }); wx.updateAppMessageShareData({ title: '2020年度中国宠物产业文化发展颁奖云盛典正式开启', // 分享标题 desc: 'cku、csv、品牌获奖名单公布', // 分享描述 link: window.location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: `${window.location.origin}${bg}`, // 分享图标 success: function() { // 设置成功 console.log('updateAppMessageShareData设置成功'); }, }); wx.updateTimelineShareData({ title: '2020年度中国宠物产业文化发展颁奖云盛典正式开启', // 分享标题 link: window.location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: `${window.location.origin}${bg}`, // 分享图标 success: function() { // 设置成功 console.log('updateTimelineShareData设置成功'); }, }); }, }); } else { wx.ready(function() { wx.updateAppMessageShareData({ title: '2020年度中国宠物产业文化发展颁奖云盛典正式开启', // 分享标题 desc: 'cku、csv、品牌获奖名单公布', // 分享描述 link: window.location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: `${window.location.origin}${bg}`, // 分享图标 success: function() { // 设置成功 console.log('updateAppMessageShareData设置成功'); }, }); wx.updateTimelineShareData({ title: '2020年度中国宠物产业文化发展颁奖云盛典正式开启', // 分享标题 link: window.location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: `${window.location.origin}${bg}`, // 分享图标 success: function() { // 设置成功 console.log('updateTimelineShareData设置成功'); }, }); }); } this.props.dispatch({ type: 'index/getList', payload: {}, }); }; componentDidMount = () => { window.addEventListener('scroll', this.handleScroll, true); const { top } = this.props.index; window.scrollTo(0, top); }; componentWillUnmount = () => { window.removeEventListener('scroll', this.handleScroll, true); const { top } = this.scollPostion(); this.props.dispatch({ type: 'index/updateState', payload: { top, }, }); }; scollPostion = () => { var t, l, w, h; if (document.documentElement && document.documentElement.scrollTop) { t = document.documentElement.scrollTop; l = document.documentElement.scrollLeft; w = document.documentElement.scrollWidth; h = document.documentElement.scrollHeight; } else if (document.body) { t = document.body.scrollTop; l = document.body.scrollLeft; w = document.body.scrollWidth; h = document.body.scrollHeight; } return { top: t, left: l, width: w, height: h, }; }; handleScroll = event => { if (this.tabRef) { const { top } = this.tabRef.getBoundingClientRect(); const { tabFlag } = this.props.index; if (top < 0) { if (tabFlag) { return; } this.props.dispatch({ type: 'index/updateState', payload: { tabFlag: true, }, }); } else { if (!tabFlag) { return; } this.props.dispatch({ type: 'index/updateState', payload: { tabFlag: false, }, }); } } }; onChangeTab = index => { this.props.dispatch({ type: 'index/updateState', payload: { tabTIndex: index, tabBIndex: 0, classifys: [], }, }); this.props.dispatch({ type: 'index/getList', payload: {}, }); const { tabFlag } = this.props.index; if (this.tabRef && tabFlag) { this.tabRef.scrollIntoView(); } }; onChangeTabB = index => { this.props.dispatch({ type: 'index/updateState', payload: { tabBIndex: index, }, }); this.props.dispatch({ type: 'index/getList', payload: {}, }); const { tabFlag } = this.props.index; if (this.tabRef && tabFlag) { this.tabRef.scrollIntoView(); } }; onGoVideo = id => { router.push(`/awards/video?id=${id}`); }; onGoDetail = winnerId => { router.push(`/awards/detail?winnerId=${winnerId}`); }; render() { const { tab, tabFlag, tabTIndex, tabBIndex, wxOpenFlag, classifys, awards } = this.props.index; return (
{wxOpenFlag ? (
) : null}
封面
封面
封面
封面
封面
封面
1 ? styles.tab_p_h : ''}`} ref={tabP => (this.tabRef = tabP)} >
{tab.length > 0 ? tab.map((item, index) => (
{item.tabName}
)) : null}
{classifys.length > 1 ? (
{classifys.map((item, index) => (
{item.classifyName}
))}
) : null}
{awards.length > 0 ? awards.map((item, index) => [
{item.awardName}
,
(排名不分先后)
,
{item.winners && item.winners.length > 0 ? item.winners.map((item1, index1) => (
{ if (item1.detailFlag) { this.onGoDetail(item1.winnerId); } }} > 图片 {item1.winnerName}
查看
)) : null}
, ]) : null}
); } } export default Index;