/**
* Sample React Native App
* https://github.com/facebook/react-native
*
* @format
* @flow
*/
import React, { Component } from "react";
import {
Platform,
StyleSheet,
Text,
View,
Image,
FlatList,
TouchableOpacity,
ImageBackground,
TextInput,
Button,
ViewPagerAndroid,
DeviceEventEmitter,
SectionList,
Animated,
TouchableHighlight
} from "react-native";
import Swiper from "react-native-swiper";
import AndroidUtil from "../../util/AndroidUtil";
import BasePage from "../BasePage";
import Header from "./Header";
import MySwiper from "./Swiper";
import Dimensions from '../utils/dimensions';
import TopicTitle from './TopicTitle';
import ScrollRow from "./ScrollRow";
import LibraryUrl from '../services/library'
import { ScrollView } from "react-native-gesture-handler";
export default class MainPage extends BasePage {
constructor(props) {
super(props);
}
componentDidMount() {
LibraryUrl.getIndex('PRESCHOOL').success(res => {
console.log(res)
const monthTopicTitle = res.data.monthTopic.zone.title;
const monthTopicScroll = res.data.monthTopic.zoneCourseVOList;
const schedule = res.data.schedule;
const hotCourse = res.data.hotCourse;
const recommend = res.data.recommend; //全部课程
const banner = res.data.banner; //轮播图
// const listData = [];
// for(let item in res.data){
// console.log(item)
// listData.push(1)
// }
// console.log(typeof listData)
// console.log(listData)
// console.log(listData.length)
this.setState({
// listData: listData.length? listData : [],
hotCourse,
monthTopicTitle,
monthTopicScroll,
schedule,
recommend,
banner
})
console.log(this.state.banner)
})
}
state = {
grade: '大学',
text: '小伙子',
ifGradeMenuShow: false,
fadeAnim: new Animated.Value(0),
schedule: [],
recommend: [],
listData: [],
banner:[]
}
render() {
// const abc =Object.keys(this.state.data).map((k)=>this.state.data[k])
return (
{/* {
return this.loadFlatItem(item);
}}
keyExtractor={(item, index) => item.key.toString()}
ListHeaderComponent={() => this.headerorfooterComponent()}
renderSectionHeader={this.sectionTitle}
onScroll={this.hideGradeMenu}
/> */}
{this.headerorfooterComponent()}
{this.getSwiperElement()}
{this.getScheduleElement()}
{this.getMonthTopic()}
{this.getHotCourse()}
{this.getAllCourses()}
{
this.state.ifGradeMenuShow ? (
小学
学前
中学
) : (
null
)
}
);
}
// 头部组件
headerorfooterComponent() {
return (
this.toNextPage("userCenter")}
/>
{/* 搜索区域 */}
this.setState({ text })}
value={this.state.text}
/>
{this.state.grade}
);
}
// 渲染轮播图
getSwiperElement() {
return (
);
}
// 渲染课程表
getScheduleElement() {
let renderScheduleItem = (item, index) => {
return (
this.toNextPage('SchedulePage')}
key={index}
activeOpacity={1}
>
)
}
return (
{this.state.schedule.map((item, index) => renderScheduleItem(item, index))}
);
}
// 渲染月主题
getMonthTopic() {
return (
);
}
// 渲染热门课程
getHotCourse() {
return (
)
}
// 渲染全部课程
getAllCourses() {
return (
{this.state.recommend.map((item, index) => {
return (
{index === 0
?
null
:
}
)
})}
)
}
// 渲染每一个块儿 sectionList组件的data,没有用到,以后可能会用
loadFlatItem(data) {
switch (data.title) {
// 轮播图
case 'banner':
return this.getSwiperElement();
break;
// 课程表
case 'schedule':
return this.getScheduleElement();
break;
// 大图主题
case 'monthTopic':
return this.getMonthTopic();
break;
// 热门课程
case 'hotCourse':
return this.getHotCourse();
break;
case 'recommend':
return this.getAllCourses();
break;
default:
break;
}
}
// 渲染每一个section的title sectionList组件的data,没有用到,以后可能会用
sectionTitle = (info) => {
switch (info.section.title) {
case 'operation':
return (
);
break;
case 'courses':
return
break;
default:
break;
}
}
// 点击呼出学龄菜单
tabCallOutHandler = () => {
this.setState({
ifGradeMenuShow: !this.state.ifGradeMenuShow
}, () => {
Animated.timing(
this.state.fadeAnim,
{
toValue: this.state.ifGradeMenuShow ? 1 : 0,
duration: 300,
}
).start();
})
}
// 如果切换学龄在显示状态,那么在它失去焦点时将它隐藏
hideGradeMenu = () => {
if (this.state.ifGradeMenuShow) {
this.setState({
ifGradeMenuShow: false
})
}
}
}
const styles = StyleSheet.create({
title_text: {
justifyContent: "center",
alignItems: "center",
color: "red",
fontSize: 30,
textAlign: "center",
marginTop: 30,
marginBottom: 50
},
/* 搜索区域 */
searchSection: {
flex: 1,
width: Dimensions.width,
height: 60,
flexDirection: 'row',
alignItems: 'center',
backgroundColor: '#f0f1f5',
justifyContent: 'space-around',
position: 'relative',
},
searchBox: {
width: 232,
height: 40,
backgroundColor: '#fff',
borderRadius: 20
},
rightBtn: {
width: 113,
height: 40,
backgroundColor: '#fff',
borderRadius: 20,
alignItems: 'center',
justifyContent: 'center',
justifyContent: 'space-around',
flexDirection: 'row',
paddingLeft: 20,
paddingRight: 10,
},
rightBtnIcon: {
width: 14,
height: 14
},
rightBtnText: {
color: '#151515',
fontSize: 18,
},
callUpGrade: {
width: 113,
height: 120,
borderRadius: 20,
position: 'absolute',
right: 9,
top: 125,
zIndex: 999,
elevation: 999,
backgroundColor: '#fff',
flexDirection: 'column'
},
gradeItem: {
zIndex: 999,
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
gradeItemMid: {
zIndex: 999,
flex: 1,
alignItems: 'center',
justifyContent: 'center',
borderTopWidth: 1,
borderBottomWidth: 1,
borderColor: '#f0f1f5'
},
gradeText: {
color: '#151515',
fontSize: 18,
}
});
const sectionData = [
{
title: 'swiper',
data: [{
//轮播
key: 111,
typea: 1,
text: "第一种类型"
},
{
//只有一个标题下面两个图片
key: 222,
typea: 2,
item: {
item_type: 1,
title: "课程表:第一周",
icon_item: [
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第一张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第二张图片文字"
}
]
}
},]
},
{
title: 'operation',
data: [{
//一个标题,大长图
key: 444,
typea: 3,
title: "五月主题:五一启程,去看看不同世界",
text: "每天30分钟,玩学两不误",
icon_item: [
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第一张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第二张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第三张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第四张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第五张图片文字"
}
]
},
{
key: 555,
typea: 4,
title: "热门课程",
text: "text",
mask: false,
icon_item: [
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第一张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第二张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第三张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第四张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第五张图片文字"
}
]
},]
},
{
title: 'courses',
data: [{
//一个标题,大长图
key: 444,
typea: 5,
title: "五月主题:五一启程,去看看不同世界",
text: "每天30分钟,玩学两不误",
icon_item: [
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第一张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第二张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第三张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第四张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第五张图片文字"
}
]
},
{
key: 555,
typea: 5,
title: "热门课程",
text: "text",
mask: false,
icon_item: [
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第一张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第二张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第三张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第四张图片文字"
},
{
icon:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg",
name: "第五张图片文字"
}
]
},]
}
]