{"version":3,"sources":["components/blessingPreheat/courseItem/index.js","components/activity/newyear-2019/common/commonContainer/index.js","components/activity/newyear-2019/common/prizes/index.js","components/activity/newyear-2019/common/user-bullet-screen/index.js","components/activity/newyear-2019/common/commonPopup/index.js","components/activity/newyear-2019/preheat/YearCourse/index.js"],"names":["CourseItem","props","_this","Object","_Users_zhanghaozhe_server_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","this","_Users_zhanghaozhe_server_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__","_Users_zhanghaozhe_server_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","SystemBulletScreen","Loadable","__webpack_require__","e","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","style","innerBox","prizeBox","headHeight","parseFloat","getComputedStyle","getPropertyValue","footerHeight","h","prizeList","scrollHeight","scrollListHeight","height","_this2","showSystemNotices","length","bullets","ref","el","href","item","index","key","img_name","backgroundImage","is_captain","mode","stage_no","grant_max","width","surplus","UserBulletScreen","bulletScreenData","initializeBulletScreen","_Users_zhanghaozhe_server_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__","indexArray","_Users_zhanghaozhe_server_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","computedStyle","top","closePopup","mark","stopPropagation","YearCourse","connect","user","_Users_zhanghaozhe_server_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_3__","_Users_zhanghaozhe_server_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__","_Users_zhanghaozhe_server_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__","getLength","_Users_zhanghaozhe_server_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8__","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_zhanghaozhe_server_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","_common_commonContainer_index__WEBPACK_IMPORTED_MODULE_12__","_blessingPreheat_courseItem_index__WEBPACK_IMPORTED_MODULE_13__","is_vip","is_buy","is_audition","Number","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.2f052ee5.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 { 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'} style={{width: `${(item.surplus / item.grant_max) * 100}%`}}/></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';\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 './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 = 'http://q.url.cn/s/Vbkup6m?_type=wpa'\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 <div className='nav-right-wish nav-right'>\n <span onClick={this.toBoxList} className='nav-right__link'>未开宝箱\n {\n removable > 0 &&\n <i className=\"nav-right__number\">{removable}</i>\n }\n </span>\n </div>\n\n\n <CommonContainer title='驰援武汉 注册即送' id='year-wuhan'>\n <div className=\"course-box course-conter\">\n <div className=\"course-item\">\n <span>注册即送</span>\n <a href=\"/detail?id=224\">\n <img\n src=\"http://julyedu-img-public.oss-cn-beijing.aliyuncs.com/Public/Image/75d1c3cef5.png\"\n alt=\"\"/>\n </a>\n </div>\n <div className=\"course-item\">\n <span>注册即送</span>\n <a href=\"/detail?id=206\">\n <img\n src=\"https://julyedu-img-public.oss-cn-beijing.aliyuncs.com/Public/Image/b001fac23f.png\"\n alt=\"\"/>\n </a>\n </div>\n <div className=\"course-item\">\n <span>注册即送</span>\n <a href=\"/detail?id=230\">\n <img\n src=\"https://julyedu-img-public.oss-cn-beijing.aliyuncs.com/Public/Image/d0fb0a479b.png\"\n alt=\"\"/>\n </a>\n </div>\n </div>\n </CommonContainer>\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_vip == 1 &&\n <a className=\"btn big-course\" onClick={() => this.toQQque()}>\n 首购¥99起\n </a>\n }\n\n {\n item.is_vip == 0 &&\n <>\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 >{item.is_audition == 1 ? '免费试听': '抢团报名额'}</a>\n }\n </>\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.price1}</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":""}