/** * 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: "第五张图片文字" } ] },] } ]