MainPage.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
  1. /**
  2. * Sample React Native App
  3. * https://github.com/facebook/react-native
  4. *
  5. * @format
  6. * @flow
  7. */
  8. import React, { Component } from "react";
  9. import {
  10. Platform,
  11. StyleSheet,
  12. Text,
  13. View,
  14. Image,
  15. FlatList,
  16. TouchableOpacity,
  17. ImageBackground,
  18. TextInput,
  19. Button,
  20. ViewPagerAndroid,
  21. DeviceEventEmitter,
  22. SectionList,
  23. Animated,
  24. TouchableHighlight
  25. } from "react-native";
  26. import Swiper from "react-native-swiper";
  27. import AndroidUtil from "../../util/AndroidUtil";
  28. import BasePage from "../BasePage";
  29. import Header from "./Header";
  30. import MySwiper from "./Swiper";
  31. import Dimensions from '../utils/dimensions';
  32. import TopicTitle from './TopicTitle';
  33. import ScrollRow from "./ScrollRow";
  34. import LibraryUrl from '../services/library'
  35. import { ScrollView } from "react-native-gesture-handler";
  36. export default class MainPage extends BasePage {
  37. constructor(props) {
  38. super(props);
  39. }
  40. componentDidMount() {
  41. this.updateRender('PRIMARY_SCHOOL')
  42. }
  43. updateRender(index) {
  44. // LibraryUrl.getIndex(index).success(res => {
  45. // }).fail(() => {
  46. // alert(1111)
  47. // })
  48. LibraryUrl.getIndex(index).then((res) => {
  49. console.log(res)
  50. const monthTopicTitle = res.data.monthTopic.zone.title;
  51. const monthTopicScroll = res.data.monthTopic.zoneCourseVOList;
  52. const schedule = res.data.schedule;
  53. const hotCourse = res.data.hotCourse;
  54. const recommend = res.data.recommend; //全部课程
  55. const banner = res.data.banner; //轮播图
  56. // const listData = [];
  57. // for(let item in res.data){
  58. // console.log(item)
  59. // listData.push(1)
  60. // }
  61. // console.log(typeof listData)
  62. // console.log(listData)
  63. // console.log(listData.length)
  64. let scheduleWeek = schedule[0].featureMap ? schedule[0].featureMap.weekSeq : '1'
  65. this.setState({
  66. // listData: listData.length? listData : [],
  67. hotCourse,
  68. monthTopicTitle,
  69. monthTopicScroll,
  70. schedule,
  71. recommend,
  72. banner,
  73. scheduleWeek
  74. })
  75. console.log(this.state.banner)
  76. })
  77. }
  78. state = {
  79. grade: '大学',
  80. text: '小伙子',
  81. ifGradeMenuShow: false,
  82. fadeAnim: new Animated.Value(0),
  83. schedule: [],
  84. recommend: [],
  85. listData: [],
  86. banner: [],
  87. currentSwitch: { title: '小学', param: 'PRIMARY_SCHOOL' },
  88. switchList: [
  89. // { title: '幼儿园', param: 'KINDERGARTEN' },
  90. { title: '学前', param: 'PRESCHOOL' },
  91. { title: '小学', param: 'PRIMARY_SCHOOL' },
  92. { title: '中学', param: 'MIDDLE_SCHOOL' },
  93. ],
  94. scheduleWeek: '1'
  95. }
  96. renderBtn = (item, index) => {
  97. return (
  98. // this.state.currentSwitch.param === item.param
  99. // ?
  100. // null
  101. // :
  102. // <TouchableOpacity onPress={() => this.switchGrade(index)} key={index} style={index === 1 ? styles.gradeItemMid : styles.gradeItem}>
  103. // <Text style={styles.gradeText}>{item.title}</Text>
  104. // </TouchableOpacity>
  105. <TouchableOpacity onPress={() => this.switchGrade(index)} key={index} style={index === 1 ? styles.gradeItemMid : styles.gradeItem}>
  106. <Text style={styles.gradeText}>{item.title}</Text>
  107. </TouchableOpacity>
  108. )
  109. }
  110. switchGrade = (index) => {
  111. const obj = this.state.switchList[index]
  112. this.setState({
  113. currentSwitch: obj
  114. })
  115. this.hideGradeMenu()
  116. // if (obj.param === this.state.currentSwitch.param) return
  117. this.updateRender(obj.param)
  118. }
  119. render() {
  120. // const abc =Object.keys(this.state.data).map((k)=>this.state.data[k])
  121. return (
  122. <View style={{ flex: 1 }} onPress={this.hideGradeMenu}>
  123. {/* <SectionList sectionList组件 性能好 但是针对当前布局是否有要用的必要,以后可能迭代
  124. sections={this.state.listData}
  125. renderItem={({ item }) => {
  126. return this.loadFlatItem(item);
  127. }}
  128. keyExtractor={(item, index) => item.key.toString()}
  129. ListHeaderComponent={() => this.headerorfooterComponent()}
  130. renderSectionHeader={this.sectionTitle}
  131. onScroll={this.hideGradeMenu}
  132. /> */}
  133. <ScrollView style={{ height: Dimensions.height }} showsVerticalScrollIndicator={false} onScroll={this.hideGradeMenu} >
  134. {this.headerorfooterComponent()}
  135. {this.getSwiperElement()}
  136. {this.getScheduleElement()}
  137. {this.getMonthTopic()}
  138. {this.getHotCourse()}
  139. {this.getAllCourses()}
  140. </ScrollView>
  141. {
  142. this.state.ifGradeMenuShow ? (
  143. <Animated.View
  144. style={{
  145. ...styles.callUpGrade,
  146. opacity: this.state.fadeAnim
  147. }}>
  148. {this.state.switchList.map((item, index) => this.renderBtn(item, index))}
  149. </Animated.View>
  150. ) : (
  151. null
  152. )
  153. }
  154. </View>
  155. );
  156. }
  157. // 头部组件
  158. headerorfooterComponent() {
  159. return (
  160. <View>
  161. <Header
  162. uri="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1295208965,3056573814&amp;fm=26&amp;gp=0.jpg"
  163. width={400}
  164. height={150}
  165. username="卡通笨笨熊"
  166. flowerNumber="123234"
  167. onPress={() => this.toNextPage("userCenter")}
  168. />
  169. {/* 搜索区域 */}
  170. <View style={styles.searchSection}>
  171. <TextInput
  172. style={styles.searchBox}
  173. onChangeText={(text) => this.setState({ text })}
  174. value={this.state.text}
  175. />
  176. <TouchableOpacity onPress={this.tabCallOutHandler}>
  177. <View
  178. style={styles.rightBtn}
  179. >
  180. <Image
  181. source={require('../images/common/switch.png')}
  182. style={styles.rightBtnIcon}
  183. />
  184. <Text
  185. style={styles.rightBtnText}
  186. >
  187. {this.state.currentSwitch.title}
  188. </Text>
  189. </View>
  190. </TouchableOpacity>
  191. </View>
  192. </View>
  193. );
  194. }
  195. // 渲染轮播图
  196. getSwiperElement() {
  197. return (
  198. <View
  199. style={{
  200. height: Dimensions.getHeight(163),
  201. flex: 1,
  202. justifyContent: "center",
  203. alignItems: "center",
  204. flexDirection: "row",
  205. }}
  206. >
  207. <View
  208. style={{
  209. width: Dimensions.getWidth(358),
  210. height: Dimensions.getHeight(153),
  211. justifyContent: "center",
  212. overflow: 'hidden'
  213. }}
  214. >
  215. <MySwiper
  216. autoplay={true}
  217. loop={true}
  218. ifShowMiddle={true}
  219. data={this.state.banner}
  220. />
  221. </View>
  222. </View>
  223. );
  224. }
  225. // 渲染课程表
  226. getScheduleElement() {
  227. let renderScheduleItem = (item, index) => {
  228. const id = item.boothId
  229. return (
  230. <TouchableOpacity
  231. style={{
  232. width: Dimensions.getWidth(172),
  233. height: Dimensions.getHeight(86),
  234. marginRight: 12
  235. }}
  236. onPress={() => this.toNextPage('SchedulePage', { id })}
  237. key={index}
  238. activeOpacity={1}
  239. >
  240. <ImageBackground
  241. source={{
  242. uri: item.boothContent
  243. }}
  244. key={index}
  245. style={{
  246. flex: 1,
  247. // justifyContent: "center",
  248. // alignItems: "center",
  249. borderRadius: 10
  250. }}
  251. >
  252. {
  253. item.operationContent === 'KINDERGARTE'
  254. ?
  255. null
  256. :
  257. <View style={{
  258. width: Dimensions.getWidth(90),
  259. height: Dimensions.getHeight(45),
  260. marginLeft: Dimensions.getWidth(15),
  261. marginTop: Dimensions.getHeight(15),
  262. justifyContent: 'center',
  263. alignItems: 'center'
  264. }}>
  265. <Text style={{
  266. color: '#fff',
  267. fontSize: 18,
  268. }}>{item.title}</Text>
  269. <Text
  270. style={{
  271. color: '#fff',
  272. fontSize: 18,
  273. }}
  274. >{item.summary}</Text>
  275. </View>
  276. }
  277. </ImageBackground>
  278. </TouchableOpacity>
  279. )
  280. }
  281. return (
  282. <View
  283. style={{
  284. flex: 1,
  285. flexDirection: "column",
  286. height: Dimensions.getHeight(160),
  287. }}
  288. >
  289. <TopicTitle title={`课程表:第${this.state.scheduleWeek}周`} ifTubeShow={true} />
  290. {/* <View
  291. style={{
  292. flex: 2,
  293. flexDirection: "row",
  294. alignItems: 'center',
  295. paddingLeft: 10
  296. }}
  297. >
  298. {this.state.schedule.map((item, index) => renderScheduleItem(item, index))}
  299. </View> */}
  300. <FlatList
  301. data={this.state.schedule}
  302. horizontal={true}
  303. style={{ paddingLeft: '3.2%' }}
  304. renderItem={({ item, index }) => renderScheduleItem(item, index)}
  305. keyExtractor={(item, index) => index.toString()}
  306. showsHorizontalScrollIndicator={false}
  307. />
  308. </View>
  309. );
  310. }
  311. // 渲染月主题
  312. getMonthTopic() {
  313. return (
  314. <View style={{
  315. flex: 1,
  316. height: 225,
  317. }}>
  318. <TopicTitle title={this.state.monthTopicTitle} summary={'每天30分钟'} ifTubeShow={true} />
  319. <ScrollRow itemWidth={352} itemHeight={153} nav={this.props.navigation.navigate} data={this.state.monthTopicScroll} />
  320. </View>
  321. );
  322. }
  323. // 渲染热门课程
  324. getHotCourse() {
  325. return (
  326. <View style={{
  327. flex: 1,
  328. height: 220,
  329. }}>
  330. <TopicTitle title={'热门课程'} ifTubeShow={true} />
  331. <ScrollRow itemWidth={106} itemHeight={150} nav={this.props.navigation.navigate} data={this.state.hotCourse} />
  332. </View>
  333. )
  334. }
  335. // 渲染全部课程
  336. getAllCourses() {
  337. return (
  338. <View>
  339. {this.state.recommend.map((item, index) => {
  340. return (
  341. <View
  342. style={{
  343. flex: 1,
  344. height: 240,
  345. }}
  346. key={index}
  347. >
  348. {index === 0
  349. ?
  350. null
  351. :
  352. <View style={{ width: Dimensions.width, height: 4, backgroundColor: '#f0f1f5' }}></View>
  353. }
  354. <TopicTitle title={item.zone.title} />
  355. <ScrollRow itemWidth={106} itemHeight={150} nav={this.props.navigation.navigate} data={item.zoneCourseVOList} />
  356. </View>
  357. )
  358. })}
  359. </View>
  360. )
  361. }
  362. // 渲染每一个块儿 sectionList组件的data,没有用到,以后可能会用
  363. loadFlatItem(data) {
  364. switch (data.title) {
  365. // 轮播图
  366. case 'banner':
  367. return this.getSwiperElement();
  368. break;
  369. // 课程表
  370. case 'schedule':
  371. return this.getScheduleElement();
  372. break;
  373. // 大图主题
  374. case 'monthTopic':
  375. return this.getMonthTopic();
  376. break;
  377. // 热门课程
  378. case 'hotCourse':
  379. return this.getHotCourse();
  380. break;
  381. case 'recommend':
  382. return this.getAllCourses();
  383. break;
  384. default:
  385. break;
  386. }
  387. }
  388. // 渲染每一个section的title sectionList组件的data,没有用到,以后可能会用
  389. sectionTitle = (info) => {
  390. switch (info.section.title) {
  391. case 'operation':
  392. return (
  393. <View
  394. style={{
  395. width: Dimensions.width,
  396. height: 10,
  397. backgroundColor: '#f0f1f5'
  398. }}
  399. />
  400. );
  401. break;
  402. case 'courses':
  403. return <TopicTitle title={'全部课程'} tubeColor={'#7d9fff'} background={'#f0f1f5'} ifTubeShow={true} />
  404. break;
  405. default:
  406. break;
  407. }
  408. }
  409. // 点击呼出学龄菜单
  410. tabCallOutHandler = () => {
  411. this.setState({
  412. ifGradeMenuShow: !this.state.ifGradeMenuShow
  413. }, () => {
  414. Animated.timing(
  415. this.state.fadeAnim,
  416. {
  417. toValue: this.state.ifGradeMenuShow ? 1 : 0,
  418. duration: 300,
  419. }
  420. ).start();
  421. })
  422. }
  423. // 如果切换学龄在显示状态,那么在它失去焦点时将它隐藏
  424. hideGradeMenu = () => {
  425. if (this.state.ifGradeMenuShow) {
  426. this.setState({
  427. ifGradeMenuShow: false
  428. })
  429. }
  430. }
  431. }
  432. const styles = StyleSheet.create({
  433. title_text: {
  434. justifyContent: "center",
  435. alignItems: "center",
  436. color: "red",
  437. fontSize: 30,
  438. textAlign: "center",
  439. marginTop: 30,
  440. marginBottom: 50
  441. },
  442. /* 搜索区域 */
  443. searchSection: {
  444. flex: 1,
  445. width: Dimensions.width,
  446. height: Dimensions.getHeight(60),
  447. flexDirection: 'row',
  448. alignItems: 'center',
  449. backgroundColor: '#f0f1f5',
  450. justifyContent: 'space-around',
  451. position: 'relative',
  452. },
  453. searchBox: {
  454. width: Dimensions.getWidth(232),
  455. height: Dimensions.getHeight(40),
  456. backgroundColor: '#fff',
  457. borderRadius: 20
  458. },
  459. rightBtn: {
  460. width: Dimensions.getWidth(113),
  461. height: Dimensions.getHeight(40),
  462. backgroundColor: '#fff',
  463. borderRadius: 20,
  464. alignItems: 'center',
  465. justifyContent: 'center',
  466. justifyContent: 'space-around',
  467. flexDirection: 'row',
  468. paddingLeft: 20,
  469. paddingRight: 10,
  470. },
  471. rightBtnIcon: {
  472. width: Dimensions.getWidth(23),
  473. height: Dimensions.getHeight(23),
  474. },
  475. rightBtnText: {
  476. color: '#151515',
  477. fontSize: 18,
  478. },
  479. callUpGrade: {
  480. width: 113,
  481. height: 120,
  482. borderRadius: 20,
  483. position: 'absolute',
  484. right: 9,
  485. top: 125,
  486. zIndex: 999,
  487. elevation: 999,
  488. backgroundColor: '#fff',
  489. flexDirection: 'column'
  490. },
  491. gradeItem: {
  492. zIndex: 999,
  493. flex: 1,
  494. alignItems: 'center',
  495. justifyContent: 'center',
  496. },
  497. gradeItemMid: {
  498. zIndex: 999,
  499. flex: 1,
  500. alignItems: 'center',
  501. justifyContent: 'center',
  502. borderTopWidth: 1,
  503. borderBottomWidth: 1,
  504. borderColor: '#f0f1f5'
  505. },
  506. gradeText: {
  507. color: '#151515',
  508. fontSize: 18,
  509. }
  510. });
  511. const sectionData = [
  512. {
  513. title: 'swiper',
  514. data: [{
  515. //轮播
  516. key: 111,
  517. typea: 1,
  518. text: "第一种类型"
  519. },
  520. {
  521. //只有一个标题下面两个图片
  522. key: 222,
  523. typea: 2,
  524. item: {
  525. item_type: 1,
  526. title: "课程表:第一周",
  527. icon_item: [
  528. {
  529. icon:
  530. "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",
  531. name: "第一张图片文字"
  532. },
  533. {
  534. icon:
  535. "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",
  536. name: "第二张图片文字"
  537. }
  538. ]
  539. }
  540. },]
  541. },
  542. {
  543. title: 'operation',
  544. data: [{
  545. //一个标题,大长图
  546. key: 444,
  547. typea: 3,
  548. title: "五月主题:五一启程,去看看不同世界",
  549. text: "每天30分钟,玩学两不误",
  550. icon_item: [
  551. {
  552. icon:
  553. "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",
  554. name: "第一张图片文字"
  555. },
  556. {
  557. icon:
  558. "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",
  559. name: "第二张图片文字"
  560. },
  561. {
  562. icon:
  563. "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",
  564. name: "第三张图片文字"
  565. },
  566. {
  567. icon:
  568. "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",
  569. name: "第四张图片文字"
  570. },
  571. {
  572. icon:
  573. "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",
  574. name: "第五张图片文字"
  575. }
  576. ]
  577. },
  578. {
  579. key: 555,
  580. typea: 4,
  581. title: "热门课程",
  582. text: "text",
  583. mask: false,
  584. icon_item: [
  585. {
  586. icon:
  587. "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",
  588. name: "第一张图片文字"
  589. },
  590. {
  591. icon:
  592. "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",
  593. name: "第二张图片文字"
  594. },
  595. {
  596. icon:
  597. "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",
  598. name: "第三张图片文字"
  599. },
  600. {
  601. icon:
  602. "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",
  603. name: "第四张图片文字"
  604. },
  605. {
  606. icon:
  607. "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",
  608. name: "第五张图片文字"
  609. }
  610. ]
  611. },]
  612. },
  613. {
  614. title: 'courses',
  615. data: [{
  616. //一个标题,大长图
  617. key: 444,
  618. typea: 5,
  619. title: "五月主题:五一启程,去看看不同世界",
  620. text: "每天30分钟,玩学两不误",
  621. icon_item: [
  622. {
  623. icon:
  624. "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",
  625. name: "第一张图片文字"
  626. },
  627. {
  628. icon:
  629. "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",
  630. name: "第二张图片文字"
  631. },
  632. {
  633. icon:
  634. "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",
  635. name: "第三张图片文字"
  636. },
  637. {
  638. icon:
  639. "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",
  640. name: "第四张图片文字"
  641. },
  642. {
  643. icon:
  644. "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",
  645. name: "第五张图片文字"
  646. }
  647. ]
  648. },
  649. {
  650. key: 555,
  651. typea: 5,
  652. title: "热门课程",
  653. text: "text",
  654. mask: false,
  655. icon_item: [
  656. {
  657. icon:
  658. "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",
  659. name: "第一张图片文字"
  660. },
  661. {
  662. icon:
  663. "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",
  664. name: "第二张图片文字"
  665. },
  666. {
  667. icon:
  668. "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",
  669. name: "第三张图片文字"
  670. },
  671. {
  672. icon:
  673. "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",
  674. name: "第四张图片文字"
  675. },
  676. {
  677. icon:
  678. "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",
  679. name: "第五张图片文字"
  680. }
  681. ]
  682. },]
  683. }
  684. ]