{"version":3,"sources":["components/blessingPreheat/courseItem/index.js","components/activity/newyear-2019/common/commonContainer/index.js","components/activity/newyear-2019/common/commonPopup/index.js","components/activity/newyear-2019/common/prizes/index.js","components/activity/newyear-2019/common/user-bullet-screen/index.js","components/activity/newyear-2019/preheat/YearCourse/index.js"],"names":["CourseItem","props","_this","Object","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","this","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__","call","startCountDown","time","date","hours","minutes","seconds","setInterval","concat","parseInt","padStart","setState","countdown","state","nextProps","newTime","_this$props","image","toCourse","id","react__WEBPACK_IMPORTED_MODULE_5___default","a","createElement","className","src","alt","onClick","children","Component","CommonContainer","title","React","Children","map","child","Fragment","index","computedStyle","top","width","closePopup","mark","style","e","stopPropagation","SystemBulletScreen","Loadable","__webpack_require__","then","bind","Prizes","closeIcon","prizes","notices","rule","unfoldList","getPrizes","http","get","API","home","res","_res$data","data","code","msg","antd_mobile_lib_toast__WEBPACK_IMPORTED_MODULE_1___default","info","showRules","Popup","content","react__WEBPACK_IMPORTED_MODULE_7___default","dangerouslySetInnerHTML","__html","showMore","prev","bg","innerBox","prizeBox","headHeight","parseFloat","getComputedStyle","getPropertyValue","footerHeight","h","prizeList","scrollHeight","scrollListHeight","height","_this2","showSystemNotices","length","bullets","ref","el","href","item","key","img_name","backgroundImage","is_captain","mode","stage_no","grant_max","UserBulletScreen","bulletScreenData","initializeBulletScreen","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__","indexArray","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__","Array","slidesPerRequest","keys","removed","swiper","Swiper","direction","allowTouchMove","autoplay","on","transitionEnd","_this3","slides","removeSlide","start","activeIndex","stop","getBulletScreenData","appendSlide","getSlides","setTimeout","list","avatar_file","user_name","initializeSwiper","arguments","undefined","destroy","YearCourse","connect","user","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_3__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__","getLength","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7__","sum","fetchBigCourse","bigcourse","_res$data2","assign","isMore","course","courseList","fetchFreeCourse","freecourse","_res$data3","errno","course_info","filter","fetchGroupCourse","groupcourse","_res$data4","fetchAICourse","addshowMore","_res$data5","getList","_this2$state","basic","advanced","higher","expand","toQQque","getParam","SendMessageToApp","location","courseId","history","push","handleToMore","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_2__","toLogin","freeStudy","tofreeStudy","closePopupWish","isshowFollow","toJoinList","wish","getQRcodeUrl","uid","_res$data6","qrUrl","url","QRCode","toDataURL","err","followBarcode","addWishList","isLogin","hasError","isFollow","_res$data7","is_follow","post","course_id","_res$data8","success","saveImage","version","replace","slice","QRCodeUrl","saveImage2","getTeamInfo","_res$data9","removable_data","removable","currentId","toBoxList","search","toYearWish","toInviteFriends","oid","params","number","price","course_title","desc","link","m","imgUrl","image_name","isCountDown","condition","val","formatTitleAndKey","formatCourseData","_this2$state2","toCart","_res$data10","toContinueBargain","bargainToOrder","_this2$props","_res$data11","bargain","nextState","nextContext","isAppUpdate","_this$state","stage","treasureStage","react__WEBPACK_IMPORTED_MODULE_9___default","Number","_common_commonContainer_index__WEBPACK_IMPORTED_MODULE_12__","_blessingPreheat_courseItem_index__WEBPACK_IMPORTED_MODULE_13__","is_buy","act_num","data-stage","is_assemble","add_time","data-status","data-color","price1","progress","order_id","type","end_time","already_bargain","original_price","pdd_price","low_prize","data-layout","bargain_code","actual_payment","is_join","price2","_common_commonPopup_index__WEBPACK_IMPORTED_MODULE_15__","browser","isAndroidApp","withRouter"],"mappings":"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","file":"mrstatic/js/1.e3e5ce88.chunk.js","sourcesContent":["import React, { Component } from 'react';\nimport './index.scss';\n\nclass CourseItem extends Component {\n  constructor(props) {\n    super(props);\n    this.state = {\n      countdown: ''\n    }\n  }\n\n  componentDidMount() {\n    const { time } = this.props;\n    this.startCountDown(time);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    const { time: newTime } = nextProps\n    const { time: oldTime } = this.props;\n    if(oldTime != newTime) {\n      this.startCountDown(newTime);\n    }\n  }\n\n  startCountDown = (time) => {\n    if(time) {\n      let date = time * 1000,\n        hours = 0,\n        minutes = 0,\n        seconds = 0;\n      setInterval(() => {\n          date -= 1000\n          hours = `${parseInt(date / (60 * 60 * 1000))}`.padStart(2, 0);\n          minutes = `${parseInt((date - hours * 3600000) / 60000)}`.padStart(2, 0);\n          seconds = `${parseInt((date - hours * 3600000 - minutes * 60000) / 1000)}`.padStart(2, 0);\n          this.setState({\n            countdown: `${hours}时${minutes}分${seconds}秒后结束`\n          });\n      }, 1000);\n    }\n  }\n\n  render() {\n    const { image, toCourse, id} = this.props;\n    const { countdown } = this.state;\n    return (\n      <div className=\"course-container\">\n        <div className=\"course__cover\">\n          {\n            countdown &&\n            <p className=\"course__time\">{countdown}</p>\n          }\n          <img src={image} alt=\"cover\" onClick={() => toCourse(id)}/>\n        </div>\n        {this.props.children}\n      </div>\n    );\n  }\n}\n\nexport default CourseItem;\n","import React, { Component } from 'react'\nimport './index.scss'\n\nexport default class CommonContainer extends Component {\n  constructor(props) {\n    super(props)\n  }\n  render() {\n    const { id } = this.props;\n    return (\n      <div className='common_container' id={id}>\n        <div className='container_top'></div>\n        <div className='container_content'>\n            {\n                this.props.title &&\n                <div className='title_container'>\n                    <i></i>\n                    <p>{this.props.title}</p>\n                    <i></i>\n                </div>\n            }\n          {\n            React.Children.map(this.props.children, function (child) {\n              return <>{child}</>;\n            })\n          }\n        </div>\n        <div className='container_bottom'></div>\n      </div>\n    )\n  }\n}\n","import React, { Component } from 'react';\nimport './index.scss';\n\nexport default class index extends Component {\n  constructor(props) {\n    super(props);\n  }\n  computedStyle = () => {\n    return {\n      'top': `${this.props.top}px`,\n      'width': `${this.props.width}px`\n    }\n  }\n\n  // 控制点击空白处是否关闭弹窗 需要传递一个boolean属性 mark\n  closePopup = () => {\n    if(this.props.mark) {\n      this.props.closePopup();\n    }\n  }\n\n  render() {\n    return (\n      <div className='popup__container' onClick={this.closePopup}>\n        <div className='content__container' style={this.computedStyle()} onClick={(e) => {e.stopPropagation()}}>\n          <img className=\"close__btn\" onClick={this.props.closePopup} src='https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/close-btn.png' alt=\"\" />\n          {\n            React.Children.map(this.props.children, function (child) {\n              return <>{child}</>;\n            })\n          }\n        </div>\n      </div>\n    )\n  }\n}\n","import React, { Component } from 'react'\nimport { http } from \"@/utils\"\nimport './prizes.scss'\nimport { Popup } from \"@common/index\"\nimport { Toast } from \"antd-mobile\"\n\n\nimport Loadable from '@loadable/component'\n\nconst SystemBulletScreen = Loadable(() => import(/* webpackChunkName: 'system-notices' */'@components/activity/newyear-2019/common/system-bullet-screen'))\n\nclass Prizes extends Component {\n\n  prizeBox\n  prizeList\n  bg\n  innerBox\n  closeIcon = 'https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/close-btn.png'\n\n  state = {\n    prizes: [],\n    notices: [],\n    rule: [],\n    unfoldList: false,\n  }\n\n  componentDidMount() {\n    this.getPrizes()\n  }\n\n  getPrizes = () => {\n    http.get(`${API.home}/sys/prize_data`)\n      .then(res => {\n        const {code, data, msg} = res.data\n        if (code == 200) {\n\n          this.setState({\n            prizes: data['prize_data'],\n            notices: data['notices'],\n            rule: data['rule']\n          })\n\n        } else {\n          Toast.info(msg, 2, null, false)\n        }\n      })\n  }\n\n\n  showRules = () => {\n    Popup({\n      title: '组队开宝箱活动规则',\n      className: 'landing-treasure-rules',\n      content: <div dangerouslySetInnerHTML={{__html: this.state.rule}}/>,\n      closeIcon: this.closeIcon\n    })\n  }\n\n\n  showMore = () => {\n    this.setState(prev => {\n      if (this.state.unfoldList) {\n        this.bg.style = this.innerBox.style = this.prizeBox.style = ''\n      } else {\n        let headHeight = parseFloat(getComputedStyle(this.prizeBox, ':before').getPropertyValue('height')),\n          footerHeight = parseFloat(getComputedStyle(this.prizeBox, ':after').getPropertyValue('height')),\n          innerOffsetTop = 0.12458,\n          footerOffsetTop = 0.595,\n          h = this.prizeList.scrollHeight,\n          scrollListHeight = headHeight + h - (innerOffsetTop * headHeight) - (footerOffsetTop * footerHeight) + footerHeight,\n          bottomOffset = 27\n\n        this.prizeBox.style.height = `${scrollListHeight + bottomOffset}px`\n        this.innerBox.style.height = `${h}px`\n        this.bg.style.height = `${h - footerHeight + innerOffsetTop * headHeight + bottomOffset}px`\n      }\n      return {unfoldList: !prev.unfoldList}\n    })\n\n  }\n\n  render() {\n    const {\n      showSystemNotices\n    } = this.props\n    const {notices} = this.state\n    return (\n      <>\n        {(showSystemNotices && notices && notices.length) ? <SystemBulletScreen bullets={notices}/> : null}\n        <div className={'prizes-box'} ref={el => this.prizeBox = el}>\n          <a href=\"javascript:;\" className='rule-btn' onClick={this.showRules}>活动规则 > </a>\n          <div className={`bg`} ref={el => this.bg = el}/>\n          <div className={`inner-box`} ref={el => this.innerBox = el}>\n            <ul className='prize-list' ref={el => this.prizeList = el}>\n              {\n                this.state.prizes.map((item, index) => {\n                  return (\n                    <li key={index}>\n                      {\n                        item.img_name\n                          ? <i className=\"prize-list__image\" style={{\n                            backgroundImage: `url(${item.img_name})`\n                          }}/>\n                          : <i className=\"prize-list__image\"/>\n                      }\n                      {/* <img src={item.img_name} alt=\"\"/> */}\n                      {\n                        item.is_captain != 0 && <span className='captain top-tag'>队长专属</span>\n                      }\n                      {\n                        item.mode === 2 && <span className='stage top-tag'>第{item.stage_no}个必中</span>\n                      }\n                      {\n                        item.grant_max\n                          ?\n                          <div className='bottom-bar'>\n                            <div className=\"progress-bar\"><span className={'progress'}/></div>\n                            <span>限量{item.grant_max}份</span>\n                          </div>\n                          : <span className='no-limit'>不限量</span>\n                      }\n                    </li>\n                  )\n                })\n              }\n              <li>\n                <img src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/prize-placeholder.png\" alt=\"\"/>\n              </li>\n            </ul>\n          </div>\n          <div className=\"show-more\" onClick={this.showMore}>\n            {\n              this.state.unfoldList\n                ? <div>\n                  收起\n                  <img src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/fold-icon.png\" alt=\"\"/>\n                </div>\n                : <div>\n                  查看全部奖品\n                  <img src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/unfold-icon.png\" alt=\"\"/>\n                </div>\n            }\n          </div>\n        </div>\n      </>\n    )\n  }\n}\n\nexport default Prizes\n","import React, { Component } from 'react'\nimport { http } from \"@/utils\"\nimport Swiper from 'swiper'\nimport 'swiper/dist/css/swiper.min.css'\nimport './bullet-screen.scss'\n\nclass UserBulletScreen extends Component {\n\n  swiper\n\n  state = {\n    bulletScreenData: []\n  }\n\n  componentDidMount() {\n    this.getBulletScreenData(true)\n  }\n\n  componentWillUnmount() {\n    this.swiper && this.swiper.destroy()\n  }\n\n\n  initializeBulletScreen = () => {\n    const _this = this\n    const slidesPerRequest = 20\n    const indexArray = [...Array(slidesPerRequest - 1).keys()]\n    let removed = false\n    this.swiper = new Swiper('.swiper-container', {\n      direction: 'vertical',\n      allowTouchMove: false,\n      autoplay: true,\n      on: {\n        transitionEnd() {\n          if (this.slides.length > slidesPerRequest) {\n            this.removeSlide(0)\n            this.autoplay.start()\n          }\n          if (this.activeIndex === this.slides.length - 1 && !removed) {\n            this.autoplay.stop()\n            _this.getBulletScreenData().then(res => {\n              removed = true\n              this.removeSlide(indexArray)\n              this.appendSlide(_this.getSlides(res))\n              setTimeout(() => {\n                this.autoplay.start()\n                removed = false\n              })\n            })\n          }\n        }\n      }\n    })\n  }\n\n  getSlides = list => list.map(item => {\n    return `\n              <li class=\"swiper-slide\">\n                <img class=\"avatar\" src=\"${item.avatar_file}\" alt=\"\">\n                <span>${item.user_name} ${item.msg}</span>\n              </li>\n            `\n  })\n\n  getBulletScreenData = (initializeSwiper = false) => {\n    return http.get(`${API.home}/sys/barrage_data`)\n      .then(res => {\n        const {data, code} = res.data\n        if (code == 200) {\n          if (initializeSwiper) {\n            this.setState({\n              bulletScreenData: data\n            }, () => {\n              this.initializeBulletScreen()\n            })\n          } else {\n            return data\n          }\n        }\n      })\n  }\n\n\n  render() {\n    const {bulletScreenData} = this.state\n    return (\n      <div id=\"user-bullet-screen\" className='swiper-container'>\n        <ul className='swiper-wrapper'>\n          {\n            bulletScreenData.length && bulletScreenData.map((item, index) => {\n              return (\n                <li className='swiper-slide' key={index}>\n                  <img src={item['avatar_file']}\n                       alt=\"\" className=\"avatar\"/>\n                  <span>{item.user_name} {item.msg}</span>\n                </li>\n              )\n            })\n          }\n        </ul>\n      </div>\n    )\n  }\n}\n\nexport default UserBulletScreen\n","import React, { Component } from 'react'\nimport './index.scss'\nimport { http, SendMessageToApp, getParam, browser } from '@/utils'\nimport CommonContainer from './../../common/commonContainer/index'\nimport CourseItem from '../../../../blessingPreheat/courseItem/index'\nimport { withRouter } from \"react-router-dom\"\nimport CommonPopup from './../../common/commonPopup/index'\nimport { Toast } from 'antd-mobile'\nimport QRCode from 'qrcode'\nimport { connect } from \"react-redux\"\nimport dateFns from 'date-fns';\n\n@connect(state => ({\n    user: state.user\n}))\n\nclass YearCourse extends Component {\n    constructor(props) {\n        super(props)\n        this.state = {\n            tofreeStudy: false,\n            basic: {\n                course: [],\n                courseList: [],\n                isMore: false,\n                addshowMore: false,\n            },\n            advanced: {\n                course: [],\n                courseList: [],\n                isMore: false,\n                addshowMore: false,\n            },\n            higher: {\n                course: [],\n                courseList: [],\n                isMore: false,\n                addshowMore: false,\n            },\n            expand: {\n                course: [],\n                courseList: [],\n                isMore: false,\n                addshowMore: false,\n            },\n            bigcourse: {\n                course: [],\n                courseList: [],\n                isMore: false,\n            },\n            freecourse: {\n                course: [],\n                courseList: [],\n                isMore: false,\n            },\n            groupcourse: {\n                course: [],\n                courseList: [],\n                isMore: false,\n            },\n            isshowFollow: false, // 是否提示关注公众号\n            wish: {\n                id: '',\n                key: \"\"\n            },\n            followBarcode: '',\n            qrUrl: '',\n            sum: '',\n            removable: '',\n            currentId: '',\n        }\n    }\n\n    componentDidMount() {\n        this.getTeamInfo()\n        this.getLength()\n        this.fetchBigCourse()\n        this.fetchFreeCourse()\n        this.fetchGroupCourse()\n        // AI之路-基础\n        this.fetchAICourse('one', false)\n        // AI之路-进阶\n        this.fetchAICourse('two', false)\n        // AI之路-高阶\n        this.fetchAICourse('three', false)\n        // AI之路-拓展\n        this.fetchAICourse('four', false)\n    }\n\n    shouldComponentUpdate(nextProps, nextState, nextContext) {\n        if (this.props.isAppUpdate !== nextProps.isAppUpdate) {\n            this.getTeamInfo()\n            this.getLength()\n            this.fetchBigCourse()\n            this.fetchFreeCourse()\n            this.fetchGroupCourse()\n            // AI之路-基础\n            this.fetchAICourse('one')\n            // AI之路-进阶\n            this.fetchAICourse('two')\n            // AI之路-高阶\n            this.fetchAICourse('three')\n            // AI之路-拓展\n            this.fetchAICourse('four')\n            return false\n        }\n        return true\n    }\n\n    getLength = () => {\n        let _this = this\n        http.get(`${API.home}/activity/wish_sum`).then(res => {\n            const { code, data } = res.data\n            if (code == 200) {\n                _this.setState({\n                    sum: data.sum\n                })\n            }\n        })\n    }\n\n    fetchBigCourse = () => {\n        const { bigcourse } = this.state\n        http.get(`${API.home}/activity/preheat_data`).then(res => {\n            const { code, data } = res.data\n            if (code === 200) {\n                this.setState({\n                    bigcourse: Object.assign({}, bigcourse, {\n                        isMore: false,\n                        course: data,\n                        courseList: data,\n                    })\n                })\n            }\n        })\n    }\n    fetchFreeCourse = () => {\n        const { freecourse } = this.state\n        http.get(`${API['base-api']}/assistance/detail`).then(res => {\n            const { errno, data } = res.data\n            if (errno === 200) {\n                this.setState({\n                    freecourse: Object.assign({}, freecourse, {\n                        isMore: data.course_info.length > 4 ? true : false,\n                        course: data.course_info.length > 4 ? data.course_info.filter((item, index) => index < 4) : data.course_info,\n                        courseList: data.course_info,\n                    })\n                })\n            }\n        })\n    }\n\n    fetchGroupCourse = () => {\n        const { groupcourse } = this.state\n        http.get(`${API.home}/activity/excellent_course`).then(res => {\n            const { code, data } = res.data\n            if (code === 200) {\n                this.setState({\n                    groupcourse: Object.assign({}, groupcourse, {\n                        isMore: data.length > 4 ? true : false,\n                        course: data.length > 4 ? data.filter((item, index) => index < 4) : data,\n                        courseList: data,\n                    })\n                })\n            }\n        })\n    }\n\n    fetchAICourse = (key, addshowMore) => {\n        http.get(`${API.home}/activity/four_stage/${key}`).then(res => {\n            const { code, data } = res.data\n            if (code === 200) {\n                this.getList(key, data, addshowMore)\n            }\n        })\n    }\n\n    getList = (key, data, addshowMore) => {\n        const { basic, advanced, higher, expand } = this.state\n        if (key === 'one') {\n            this.setState({\n                basic: Object.assign({}, basic, {\n                    isMore: data.length > 4 && !addshowMore ? true : false,\n                    course: data.length > 4 && !addshowMore ? data.filter((item, index) => index < 4) : data,\n                    courseList: data,\n                    addshowMore: addshowMore,\n                })\n            })\n        }\n        if (key === 'two') {\n            this.setState({\n                advanced: Object.assign({}, advanced, {\n                    isMore: data.length > 4 && !addshowMore ? true : false,\n                    course: data.length > 4 && !addshowMore ? data.filter((item, index) => index < 4) : data,\n                    courseList: data,\n                    addshowMore: addshowMore,\n                })\n            })\n        }\n        if (key === 'three') {\n            this.setState({\n                higher: Object.assign({}, higher, {\n                    isMore: data.length > 4 && !addshowMore ? true : false,\n                    course: data.length > 4 && !addshowMore ? data.filter((item, index) => index < 4) : data,\n                    courseList: data,\n                    addshowMore: addshowMore,\n                })\n            })\n        }\n        if (key === 'four') {\n            this.setState({\n                expand: Object.assign({}, expand, {\n                    isMore: data.length > 4 && !addshowMore ? true : false,\n                    course: data.length > 4 && !addshowMore ? data.filter((item, index) => index < 4) : data,\n                    courseList: data,\n                    addshowMore: addshowMore,\n                })\n            })\n        }\n    }\n\n    toQQque = () => {\n        if (!getParam('version')) {\n            location.href = 'https://q.url.cn/AB8aue?_type=wpa&qidian=true'\n        } else {\n            SendMessageToApp(\"toQQ\", 'https://q.url.cn/AB8aue?_type=wpa&qidian=true')\n        }\n    }\n\n    // 去课程详情页\n    toCourse = (courseId) => {\n        const { history } = this.props\n        if (!getParam('version')) {\n            history.push(`/detail?id=${courseId}`)\n        } else {\n            SendMessageToApp(\"toCourse\", courseId)\n        }\n    }\n\n    handleToMore = (key) => {\n        let data = {}\n        if (this.state[key]['isMore']) {\n            data[key] = {\n                isMore: !this.state[key]['isMore'],\n                course: this.state[key]['courseList'],\n                courseList: this.state[key]['courseList'],\n                addshowMore: !this.state[key]['addshowMore']\n            }\n            this.setState({\n                ...data\n            })\n        } else {\n            data[key] = {\n                isMore: !this.state[key]['isMore'],\n                course: this.state[key]['courseList'].filter((item, index) => index < 4),\n                courseList: this.state[key]['courseList'],\n                addshowMore: !this.state[key]['addshowMore']\n            }\n\n            this.setState({\n                ...data\n            })\n        }\n    }\n\n    // 去登录\n    toLogin = () => {\n        if (!getParam('version')) {\n            this.props.history.push('/passport/login')\n        } else {\n            SendMessageToApp(\"toLogin\")\n        }\n    }\n\n    // 免费学习\n    freeStudy = () => {\n        this.setState({\n            tofreeStudy: true,\n        })\n    }\n\n    // 关闭弹框\n    closePopup = () => {\n        this.setState({\n            tofreeStudy: false,\n        })\n    }\n\n    closePopupWish = () => {\n        const _this = this\n        _this.setState({\n            isshowFollow: false\n        })\n\n        setTimeout(function () {\n            _this.toJoinList(_this.state.wish.id, _this.state.wish.key)\n        }, 200)\n    }\n\n    getQRcodeUrl = () => {\n        let _this = this\n        http.get(`${API['base-api']}/wx/user_temporary_qrcode/${_this.props.user.data.uid}`)\n            .then(res => {\n                const { errno, data, msg } = res.data\n                if (errno == 0) {\n                    this.setState({\n                        qrUrl: data.url\n                    })\n                    QRCode.toDataURL(data.url, (err, url) => {\n                        this.setState({\n                            followBarcode: url,\n                        })\n                    })\n                } else {\n                    Toast.info(msg, 2)\n                }\n            })\n    }\n\n    // 点击加入心愿单登录验证,在判断是否关注公众号,已关注的话直接加入,未关注弹出二维码弹窗,点击关闭按钮加入心愿单\n    addWishList = (id, key) => {\n        const _this = this\n        const isLogin = !this.props.user.hasError\n        _this.setState({\n            wish: {\n                id: id,\n                key: key\n            }\n        })\n\n        if (isLogin) {\n            _this.isFollow(id, key)\n        } else {\n            _this.toLogin()\n        }\n    }\n\n    isFollow = (id, key) => {\n        const _this = this\n        http.get(`${API.home}/sys/user/isFollowWeChat`).then(res => {\n            const { code, data, msg } = res.data\n            if (code === 200) {\n                _this.setState({\n                    isshowFollow: !data.is_follow\n                })\n\n                if (!_this.state.isshowFollow) {\n                    _this.toJoinList(id, key)\n                } else {\n                    _this.getQRcodeUrl()\n                }\n            } else {\n                Toast.info(msg, 2)\n            }\n        })\n    }\n\n    toJoinList = (id, key) => {\n        const _this = this\n        http.post(`${API.home}/activity/join_list`, { course_id: id })\n            .then(res => {\n                const { code, msg } = res.data\n                if (code == 200) {\n                    Toast.success('已成功加入心愿单', 3)\n                    _this.getLength()\n                    if (key === '1') {\n                        _this.fetchAICourse('one', _this.state.basic.addshowMore)\n                    }\n                    if (key === '2') {\n                        _this.fetchAICourse('two', _this.state.advanced.addshowMore)\n                    }\n                    if (key === '3') {\n                        _this.fetchAICourse('three', _this.state.higher.addshowMore)\n                    }\n                    if (key === '4') {\n                        _this.fetchAICourse('four', _this.state.expand.addshowMore)\n                    }\n                    if (key === 'group') {\n                        _this.fetchGroupCourse()\n                    }\n                } else {\n                    Toast.info(msg, 2)\n                }\n            })\n    }\n\n    // 安卓手机保存二维码\n    saveImage = () => {\n        let version = getParam('version')\n        version = typeof version === 'string' ? version.replace('.', '').replace('.', '').slice(0, 3) : ''\n        const QRCodeUrl = this.state.qrUrl\n        if (version && parseInt(version) < 451) {\n            Toast.info('当前不支持此功能,升级到最新版本app可以点击保存二维码!', 3, null, false)\n        } else {\n            SendMessageToApp('generateQRCode', QRCodeUrl)\n        }\n    }\n\n    saveImage2 = () => {\n        let version = getParam('version')\n        version = typeof version === 'string' ? version.replace('.', '').replace('.', '').slice(0, 3) : ''\n        const QRCodeUrl = 'https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/2018christyear/h5/qrcode.jpg'\n        if (version && parseInt(version) < 451) {\n            Toast.info('当前不支持此功能,升级到最新版本app可以点击保存二维码!', 3, null, false)\n        } else {\n            SendMessageToApp('saveImage', QRCodeUrl)\n        }\n    }\n\n    // 获取队伍信息\n    getTeamInfo = () => {\n        http.get(`${API.home}/sys/treasure/teamInfo`).then(res => {\n            const { code, data, msg } = res.data\n            if (code === 200) {\n                const { info, removable_data } = data\n                this.setState({\n                    removable: info.removable,\n                    currentId: info.removable > 0 ? removable_data[0].id : null\n                })\n            } else {\n                Toast.info(msg)\n            }\n        })\n    }\n\n    // 跳转到我的宝箱列表页\n    toBoxList = () => {\n        const isLogin = !this.props.user.hasError\n        const { currentId } = this.state\n        let search = ''\n        if (currentId) {\n            search = `?id=${currentId}`\n        }\n        if (isLogin) {\n            if (!getParam('version')) {\n                this.props.history.push(`/year/yearTreasure${search}`)\n            } else {\n                this.props.history.push(`/year/yearTreasure${search}?version=${getParam('version')}`)\n            }\n        } else {\n            this.toLogin()\n        }\n    }\n\n    toYearWish = () => {\n        const isLogin = !this.props.user.hasError\n        if (isLogin) {\n            if (!getParam('version')) {\n                this.props.history.push('/year/yearWish')\n            } else {\n                this.props.history.push(`/year/yearWish?version=${getParam('version')}`)\n            }\n\n        } else {\n            this.toLogin()\n        }\n\n    }\n\n    toInviteFriends = (oid, params = {}) => {\n        const { history } = this.props\n        if (getParam('version')) {\n            let data = {\n                title: `【仅剩${params.number}个名额】我${params.price}元拼了《${params.course_title}》`,\n                desc: params.course_title,\n                link: `${API.m}/togroup?id=${oid}&is_originator=1`,\n                imgUrl: params.image_name,\n            }\n            SendMessageToApp(\"toShare\", data)\n        } else {\n            history.push(`/togroup?id=${oid}`);\n        }\n    }\n\n    isCountDown = (condition, val) => {\n        if (condition) {\n            return val;\n        }\n        return '';\n    }\n\n    formatTitleAndKey = (key) => {\n        let data = null;\n        switch (key) {\n            case 1:\n                data = {\n                    title: '基础',\n                    key: 'basic'\n                };\n                break;\n            case 2:\n                data = {\n                    title: '进阶',\n                    key: 'advanced'\n                };\n                break;\n            case 3:\n                data = {\n                    title: '高阶',\n                    key: 'higher'\n                };\n                break;\n            case 4:\n                data = {\n                    title: '扩展',\n                    key: 'expand'\n                };\n                break;\n            default:\n                data = null;\n                break;\n        }\n        return data;\n    }\n\n    formatCourseData = (key) => {\n        const { basic, advanced, higher, expand } = this.state;\n        let data = null;\n        switch (key) {\n            case 1:\n                data = basic;\n                break;\n            case 2:\n                data = advanced;\n                break;\n            case 3:\n                data = higher;\n                break;\n            case 4:\n                data = expand;\n                break;\n            default:\n                data = null;\n                break;\n        }\n        return data;\n    }\n\n    toCart = (id) => {\n        const { history } = this.props;\n        http.post(`${API.home}/m/cart/add`, {\n            course_id: id\n        }).then((res) => {\n            const { code, msg } = res.data;\n            // code 15001 已加入购物车\n            if (code === 200 || code === 15001) {\n                if(getParam('version')) {\n                    SendMessageToApp('toShoppingCart')\n                }else {\n                    history.push('/shopcart');\n                }\n            } else if (code === 4030 || code === 4040) {\n                this.toLogin();\n            } else {\n                Toast.info(msg, 2);\n            }\n        })\n    };\n\n    toContinueBargain = (id, price, code, image) => {\n        const { history } = this.props;\n        if(getParam('version')) {\n            let data = {\n                title: '我发现一门好课,快来帮我砍价吧!',\n                desc: `我已经砍了${price}元,看看你能砍多少`,\n                link: `${API.m}/bargain-middle-page?id=${id}&bargaincode=${code}&is_originator=1`,\n                imgUrl: image,\n            }\n            SendMessageToApp(\"toShare\", data)\n        }else {\n            history.push(`/bargain-middle-page?id=${id}&bargaincode=${code}&is_originator=1`);\n        }\n    }\n\n    // 砍完价去支付\n    bargainToOrder = (id) => {\n        const { history, user } = this.props;\n        if(user.hasError) {\n            this.toLogin();\n        }else{\n            if(getParam('version')) {\n                SendMessageToApp('toPay', id)\n            }else {\n                http.get(`${API['base-api']}/m/cart/addtopreorder/[${id}]`).then((res) => {\n                    const { errno, msg } = res.data;\n                    if (errno === 0) {\n                        history.push(`/order?id=[${id}]`, {bargain: 1});\n                    } else {\n                        Toast.info(msg, 2);\n                    }\n                })\n            }\n        }\n    }\n\n    render() {\n        const {\n            bigcourse,\n            freecourse,\n            groupcourse,\n            basic,\n            advanced,\n            higher,\n            expand,\n            removable,\n            sum,\n        } = this.state\n        const { stage,treasureStage } = this.props\n        return (\n            <div className={'year-index-course'}>\n\n                {/*浮框*/}\n                {\n                    Number(treasureStage) === 1 &&\n                    <div className='nav-right'>\n                        <span onClick={this.toBoxList} className='nav-right__link'>\n                        未开宝箱\n                            {\n                                removable > 0 &&\n                                <i className=\"nav-right__number\">{removable}</i>\n                            }\n                        </span>\n                        <a onClick={() => this.toYearWish()} className='nav-right__link'>\n                            心愿单\n                            {\n                                sum > 0 &&\n                                <i className=\"nav-right__number\">{sum}</i>\n                            }\n                        </a>\n                    </div>\n                }\n\n                {\n                    Number(treasureStage) === 0 &&\n                    <div className='nav-right-wish nav-right'>\n                        <a onClick={() => this.toYearWish()} className='nav-right__link'>\n                            心愿单\n                            {\n                                sum > 0 &&\n                                <i className=\"nav-right__number\">{sum}</i>\n                            }\n                        </a>\n                    </div>\n                }\n\n\n\n\n                {/* 重磅好课 */}\n                <CommonContainer title='重磅好课' id='year-course'>\n                    {\n                        (bigcourse.course && bigcourse.course.length > 0) &&\n                        <>\n                            <div className='bigcourse course-box'>\n                                {\n                                    bigcourse.course.map(item => (\n                                        <CourseItem\n                                            image={item.image_name}\n                                            key={item.course_id}\n                                            id={item.course_id}\n                                            toCourse={this.toCourse}\n                                        >\n                                            <div className=\"coupon-course__footer\">\n                                                {\n                                                    item.is_buy == 1 &&\n                                                    <a\n                                                        onClick={() => this.toCourse(item.course_id)}\n                                                        className=\"btn to-study\"\n                                                    >开始学习</a>\n                                                }\n                                                {\n                                                    item.is_buy == 0 &&\n                                                    <a\n                                                        onClick={() => this.toQQque()}\n                                                        className=\"btn big-course\"\n                                                    >免费试听</a>\n                                                }\n                                            </div>\n                                        </CourseItem>\n                                    ))\n                                }\n                            </div>\n                            {/* {\n                                (bigcourse.courseList && bigcourse.courseList.length > 4) &&\n                                <button\n                                    className=\"more-button\"\n                                    onClick={() => this.handleToMore('bigcourse')}\n                                >{bigcourse.isMore ? '查看更多' : '收起'}</button>\n                            } */}\n                        </>\n                    }\n                </CommonContainer>\n\n                {/* 人气好课免费学 */}\n                {\n                    Number(stage) !== 3 &&\n                    <CommonContainer title='人气好课免费学' id='year-free'>\n                        <a className='boss__add' href=\"/active/givecourse?activename=shuangdan\">更有42本技术书籍免费送</a>\n                        {\n                            (freecourse.course && freecourse.course.length > 0) &&\n                            <>\n                                <div className='freecourse course-box'>\n                                    {\n                                        freecourse.course.map(item => (\n                                            <CourseItem\n                                                image={item.image_name}\n                                                key={item.course_id}\n                                                id={item.course_id}\n                                                toCourse={this.toCourse}\n                                            >\n                                                <div className=\"coupon-course__footer\">\n                                                    {\n                                                        item.is_buy == 1 &&\n                                                        <a\n                                                            onClick={() => this.toCourse(item.course_id)}\n                                                            className=\"btn to-study\"\n                                                        >开始学习</a>\n                                                    }\n                                                    {\n                                                        item.is_buy == 0 &&\n                                                        <a\n                                                            onClick={() => this.freeStudy()}\n                                                            className=\"btn free-study\"\n                                                        >点击免费学</a>\n                                                    }\n                                                    <p className=\"free-course-num\">\n                                                        已送出<span>{item.act_num}</span>个课程\n                                                    </p>\n                                                </div>\n                                            </CourseItem>\n                                        ))\n                                    }\n                                </div>\n                                {\n                                    (freecourse.courseList && freecourse.courseList.length > 4) &&\n                                    <button\n                                        className=\"more-button\"\n                                        onClick={() => this.handleToMore('freecourse')}\n                                    >{freecourse.isMore ? '查看更多' : '收起'}</button>\n                                }\n                            </>\n                        }\n                    </CommonContainer>\n                }\n\n                {/* stage,活动阶段 0-不在活动时间 1-预热 2-正式 3-返场 */}\n                {\n                    Number(stage) !== 1 &&\n                    <>\n                        {/* 精品好课1分开抢 */}\n                        <CommonContainer title='精品好课1分开抢' id='year-group'>\n                            {\n                                (groupcourse.course && groupcourse.course.length > 0) &&\n                                <>\n                                    <div className='groupcourse course-box' data-stage=\"2\">\n                                        {\n                                            groupcourse.course.map(item => (\n                                                <CourseItem\n                                                    image={item.image_name}\n                                                    key={item.course_id}\n                                                    id={item.course_id}\n                                                    time={this.isCountDown(item.is_assemble === 1, item.add_time)}\n                                                    toCourse={this.toCourse}\n                                                >\n                                                    <div className=\"coupon-course__footer\">\n\n                                                        {/* is_assemble 0 未拼团 1 正在拼团 2 已购买 */}\n                                                        {\n                                                            item.is_assemble == 2 &&\n                                                            <>\n                                                                <p className={'course-title text-overflow-1'}>\n                                                                    {item.course_title}\n                                                                </p>\n                                                                <div className=\"status\">\n                                                                    <a\n                                                                        onClick={() => this.toCourse(item.course_id)}\n                                                                        className=\"btn to-group\"\n                                                                        data-status=\"study\"\n                                                                    >开始学习</a>\n                                                                </div>\n                                                            </>\n                                                        }\n                                                        {\n                                                            item.is_assemble != 2 &&\n                                                            <>\n                                                                <div className=\"type\">\n                                                                    <span className=\"tag\" data-color=\"green\">拼团价</span>\n                                                                </div>\n                                                                <div className=\"price price-group\">\n                                                                    <span className=\"price-label\">¥</span>\n                                                                    <span className=\"new-price\">0.01</span>\n                                                                    <span className=\"old-price\">\n                                                                        <s>¥{item.price1}</s>\n                                                                    </span>\n                                                                </div>\n                                                                {\n                                                                    item.is_assemble == 0 &&\n                                                                    <div className=\"progree-and-sale\">\n                                                                        <div className=\"progress\">\n                                                                            <i\n                                                                                className=\"progress_bar\"\n                                                                                style={{\n                                                                                    width: `${item.progress}%`\n                                                                                }}\n                                                                            ></i>\n                                                                        </div>\n                                                                        <p className=\"sale-sum\">\n                                                                            {Number(item.sum <= 285) ? `已抢${item.sum}个` : '即将售罄'}\n                                                                        </p>\n                                                                    </div>\n                                                                }\n                                                                <div className=\"status\">\n                                                                    {\n                                                                        item.is_assemble == 0 &&\n                                                                        <a\n                                                                            onClick={() => this.toCourse(item.course_id)}\n                                                                            className=\"status-btn to-group\"\n                                                                        >马上抢>></a>\n                                                                    }\n                                                                    {\n                                                                        item.is_assemble == 1 &&\n                                                                        <a\n                                                                            onClick={() => this.toInviteFriends(item.order_id, {\n                                                                                number: item.number,\n                                                                                course_title: item.course_title,\n                                                                                image_name: item.image_name,\n                                                                                price: 0.01\n                                                                            })}\n                                                                            className=\"status-btn to-group\"\n                                                                            data-status=\"done\"\n                                                                        >已参团,邀请好友参团</a>\n                                                                    }\n                                                                </div>\n                                                            </>\n                                                        }\n                                                    </div>\n                                                </CourseItem>\n                                            ))\n                                        }\n                                    </div>\n                                    {\n                                        (groupcourse.courseList && groupcourse.courseList.length > 4) &&\n                                        <button\n                                            className=\"more-button\"\n                                            onClick={() => this.handleToMore('groupcourse')}\n                                        >{groupcourse.isMore ? '查看更多' : '收起'}</button>\n                                    }\n                                </>\n                            }\n                        </CommonContainer>\n\n                        {/* 好课价到,等你抄底 */}\n                        <CommonContainer title='好课价到,等你抄底' id='year-discount'>\n                            {\n                                [1, 2, 3, 4].map(item => {\n                                    const keys = this.formatTitleAndKey(item);\n                                    const data = this.formatCourseData(item);\n                                    return (\n                                        <React.Fragment key={item}>\n                                            <h4 className=\"ai-course__subtitle\">{keys.title}</h4>\n                                            {\n                                                (data.course && data.course.length > 0) &&\n                                                <>\n                                                    <div className='groupcourse course-box'>\n                                                        {\n                                                            data.course.map(val => {\n                                                                return (\n                                                                    <CourseItem\n                                                                        image={val.image_name}\n                                                                        key={val.course_id}\n                                                                        id={val.course_id}\n                                                                        time={this.isCountDown(val.type === 2, val.end_time)}\n                                                                        toCourse={this.toCourse}\n                                                                    >\n                                                                        <div className=\"coupon-course__footer\">\n\n                                                                            {/* type 1 立即参团 2 已参团 3 我要砍价 4 已参加砍价 可以继续砍价 5 马上抢 6 开始学习 7 已参加一分钱拼团 8 砍价待支付 */}\n\n                                                                            {\n                                                                                (val.type === 4 || val.type === 8) &&\n                                                                                <div className=\"bargain-price\">已砍{val.already_bargain}元</div>\n                                                                            }\n\n                                                                            {\n                                                                                val.type === 0 &&\n                                                                                <>\n                                                                                    <div className=\"type\">\n                                                                                        <span className=\"tag\" data-color=\"green\">活动价</span>\n                                                                                    </div>\n                                                                                    <div className=\"price price-group\">\n                                                                                        <span className=\"price-label\">¥</span>\n                                                                                        <span className=\"new-price\">{val.original_price}</span>\n                                                                                        <span className=\"old-price\">\n                                                                                            <s>¥{val.original_price}</s>\n                                                                                        </span>\n                                                                                    </div>\n                                                                                </>\n                                                                            }\n                                                                            {\n                                                                                (val.type === 1 || val.type === 2) &&\n                                                                                <>\n                                                                                    <div className=\"type\">\n                                                                                        <span className=\"tag\" data-color=\"green\">拼团价</span>\n                                                                                    </div>\n                                                                                    <div className=\"price price-group\">\n                                                                                        <span className=\"price-label\">¥</span>\n                                                                                        <span className=\"new-price\">{val.pdd_price}</span>\n                                                                                        <span className=\"old-price\">\n                                                                                            <s>¥{val.original_price}</s>\n                                                                                        </span>\n                                                                                    </div>\n                                                                                </>\n                                                                            }\n                                                                            {\n                                                                                (val.type === 3 || val.type === 4 || val.type === 8) &&\n                                                                                <>\n                                                                                    <div className=\"type\">\n                                                                                        <span className=\"tag\" data-color=\"green\">好友帮帮砍</span>\n                                                                                    </div>\n                                                                                    <div className=\"price price-group\">\n                                                                                        <span className=\"price-label\">到手最低:¥</span>\n                                                                                        <span className=\"new-price\">{val.low_prize}</span>\n                                                                                        <span className=\"old-price\">\n                                                                                            <s>¥{val.original_price}</s>\n                                                                                        </span>\n                                                                                    </div>\n                                                                                </>\n                                                                            }\n                                                                            {\n                                                                                val.type === 6 &&\n                                                                                <p className={'course-title text-overflow-1'}>\n                                                                                    {val.course_title}\n                                                                                </p>\n                                                                            }\n\n                                                                            <div className=\"status\" data-layout={val.type ===4? 'row': '' }>\n                                                                                {\n                                                                                    val.type === 0 &&\n                                                                                    <a\n                                                                                        onClick={() => this.toCart(val.course_id)}\n                                                                                        className=\"status-btn to-group\"\n                                                                                    >立即购买</a>\n                                                                                }\n                                                                                {\n                                                                                    val.type === 1 &&\n                                                                                    <a\n                                                                                        onClick={() => this.toCourse(val.course_id)}\n                                                                                        className=\"status-btn to-group\"\n                                                                                    >立即参与拼团</a>\n                                                                                }\n                                                                                {\n                                                                                    val.type === 2 &&\n                                                                                    <a\n                                                                                        onClick={() => this.toInviteFriends(val.order_id, {\n                                                                                            number: val.number,\n                                                                                            course_title: val.course_title,\n                                                                                            image_name: val.image_name,\n                                                                                            price: val.pdd_price\n                                                                                        })}\n                                                                                        className=\"status-btn to-group\"\n                                                                                        data-status=\"done\"\n                                                                                    >已参团,邀请好友参团</a>\n                                                                                }\n                                                                                {\n                                                                                    val.type === 3 &&\n                                                                                    <a\n                                                                                        onClick={() => this.toCourse(val.course_id)}\n                                                                                        className=\"status-btn to-group\"\n                                                                                    >我要砍价</a>\n                                                                                }\n                                                                                {\n                                                                                    val.type === 4 &&\n                                                                                    <>\n                                                                                        <a\n                                                                                            onClick={() => this.toContinueBargain(val.course_id, val.already_bargain, val.bargain_code, val.image_name)}\n                                                                                            className=\"status-btn to-group\"\n                                                                                        >继续砍价</a>\n                                                                                        <a\n                                                                                            onClick={() => this.bargainToOrder(val.course_id)}\n                                                                                            className=\"status-btn to-group\"\n                                                                                        >支付{val.actual_payment}元</a>\n                                                                                    </>\n                                                                                }\n                                                                                {\n                                                                                    val.type === 8 &&\n                                                                                    <a\n                                                                                        onClick={() => this.bargainToOrder(val.course_id)}\n                                                                                        className=\"status-btn to-group\"\n                                                                                    >支付{val.actual_payment}元</a>\n                                                                                }\n                                                                                {\n                                                                                    val.type === 6 &&\n                                                                                    <a\n                                                                                        onClick={() => this.toCourse(val.course_id)}\n                                                                                        className=\"btn to-group\"\n                                                                                        data-status=\"study\"\n                                                                                    >开始学习</a>\n                                                                                }\n                                                                            </div>\n                                                                        </div>\n                                                                    </CourseItem>\n                                                                )\n                                                            })\n                                                        }\n                                                    </div>\n                                                    {\n                                                        (data.courseList && data.courseList.length > 4) &&\n                                                        <button\n                                                            className=\"more-button\"\n                                                            onClick={() => this.handleToMore(keys.key)}\n                                                        >{data.isMore ? '查看更多' : '收起'}</button>\n                                                    }\n                                                </>\n                                            }\n                                        </React.Fragment>\n                                    )\n                                })\n                            }\n                        </CommonContainer>\n                    </>\n                }\n                {\n                    Number(stage) === 1 &&\n                    <>\n                        {/* 精品好课1分开抢 */}\n                        <CommonContainer title='精品好课1分开抢' id='year-group'>\n                            {\n                                (groupcourse.course && groupcourse.course.length > 0) &&\n                                <>\n                                    <div className='groupcourse course-box'>\n                                        {\n                                            groupcourse.course.map(item => (\n                                                <CourseItem\n                                                    image={item.image_name}\n                                                    key={item.course_id}\n                                                    id={item.course_id}\n                                                    toCourse={this.toCourse}\n                                                >\n                                                    <div className=\"group-num\">限量300个</div>\n                                                    <div className=\"coupon-course__footer\">\n                                                        {\n                                                            item.is_buy == 1 &&\n                                                            <>\n                                                                <p className={'course-title text-overflow-1'}>\n                                                                    {item.course_title}\n                                                                </p>\n                                                                <a\n                                                                    onClick={() => this.toCourse(item.course_id)}\n                                                                    className=\"btn to-study\"\n                                                                >开始学习</a>\n                                                            </>\n                                                        }\n                                                        {\n                                                            item.is_buy == 0 &&\n                                                            <>\n                                                                <div className=\"type\">\n                                                                    <span className=\"tag\">拼团价</span>\n                                                                    <span className=\"time\">12月23日开团</span>\n                                                                </div>\n                                                                <div className=\"price\">\n                                                                    ¥\n                                                                    <span className=\"new-price\">0.01</span>\n                                                                    <span className=\"old-price\">\n                                                                        现价:<s>¥{item.price1}</s>\n                                                                    </span>\n                                                                </div>\n                                                                <div className=\"status\">\n                                                                    <a\n                                                                        onClick={() => this.toCourse(item.course_id)}\n                                                                        className=\"status-btn to-buy\"\n                                                                    >直接购买</a>\n                                                                    {\n                                                                        item.is_join == 1 &&\n                                                                        <a className=\"status-btn add-wish\">\n                                                                            <img\n                                                                                src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n                                                                                alt=\"\"\n                                                                            />\n                                                                            已加心愿单\n                                                                        </a>\n                                                                    }\n                                                                    {\n                                                                        item.is_join == 0 &&\n                                                                        <a\n                                                                            onClick={() => this.addWishList(item.course_id, 'group')}\n                                                                            className=\"status-btn add-wish-success\"\n                                                                        >\n                                                                            <img\n                                                                                src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n                                                                                alt=\"\"\n                                                                            />\n                                                                            加入心愿单\n                                                                        </a>\n                                                                    }\n                                                                </div>\n                                                            </>\n                                                        }\n                                                    </div>\n                                                </CourseItem>\n                                            ))\n                                        }\n                                    </div>\n                                    {\n                                        (groupcourse.courseList && groupcourse.courseList.length > 4) &&\n                                        <button\n                                            className=\"more-button\"\n                                            onClick={() => this.handleToMore('groupcourse')}\n                                        >{groupcourse.isMore ? '查看更多' : '收起'}</button>\n                                    }\n                                </>\n                            }\n                        </CommonContainer>\n\n                        {/* 好课价到,等你抄底 */}\n                        <CommonContainer title='好课价到,等你抄底' id='year-discount'>\n                            <h4 className=\"ai-course__subtitle\">基础</h4>\n                            {\n                                (basic.course && basic.course.length > 0) &&\n                                <>\n                                    <div className='groupcourse course-box'>\n                                        {\n                                            basic.course.map(item => (\n                                                <CourseItem\n                                                    image={item.image_name}\n                                                    key={item.course_id}\n                                                    id={item.course_id}\n                                                    toCourse={this.toCourse}\n                                                >\n                                                    <div className=\"coupon-course__footer\">\n                                                        {\n                                                            item.is_buy == 1 &&\n                                                            <>\n                                                                <p className={'course-title text-overflow-1'}>\n                                                                    {item.course_title}\n                                                                </p>\n                                                                <a\n                                                                    onClick={() => this.toCourse(item.course_id)}\n                                                                    className=\"btn to-study\"\n                                                                >开始学习</a>\n                                                            </>\n                                                        }\n                                                        {\n                                                            item.is_buy == 0 &&\n                                                            <>\n                                                                <div className=\"type\">\n                                                                    {\n                                                                        item.type == 0 &&\n                                                                        <>\n                                                                            <span className=\"tag\">活动价</span>\n                                                                            <span className=\"time\">12.23开始</span>\n                                                                        </>\n                                                                    }\n                                                                    {\n                                                                        item.type == 1 &&\n                                                                        <>\n                                                                            <span className=\"tag\">拼团价</span>\n                                                                            <span className=\"time\">12.23开团</span>\n                                                                        </>\n                                                                    }\n                                                                    {\n                                                                        item.type == 2 &&\n                                                                        <>\n                                                                            <span className=\"tag\">好友帮帮砍</span>\n                                                                            <span className=\"time\">12.23开砍</span>\n                                                                        </>\n                                                                    }\n                                                                </div>\n                                                                <div className=\"price\">\n                                                                    {item.type == 2 ? '到手最低:¥' : '¥'}\n                                                                    <span className=\"new-price\">{item.price2}</span>\n                                                                    <span className=\"old-price\">\n                                                                        {item.type == 2 ? '' : '现价:'}\n                                                                        <s>¥{item.price1}</s>\n                                                                    </span>\n                                                                </div>\n                                                                <div className=\"status\">\n                                                                    <a\n                                                                        onClick={() => this.toCourse(item.course_id)}\n                                                                        className=\"status-btn to-buy\"\n                                                                    >直接购买</a>\n                                                                    {\n                                                                        item.is_join == 1 &&\n                                                                        <a className=\"status-btn add-wish\">\n                                                                            <img\n                                                                                src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n                                                                                alt=\"\"\n                                                                            />\n                                                                            已加心愿单\n                                                                        </a>\n                                                                    }\n                                                                    {\n                                                                        item.is_join == 0 &&\n                                                                        <a\n                                                                            onClick={() => this.addWishList(item.course_id, '1')}\n                                                                            className=\"status-btn add-wish-success\"\n                                                                        >\n                                                                            <img\n                                                                                src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n                                                                                alt=\"\"\n                                                                            />\n                                                                            加入心愿单\n                                                                        </a>\n                                                                    }\n                                                                </div>\n                                                            </>\n                                                        }\n                                                    </div>\n                                                </CourseItem>\n                                            ))\n                                        }\n                                    </div>\n                                    {\n                                        (basic.courseList && basic.courseList.length > 4) &&\n                                        <button\n                                            className=\"more-button\"\n                                            onClick={() => this.handleToMore('basic')}\n                                        >{basic.isMore ? '查看更多' : '收起'}</button>\n                                    }\n                                </>\n                            }\n                            <h4 className=\"ai-course__subtitle\">进阶</h4>\n                            {\n                                (advanced.course && advanced.course.length > 0) &&\n                                <>\n                                    <div className='groupcourse course-box'>\n                                        {\n                                            advanced.course.map(item => (\n                                                <CourseItem\n                                                    image={item.image_name}\n                                                    key={item.course_id}\n                                                    id={item.course_id}\n                                                    toCourse={this.toCourse}\n                                                >\n                                                    <div className=\"coupon-course__footer\">\n                                                        {\n                                                            item.is_buy == 1 &&\n                                                            <>\n                                                                <p className={'course-title text-overflow-1'}>\n                                                                    {item.course_title}\n                                                                </p>\n                                                                <a\n                                                                    onClick={() => this.toCourse(item.course_id)}\n                                                                    className=\"btn to-study\"\n                                                                >开始学习</a>\n                                                            </>\n                                                        }\n                                                        {\n                                                            item.is_buy == 0 &&\n                                                            <>\n                                                                <div className=\"type\">\n                                                                    {\n                                                                        item.type == 0 &&\n                                                                        <>\n                                                                            <span className=\"tag\">活动价</span>\n                                                                            <span className=\"time\">12.23开始</span>\n                                                                        </>\n                                                                    }\n                                                                    {\n                                                                        item.type == 1 &&\n                                                                        <>\n                                                                            <span className=\"tag\">拼团价</span>\n                                                                            <span className=\"time\">12.23开团</span>\n                                                                        </>\n                                                                    }\n                                                                    {\n                                                                        item.type == 2 &&\n                                                                        <>\n                                                                            <span className=\"tag\">好友帮帮砍</span>\n                                                                            <span className=\"time\">12.23开砍</span>\n                                                                        </>\n                                                                    }\n                                                                </div>\n                                                                <div className=\"price\">\n                                                                    {item.type == 2 ? '到手最低:¥' : '¥'}\n                                                                    <span className=\"new-price\">{item.price2}</span>\n                                                                    <span className=\"old-price\">\n                                                                        {item.type == 2 ? '' : '现价:'}\n                                                                        <s>¥{item.price1}</s>\n                                                                    </span>\n                                                                </div>\n                                                                <div className=\"status\">\n                                                                    <a\n                                                                        onClick={() => this.toCourse(item.course_id)}\n                                                                        className=\"status-btn to-buy\"\n                                                                    >直接购买</a>\n                                                                    {\n                                                                        item.is_join == 1 &&\n                                                                        <a className=\"status-btn add-wish\">\n                                                                            <img\n                                                                                src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n                                                                                alt=\"\"\n                                                                            />\n                                                                            已加心愿单\n                                                                        </a>\n                                                                    }\n                                                                    {\n                                                                        item.is_join == 0 &&\n                                                                        <a\n                                                                            onClick={() => this.addWishList(item.course_id, '2')}\n                                                                            className=\"status-btn add-wish-success\"\n                                                                        >\n                                                                            <img\n                                                                                src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n                                                                                alt=\"\"\n                                                                            />\n                                                                            加入心愿单\n                                                                        </a>\n                                                                    }\n                                                                </div>\n                                                            </>\n                                                        }\n                                                    </div>\n                                                </CourseItem>\n                                            ))\n                                        }\n                                    </div>\n                                    {\n                                        (advanced.courseList && advanced.courseList.length > 4) &&\n                                        <button\n                                            className=\"more-button\"\n                                            onClick={() => this.handleToMore('advanced')}\n                                        >\n                                            {advanced.isMore ? '查看更多' : '收起'}\n                                        </button>\n                                    }\n                                </>\n                            }\n                            <h4 className=\"ai-course__subtitle\">高阶</h4>\n                            {\n                                (higher.course && higher.course.length > 0) &&\n                                <>\n                                    <div className='groupcourse course-box'>\n                                        {\n                                            higher.course.map(item => (\n                                                <CourseItem\n                                                    image={item.image_name}\n                                                    key={item.course_id}\n                                                    id={item.course_id}\n                                                    toCourse={this.toCourse}\n                                                >\n                                                    <div className=\"coupon-course__footer\">\n                                                        {\n                                                            item.is_buy == 1 &&\n                                                            <>\n                                                                <p className={'course-title text-overflow-1'}>\n                                                                    {item.course_title}\n                                                                </p>\n                                                                <a\n                                                                    onClick={() => this.toCourse(item.course_id)}\n                                                                    className=\"btn to-study\"\n                                                                >开始学习</a>\n                                                            </>\n                                                        }\n                                                        {\n                                                            item.is_buy == 0 &&\n                                                            <>\n                                                                <div className=\"type\">\n                                                                    {\n                                                                        item.type == 0 &&\n                                                                        <>\n                                                                            <span className=\"tag\">活动价</span>\n                                                                            <span className=\"time\">12.23开始</span>\n                                                                        </>\n                                                                    }\n                                                                    {\n                                                                        item.type == 1 &&\n                                                                        <>\n                                                                            <span className=\"tag\">拼团价</span>\n                                                                            <span className=\"time\">12.23开团</span>\n                                                                        </>\n                                                                    }\n                                                                    {\n                                                                        item.type == 2 &&\n                                                                        <>\n                                                                            <span className=\"tag\">好友帮帮砍</span>\n                                                                            <span className=\"time\">12.23开砍</span>\n                                                                        </>\n                                                                    }\n                                                                </div>\n                                                                <div className=\"price\">\n                                                                    {item.type == 2 ? '到手最低:¥' : '¥'}\n                                                                    <span className=\"new-price\">{item.price2}</span>\n                                                                    <span className=\"old-price\">\n                                                                        {item.type == 2 ? '' : '现价:'}\n                                                                        <s>¥{item.price1}</s>\n                                                                    </span>\n                                                                </div>\n                                                                <div className=\"status\">\n                                                                    <a\n                                                                        onClick={() => this.toCourse(item.course_id)}\n                                                                        className=\"status-btn to-buy\"\n                                                                    >直接购买</a>\n                                                                    {\n                                                                        item.is_join == 1 &&\n                                                                        <a className=\"status-btn add-wish\">\n                                                                            <img\n                                                                                src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n                                                                                alt=\"\"\n                                                                            />\n                                                                            已加心愿单\n                                                                        </a>\n                                                                    }\n                                                                    {\n                                                                        item.is_join == 0 &&\n                                                                        <a\n                                                                            onClick={() => this.addWishList(item.course_id, '3')}\n                                                                            className=\"status-btn add-wish-success\"\n                                                                        >\n                                                                            <img\n                                                                                src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n                                                                                alt=\"\"\n                                                                            />\n                                                                            加入心愿单\n                                                                        </a>\n                                                                    }\n                                                                </div>\n                                                            </>\n                                                        }\n                                                    </div>\n                                                </CourseItem>\n                                            ))\n                                        }\n                                    </div>\n                                    {\n                                        (higher.courseList && higher.courseList.length > 4) &&\n                                        <button\n                                            className=\"more-button\"\n                                            onClick={() => this.handleToMore('higher')}\n                                        >{higher.isMore ? '查看更多' : '收起'}</button>\n                                    }\n                                </>\n                            }\n                            <h4 className=\"ai-course__subtitle\">扩展</h4>\n                            {\n                                (expand.course && expand.course.length > 0) &&\n                                <>\n                                    <div className='groupcourse course-box'>\n                                        {\n                                            expand.course.map(item => (\n                                                <CourseItem\n                                                    image={item.image_name}\n                                                    key={item.course_id}\n                                                    id={item.course_id}\n                                                    toCourse={this.toCourse}\n                                                >\n                                                    <div className=\"coupon-course__footer\">\n                                                        {\n                                                            item.is_buy == 1 &&\n                                                            <>\n                                                                <p className={'course-title text-overflow-1'}>\n                                                                    {item.course_title}\n                                                                </p>\n                                                                <a\n                                                                    onClick={() => this.toCourse(item.course_id)}\n                                                                    className=\"btn to-study\"\n                                                                >开始学习</a>\n                                                            </>\n                                                        }\n                                                        {\n                                                            item.is_buy == 0 &&\n                                                            <>\n                                                                <div className=\"type\">\n                                                                    {\n                                                                        item.type == 0 &&\n                                                                        <>\n                                                                            <span className=\"tag\">活动价</span>\n                                                                            <span className=\"time\">12.23开始</span>\n                                                                        </>\n                                                                    }\n                                                                    {\n                                                                        item.type == 1 &&\n                                                                        <>\n                                                                            <span className=\"tag\">拼团价</span>\n                                                                            <span className=\"time\">12.23开团</span>\n                                                                        </>\n                                                                    }\n                                                                    {\n                                                                        item.type == 2 &&\n                                                                        <>\n                                                                            <span className=\"tag\">好友帮帮砍</span>\n                                                                            <span className=\"time\">12.23开砍</span>\n                                                                        </>\n                                                                    }\n\n                                                                </div>\n                                                                <div className=\"price\">\n                                                                    {item.type == 2 ? '到手最低:¥' : '¥'}\n                                                                    <span className=\"new-price\">{item.price2}</span>\n                                                                    <span className=\"old-price\">\n                                                                        {item.type == 2 ? '' : '现价:'}\n                                                                        <s>¥{item.price1}</s>\n                                                                    </span>\n                                                                </div>\n                                                                <div className=\"status\">\n                                                                    <a\n                                                                        onClick={() => this.toCourse(item.course_id)}\n                                                                        className=\"status-btn to-buy\"\n                                                                    >直接购买</a>\n                                                                    {\n                                                                        item.is_join == 1 &&\n                                                                        <a className=\"status-btn add-wish\">\n                                                                            <img\n                                                                                src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n                                                                                alt=\"\"\n                                                                            />\n                                                                            已加心愿单\n                                                                        </a>\n                                                                    }\n                                                                    {\n                                                                        item.is_join == 0 &&\n                                                                        <a\n                                                                            onClick={() => this.addWishList(item.course_id, '4')}\n                                                                            className=\"status-btn add-wish-success\"\n                                                                        >\n                                                                            <img\n                                                                                src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n                                                                                alt=\"\"\n                                                                            />\n                                                                            加入心愿单\n                                                                        </a>\n                                                                    }\n                                                                </div>\n                                                            </>\n                                                        }\n                                                    </div>\n                                                </CourseItem>\n                                            ))\n                                        }\n                                    </div>\n                                    {\n                                        (expand.courseList && expand.courseList.length > 4) &&\n                                        <button\n                                            className=\"more-button\"\n                                            onClick={() => this.handleToMore('expand')}\n                                        >{expand.isMore ? '查看更多' : '收起'}</button>\n                                    }\n                                </>\n                            }\n                        </CommonContainer>\n                    </>\n                }\n\n                {\n                    this.state.tofreeStudy &&\n                    <CommonPopup top={100} closePopup={this.closePopup} mark={false}>\n                        <div className='sub__code_container'>\n                            <p className='sub__title'>提醒服务</p>\n                            <p className='sub__tip'>进入服务号回复<i>77</i>免费领取课程</p>\n                            <img className='sub__qr_code' id={'live-qr-code'}\n                                src='//julyedu-cdn.oss-cn-beijing.aliyuncs.com/2018christyear/h5/qrcode.jpg' alt=\"\" />\n                            {\n                                browser.isAndroidApp ? (\n                                    <button className={'save-image'} onClick={this.saveImage2}>保存二维码</button>\n                                ) : <p className='sub__tip'>长按识别/扫码 关注【七月在线】服务号</p>\n                            }\n                        </div>\n                    </CommonPopup>\n                }\n                {\n                    this.state.isshowFollow &&\n                    <CommonPopup top={100} closePopup={this.closePopupWish} mark={false}>\n                        <div className='sub__code_container'>\n                            <p className='sub__title'>提醒服务</p>\n                            <p className='sub__tip'>课程开售立即提醒,不错过任何优惠哦!</p>\n                            <img className='sub__qr_code' id={'live-qr-code'}\n                                src={this.state.followBarcode} alt=\"\" />\n                            {\n                                browser.isAndroidApp ? (\n                                    <button className={'save-image'} onClick={this.saveImage}>保存二维码</button>\n                                ) : <p className='sub__tip'>长按识别/扫码 关注【七月在线】服务号</p>\n                            }\n                        </div>\n                    </CommonPopup>\n                }\n            </div>\n        )\n    }\n}\n\nexport default withRouter(YearCourse)\n"],"sourceRoot":""}