90 lines
2.5 KiB
JavaScript
90 lines
2.5 KiB
JavaScript
import React ,{ useEffect , useState } from "react";
|
|
import { SnackbarHOC } from "educoder";
|
|
import { CNotificationHOC } from "../../modules/courses/common/CNotificationHOC";
|
|
import { TPMIndexHOC } from "../../modules/tpm/TPMIndexHOC";
|
|
import { withRouter } from "react-router";
|
|
import { ImageLayerOfCommentHOC } from "../../modules/page/layers/ImageLayerOfCommentHOC";
|
|
import Home from './components/Home/index'
|
|
import ProjectStatus from './components/ProjectStatus/index'
|
|
import { getNewsAllList, getMainInfos } from '../Information/api';
|
|
import next from "./img/next.png";
|
|
import Slider from "react-slick";
|
|
import './index.scss';
|
|
const setting = {
|
|
dots: false,
|
|
infinite: true,
|
|
speed: 2000,
|
|
slidesToShow: 1,
|
|
slidesToScroll: 1,
|
|
pauseOnDotsHover: true,
|
|
autoplaySpeed: Number(localStorage.getItem('pageLoopSpeed')) || 30000,
|
|
// pauseOnFocus: false,
|
|
autoplay: true,
|
|
arrows: false,
|
|
pauseOnHover:false,
|
|
dotsClass:'fac-dots'
|
|
// prevArrow: <img className="slick-prev slick-arrow" src={next} alt="" />,
|
|
// nextArrow: <img className="slick-next slick-arrow" src={next} alt="" />,
|
|
// afterChange: (index) => setTag(index),
|
|
};
|
|
|
|
|
|
|
|
|
|
function Index(props){
|
|
|
|
const [id,setId] = useState(undefined)
|
|
const [newsList,setNewsList] = useState([])
|
|
const homeDom = React.useRef(null)
|
|
const proDom = React.useRef(null)
|
|
useEffect(()=>{
|
|
getId()
|
|
},[])
|
|
|
|
useEffect(()=>{
|
|
let timer = null
|
|
if(id){
|
|
getNewsList()
|
|
timer = setInterval(()=>{
|
|
getNewsList()
|
|
},Number(localStorage.getItem('apiTime')) || 300000)
|
|
return () =>{
|
|
clearInterval(timer)
|
|
}
|
|
}
|
|
},[id])
|
|
|
|
function getNewsList() {
|
|
getNewsAllList(id).then(result => {
|
|
if (result) {
|
|
let rows = result.data.rows;
|
|
setNewsList(rows);
|
|
}
|
|
}).catch(error => { })
|
|
}
|
|
|
|
function getId(){
|
|
getMainInfos('xjykyzx').then(result=>{
|
|
console.log('result', result)
|
|
if(result){
|
|
let data = result.data.data;
|
|
if(data && data.id){
|
|
setId(data.id);
|
|
}
|
|
}
|
|
}).catch(console.error())
|
|
}
|
|
|
|
return (<div className="softFc-wrap">
|
|
<Slider {...setting} >
|
|
<Home newsList={newsList} key="home" ref={homeDom}/>
|
|
<ProjectStatus key="project" ref={proDom}/>
|
|
</Slider>
|
|
</div>)
|
|
}
|
|
|
|
export default withRouter((CNotificationHOC()(SnackbarHOC()(TPMIndexHOC(ImageLayerOfCommentHOC({
|
|
imgSelector: ".imageLayerParent img, .imageLayerParent .imageTarget",
|
|
parentSelector: ".newContainer",
|
|
})(Index)))))
|
|
); |