{"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","_this$props","this","props","image","toCourse","id","react__WEBPACK_IMPORTED_MODULE_5___default","a","createElement","className","src","alt","onClick","children","Component","CommonContainer","Object","_Users_fe_frontCode_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","_Users_fe_frontCode_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__","_Users_fe_frontCode_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__","call","title","React","Children","map","child","Fragment","index","_this","computedStyle","top","concat","width","closePopup","mark","style","e","stopPropagation","SystemBulletScreen","Loadable","__webpack_require__","then","bind","Prizes","closeIcon","state","prizes","notices","rule","unfoldList","getPrizes","http","get","API","home","res","_res$data","data","code","msg","setState","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","bullets","ref","el","href","item","key","img_name","is_captain","mode","stage_no","grant_max","UserBulletScreen","bulletScreenData","initializeBulletScreen","_Users_fe_frontCode_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__","indexArray","_Users_fe_frontCode_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","length","removeSlide","start","activeIndex","stop","getBulletScreenData","appendSlide","getSlides","setTimeout","list","avatar_file","user_name","initializeSwiper","arguments","undefined","destroy","YearCourse","connect","user","_Users_fe_frontCode_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_3__","_Users_fe_frontCode_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__","_Users_fe_frontCode_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__","getLength","_Users_fe_frontCode_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","filter","courseList","fetchFreeCourse","freecourse","_res$data3","errno","course_info","fetchGroupCourse","groupcourse","_res$data4","fetchAICourse","addshowMore","_res$data5","getList","_this2$state","basic","advanced","higher","expand","toQQque","getParam","SendMessageToApp","location","courseId","history","push","handleToMore","_Users_fe_frontCode_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","QRCode","toDataURL","err","url","followBarcode","addWishList","isLogin","hasError","isFollow","_res$data7","is_follow","post","course_id","_res$data8","success","saveImage","version","replace","slice","parseInt","getTeamInfo","_res$data9","removable_data","removable","currentId","toBoxList","search","toYearWish","nextProps","nextState","nextContext","isAppUpdate","_this$state","react__WEBPACK_IMPORTED_MODULE_9___default","_common_commonContainer_index__WEBPACK_IMPORTED_MODULE_12__","_blessingPreheat_courseItem_index__WEBPACK_IMPORTED_MODULE_13__","image_name","is_buy","group","act_num","course_title","price1","is_join","type","price2","_common_commonPopup_index__WEBPACK_IMPORTED_MODULE_15__","browser","isAndroidApp","withRouter"],"mappings":"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","file":"mrstatic/js/2.f37ac43f.chunk.js","sourcesContent":["import React, { Component } from 'react';\nimport './index.scss';\n\nclass CourseItem extends Component {\n  render() {\n    const { image,toCourse,id} = this.props;\n    return (\n      <div className=\"course-container\">\n        <div className=\"course__cover\">\n          <img src={image} alt=\"cover\" onClick={() => toCourse(id)}/>\n        </div>\n        {this.props.children}\n      </div>\n    );\n  }\n}\n\nexport default CourseItem;","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    return (\n      <>\n        {showSystemNotices && <SystemBulletScreen bullets={this.state.notices}/>}\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                      <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\"\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            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.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: 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    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    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    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    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                QRCode.toDataURL('http://weixin.qq.com/q/02mntn9j4xcw01_VSN1tc2', (err, url) => {\n                    this.setState({\n                        followBarcode: url,\n                    })\n                })\n                // _this.followBarcode = \"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQEV8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAybW50bjlqNHhjdzAxX1ZTTjF0YzIAAgR5pfBdAwSAUQEA\"\n\n                // if (errno == 0) {\n                //     _this.followBarcode = data.url\n                // } else {\n                //     Message.warning(msg)\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 = '//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('generateQRCode', 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            this.props.history.push(`/year/yearTreasure${search}`)\n        } else {\n            this.toLogin()\n        }\n    }\n\n    toYearWish = () => {\n        const isLogin = !this.props.user.hasError\n        if (isLogin) {\n            this.props.history.push('/year/yearWish')\n        } else {\n            this.toLogin()\n        }\n\n    }\n\n    render() {\n        const {bigcourse, freecourse, groupcourse, basic, advanced, higher, expand,removable,sum} = this.state\n\n        return (\n            <div className={'year-index-course'}>\n                {/*浮框*/}\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                <CommonContainer title='重磅好课' id='year-course'>\n                    <div>\n                        {\n                            (bigcourse.course && bigcourse.course.length > 0) &&\n                            <>\n                                <div className='bigcourse course-box'>\n                                    {\n                                        bigcourse.course.map(item => (\n                                            <CourseItem image={item.image_name} key={item.course_id} id={item.course_id}\n                                                        toCourse={this.toCourse}>\n                                                <div className=\"coupon-course__footer\">\n                                                    {\n                                                        item.is_buy == 1 &&\n                                                        <a onClick={() => this.toCourse(item.course_id)} className=\"btn to-study\">开始学习</a>\n                                                    }\n                                                    {\n                                                        item.is_buy == 0 &&\n                                                        <a onClick={() => this.toQQque()}\n                                                           className=\"btn big-course\">速抢拼团名额</a>\n                                                    }\n\n                                                </div>\n                                            </CourseItem>\n                                        ))\n                                    }\n                                </div>\n                                {\n                                    (bigcourse.courseList && bigcourse.courseList.length > 4) &&\n                                    <button className=\"more-button\" onClick={() => this.handleToMore('bigcourse')}>\n                                        {group.isMore ? '查看更多' : '收起'}\n                                    </button>\n                                }\n                            </>\n                        }\n                    </div>\n                </CommonContainer>\n                <CommonContainer title='人气好课免费学' id='year-free'>\n                    <div>\n                        {\n                            (freecourse.course && freecourse.course.length > 0) &&\n                            <>\n                                <div className='freecourse course-box'>\n                                    {\n                                        freecourse.course.map(item => (\n                                            <CourseItem image={item.image_name} key={item.course_id} id={item.course_id}\n                                                        toCourse={this.toCourse}>\n                                                <div className=\"coupon-course__footer\">\n                                                    {\n                                                        item.is_buy == 1 &&\n                                                        <a onClick={() => this.toCourse(item.course_id)} className=\"btn to-study\">开始学习</a>\n                                                    }\n                                                    {\n                                                        item.is_buy == 0 &&\n                                                        <a onClick={() => this.freeStudy()}\n                                                           className=\"btn free-study\">点击免费学</a>\n                                                    }\n\n                                                    <p className=\"free-course-num\">已送出<span>{item.act_num}</span>个课程</p>\n\n                                                </div>\n                                            </CourseItem>\n                                        ))\n                                    }\n                                </div>\n                                {\n                                    (freecourse.courseList && freecourse.courseList.length > 4) &&\n                                    <button className=\"more-button\" onClick={() => this.handleToMore('freecourse')}>\n                                        {group.isMore ? '查看更多' : '收起'}\n                                    </button>\n                                }\n                            </>\n                        }\n                    </div>\n                </CommonContainer>\n                <CommonContainer title='精品好课1分开抢' id='year-group'>\n                    <div>\n                        {\n                            (groupcourse.course && groupcourse.course.length > 0) &&\n                            <>\n                                <div className='groupcourse course-box'>\n                                    {\n                                        groupcourse.course.map(item => (\n                                            <CourseItem image={item.image_name} key={item.course_id} id={item.course_id}\n                                                        toCourse={this.toCourse}>\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'}>{item.course_title}</p>\n                                                            <a onClick={() => this.toCourse(item.course_id)}\n                                                               className=\"btn to-study\">开始学习</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                                                                <span className=\"new-price\">0.01</span>\n                                                                <span\n                                                                    className=\"old-price\">现价:<s>¥{item.price1}</s></span>\n                                                            </div>\n\n                                                            <div className=\"status\">\n                                                                <a onClick={() => this.toCourse(item.course_id)}\n                                                                   className=\"status-btn to-buy\">直接购买</a>\n                                                                {\n                                                                    item.is_join == 1 &&\n                                                                    <a className=\"status-btn add-wish\"><img\n                                                                        src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n                                                                        alt=\"\"/>已加心愿单</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                                                                        <img\n                                                                            src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n                                                                            alt=\"\"/>加入心愿单\n                                                                    </a>\n                                                                }\n                                                            </div>\n                                                        </>\n                                                    }\n\n                                                </div>\n                                            </CourseItem>\n                                        ))\n                                    }\n                                </div>\n                                {\n                                    (groupcourse.courseList && groupcourse.courseList.length > 4) &&\n                                    <button className=\"more-button\" onClick={() => this.handleToMore('groupcourse')}>\n                                        {group.isMore ? '查看更多' : '收起'}\n                                    </button>\n                                }\n                            </>\n                        }\n                    </div>\n                </CommonContainer>\n                <CommonContainer title='好课价到,等你抄底' id='year-discount'>\n                    <div>\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 image={item.image_name} key={item.course_id} id={item.course_id}\n                                                        toCourse={this.toCourse}>\n                                                <div className=\"coupon-course__footer\">\n                                                    {\n                                                        item.is_buy == 1 &&\n                                                        <>\n                                                            <p className={'course-title text-overflow-1'}>{item.course_title}</p>\n                                                            <a onClick={() => this.toCourse(item.course_id)}\n                                                               className=\"btn to-study\">开始学习</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\n                                                                    className=\"old-price\">\n                                                                     {item.type == 2 ? '' : '现价:'}\n                                                                    <s>¥{item.price1}</s></span>\n                                                            </div>\n\n                                                            <div className=\"status\">\n                                                                <a onClick={() => this.toCourse(item.course_id)}\n                                                                   className=\"status-btn to-buy\">直接购买</a>\n                                                                {\n                                                                    item.is_join == 1 &&\n                                                                    <a className=\"status-btn add-wish\"><img\n                                                                        src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n                                                                        alt=\"\"/>已加心愿单</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                                                                        <img\n                                                                            src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n                                                                            alt=\"\"/>加入心愿单\n                                                                    </a>\n                                                                }\n                                                            </div>\n                                                        </>\n                                                    }\n\n                                                </div>\n                                            </CourseItem>\n                                        ))\n                                    }\n                                </div>\n                                {\n                                    (basic.courseList && basic.courseList.length > 4) &&\n                                    <button className=\"more-button\" onClick={() => this.handleToMore('basic')}>\n                                        {basic.isMore ? '查看更多' : '收起'}\n                                    </button>\n                                }\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 image={item.image_name} key={item.course_id} id={item.course_id}\n                                                        toCourse={this.toCourse}>\n                                                <div className=\"coupon-course__footer\">\n                                                    {\n                                                        item.is_buy == 1 &&\n                                                        <>\n                                                            <p className={'course-title text-overflow-1'}>{item.course_title}</p>\n                                                            <a onClick={() => this.toCourse(item.course_id)}\n                                                               className=\"btn to-study\">开始学习</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\n                                                                    className=\"old-price\">\n                                                                     {item.type == 2 ? '' : '现价:'}\n                                                                    <s>¥{item.price1}</s></span>\n                                                            </div>\n\n                                                            <div className=\"status\">\n                                                                <a onClick={() => this.toCourse(item.course_id)}\n                                                                   className=\"status-btn to-buy\">直接购买</a>\n                                                                {\n                                                                    item.is_join == 1 &&\n                                                                    <a className=\"status-btn add-wish\"><img\n                                                                        src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n                                                                        alt=\"\"/>已加心愿单</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                                                                        <img\n                                                                            src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n                                                                            alt=\"\"/>加入心愿单\n                                                                    </a>\n                                                                }\n                                                            </div>\n                                                        </>\n                                                    }\n\n                                                </div>\n                                            </CourseItem>\n                                        ))\n                                    }\n                                </div>\n                                {\n                                    (advanced.courseList && advanced.courseList.length > 4) &&\n                                    <button className=\"more-button\" onClick={() => this.handleToMore('advanced')}>\n                                        {advanced.isMore ? '查看更多' : '收起'}\n                                    </button>\n                                }\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 image={item.image_name} key={item.course_id} id={item.course_id}\n                                                        toCourse={this.toCourse}>\n                                                <div className=\"coupon-course__footer\">\n                                                    {\n                                                        item.is_buy == 1 &&\n                                                        <>\n                                                            <p className={'course-title text-overflow-1'}>{item.course_title}</p>\n                                                            <a onClick={() => this.toCourse(item.course_id)}\n                                                               className=\"btn to-study\">开始学习</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\n                                                                    className=\"old-price\">\n                                                                     {item.type == 2 ? '' : '现价:'}\n                                                                    <s>¥{item.price1}</s></span>\n                                                            </div>\n\n                                                            <div className=\"status\">\n                                                                <a onClick={() => this.toCourse(item.course_id)}\n                                                                   className=\"status-btn to-buy\">直接购买</a>\n                                                                {\n                                                                    item.is_join == 1 &&\n                                                                    <a className=\"status-btn add-wish\"><img\n                                                                        src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n                                                                        alt=\"\"/>已加心愿单</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                                                                        <img\n                                                                            src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n                                                                            alt=\"\"/>加入心愿单\n                                                                    </a>\n                                                                }\n                                                            </div>\n                                                        </>\n                                                    }\n\n                                                </div>\n                                            </CourseItem>\n                                        ))\n                                    }\n                                </div>\n                                {\n                                    (higher.courseList && higher.courseList.length > 4) &&\n                                    <button className=\"more-button\" onClick={() => this.handleToMore('higher')}>\n                                        {higher.isMore ? '查看更多' : '收起'}\n                                    </button>\n                                }\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 image={item.image_name} key={item.course_id} id={item.course_id}\n                                                        toCourse={this.toCourse}>\n                                                <div className=\"coupon-course__footer\">\n                                                    {\n                                                        item.is_buy == 1 &&\n                                                        <>\n                                                            <p className={'course-title text-overflow-1'}>{item.course_title}</p>\n                                                            <a onClick={() => this.toCourse(item.course_id)}\n                                                               className=\"btn to-study\">开始学习</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\n                                                                    className=\"old-price\">\n                                                                     {item.type == 2 ? '' : '现价:'}\n                                                                    <s>¥{item.price1}</s></span>\n                                                            </div>\n\n                                                            <div className=\"status\">\n                                                                <a onClick={() => this.toCourse(item.course_id)}\n                                                                   className=\"status-btn to-buy\">直接购买</a>\n                                                                {\n                                                                    item.is_join == 1 &&\n                                                                    <a className=\"status-btn add-wish\"><img\n                                                                        src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n                                                                        alt=\"\"/>已加心愿单</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                                                                        <img\n                                                                            src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n                                                                            alt=\"\"/>加入心愿单\n                                                                    </a>\n                                                                }\n                                                            </div>\n                                                        </>\n                                                    }\n\n                                                </div>\n                                            </CourseItem>\n                                        ))\n                                    }\n                                </div>\n                                {\n                                    (expand.courseList && expand.courseList.length > 4) &&\n                                    <button className=\"more-button\" onClick={() => this.handleToMore('expand')}>\n                                        {expand.isMore ? '查看更多' : '收起'}\n                                    </button>\n                                }\n                            </>\n                        }\n                    </div>\n                </CommonContainer>\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.saveImage}>保存二维码</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":""}