{"version":3,"sources":["components/activity/2020-717/images/title_1.png","components/activity/2020-717/images/title_2.png","components/activity/2020-717/images/title_3.png","components/activity/2020-717/images/title_4.png","components/activity/2020-717/images/title_5.png","components/activity/2020-717/images/rank1.png","components/activity/2020-717/images/rank2.png","components/activity/2020-717/images/rank3.png","components/activity/2020-717/activity/index.js","components/activity/2020-717/question/index.js","components/activity/2020-717/invitation/index.js","components/activity/2020-717/index.js"],"names":["module","exports","Anniversary2020","nav","store","storage","namespace","stages","1","2","3","4","stageParams","records","answerRule","drawTimer","countDownTimer","hasMore","state","navs","text","id","titleImages","require","rankIcons","navActive","sectionsPosition","auditions","auditionShowAll","group","groupShowAll","stageCourses","activityData","team","rankList","isShowAllRankList","qrcode","undefined","countDown","userAddress","name","phone","address","isShowUserAddress","isShowPrizesRecords","isWinPrize","isReLogin","isShowTeamMember","isShowFollow","prizeData","drawOrder","drawItemIds","drawingItemId","isDrawing","drawResult","prizeRecords","prizeRecordsPagination","bulletScreenList","prizeType","needMobile","istime","isshowLive","getActivityStage","http","get","API","home","then","res","data","code","msg","setupCountDown","count_down","setState","bindNavAction","info","getAuditionCourses","getGroupCourses","getStageCourses","key","groupBy","item","stage","index","findIndex","getPrizeData","prizes","splice","map","order","itemId","getRankList","getTeam","getPrizeRecords","isFetching","isEmpty","_records","Array","isArray","concat","setTimeout","handleRecordsScroll","debounce","e","target","scrollTop","scrollHeight","clientHeight","handleChange","value","submitUserAddress","post","getUserAddress","document","removeEventListener","setNavActive","el","querySelector","top","offsetTop","height","offsetHeight","hash","props","location","window","scrollTo","addEventListener","getFollowStaus","is_follow","getQRCode","user","uid","errno","qr_image","pageY","pageYOffset","i","length","section","nextSection","prevSection","showRule","content","popupInstance","Popup","className","title","showActiveNav","box","querySelectorAll","getBoundingClientRect","offsetWidth","scrollLeft","left","right","draw","isGotoLogin","odd_times","startDraw","requestDraw","oddTimes","prize_type","need_mobile","catch","fail","setInterval","clearInterval","sign","is_sign","history","hasError","push","getBulletScreenData","handleBulletScreenChange","from","to","totalSeconds","d","Math","floor","h","m","reLogin","logout","now","Date","getTime","future","this","addData","type","REDO","session","remove","prevProps","prevState","body","style","overflow","clearTimeout","_auditions","slice","_group","_rankList","src","alt","onClick","ref","href","background","backgroundSize","Button","is_assemble","v_course_id","course_id","nodeName","toLowerCase","image_name","course_title","simpledescription","price1","price0","bind","rule","dragging","swiping","dots","speed","autoplayInterval","easing","tweenFunctions","easeOutCubic","vertical","autoplay","infinite","beforeChange","classnames","active","available","unavailable","img_name","display","alignItems","justifyContent","more_rule","split","textAlign","marginBottom","people_num","ranking","team_info","head_img","avatar_file","preventDefault","set","practice_num","avatar","username","member_num","prize_url","prize","is_buy","words","is_dist","dist_amount","Object","keys","save","placeholder","onChange","disabled","prize_name","amount","create_time","prize_info","WinPrize","close","ReLogin","TeamMember","members","Component","_members","filter","statusText","statusClass","user_name","is_correct","connect","dispatch","Question","question","result","recommends","selectedOptionId","isShowConfirm","isResultConfirm","isTeamHead","match","params","isPractice","isActivityEnd","getQuestion","ADD_QUESTION","payload","teamCode","select","submit","option_id","cache","getRecommends","type_id","afterSubmitted","ADD_RESULT","resultFun","notNeedSign","getAttribute","console","log","typeId","ADD_RECOMMENDS","getOptionLabel","String","fromCharCode","redo","ques","dangerouslySetInnerHTML","__html","options","selected","correct","right_id","wrong","parseInt","des","analysis","Recommends","BottomButton","Confirm","cancel","ResultConfirm","data-sign","practiceNum","compose","WithFullSize","anniversary2020Question","Invitation","invitationInfo","inviteUid","getParam","isShowGuide","teamInfo","isMaster","instance","isShowCaptcha","getPrizesInfo","getInvitationInfo","invite_uid","getTeamInfo","team_code","is_captain","err","joinTeam","noTraceValidation","showCaptchaModal","isNeedValidation","browser","isWeixin","encodeURIComponent","is_check","_data","token","sig","status","reset","setupWechatShare","wxShare","desc","link","pathname","imgUrl","drawQuestions","getInstance","onVerify","arrow","goBack","invite_num","draw_chance","onCopy","isAnswered","is_answer","Anniversary2020Entry","path","render","routeProps"],"mappings":"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","file":"mrstaticjs/56.3f9dff1e.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","/* eslint-disable jsx-a11y/anchor-is-valid, no-script-url, jsx-a11y/heading-has-content, eqeqeq, default-case */\nimport React, { Component } from \"react\"\nimport { debounce, groupBy, isEmpty } from \"lodash\"\nimport { http } from \"src/utils\"\nimport { Toast, Carousel } from \"antd-mobile\"\nimport { Link } from \"react-router-dom\"\nimport { logout } from \"src/store/userAction\"\nimport { connect } from \"react-redux\"\nimport \"./index.scss\"\nimport { Popup } from \"src/common/index\"\nimport classnames from \"classnames\"\nimport tweenFunctions from \"tween-functions\"\nimport storage from \"store2\"\nimport {\n REDO,\n addData,\n} from \"src/components/activity/2020-717/question/store/reducer\"\n\nclass Anniversary2020 extends Component {\n nav = null\n store = storage.namespace(\"anniversary2020\")\n stages = {\n 1: \"基础\",\n 2: \"进阶\",\n 3: \"高阶\",\n 4: \"拓展\",\n }\n stageParams = [\"one\", \"two\", \"three\", \"four\"]\n records = null\n answerRule = `\n 1.邀请好友加入队伍,好友答对题你和好友均可增加抽奖机会\n 2.每增加3个队员答对题,你可以增加N次抽奖机会,N=1 ,2, 3 (有3个队员答对题,你可+1次抽奖机会;6个队员答对题,你再+2次抽奖机会,超过6个队员答对题时,每+3人答对题都可+3次抽奖机会)\n 3.被邀请好友答对题TA可+1次抽奖机会\n 4.每人只能当1次队员哦\n `\n drawTimer = null\n countDownTimer = null\n hasMore = true\n\n state = {\n //静态数据\n navs: [\n {\n text: \"一分拼团\",\n id: \"#group\",\n },\n {\n text: \"抽华为P40Pro+\",\n id: \"#lottery\",\n },\n {\n text: \"组队答题\",\n id: \"#group-answer\",\n },\n {\n text: \"免费试听\",\n id: \"#audition\",\n },\n {\n text: \"冰点秒杀\",\n id: \"#stage-course\",\n },\n ],\n titleImages: [\n require(\"../images/title_1.png\"),\n require(\"../images/title_2.png\"),\n require(\"../images/title_3.png\"),\n require(\"../images/title_4.png\"),\n require(\"../images/title_5.png\"),\n ],\n rankIcons: [\n require(\"../images/rank1.png\"),\n require(\"../images/rank2.png\"),\n require(\"../images/rank3.png\"),\n ],\n navActive: 0,\n sectionsPosition: [],\n //课程\n auditions: [],\n auditionShowAll: false,\n group: [],\n groupShowAll: false,\n stageCourses: [],\n activityData: {},\n team: {},\n rankList: [],\n isShowAllRankList: false,\n qrcode: undefined,\n countDown: \"\",\n //弹框\n userAddress: {\n name: \"\",\n phone: \"\",\n address: \"\",\n },\n isShowUserAddress: false,\n isShowPrizesRecords: false,\n isWinPrize: false, //抽中奖品弹框\n isReLogin: false,\n isShowTeamMember: false,\n isShowFollow: false,\n //抽奖\n prizeData: {},\n drawOrder: [0, 1, 2, 5, 8, 7, 6, 3],\n drawItemIds: [],\n drawingItemId: undefined,\n isDrawing: false,\n drawResult: {},\n prizeRecords: [],\n prizeRecordsPagination: 0,\n bulletScreenList: [],\n prizeType: \"\",\n needMobile: false, // 是否需要绑定手机号\n istime: true,\n isshowLive: true,\n }\n\n componentDidMount() {\n let now = new Date().getTime()\n let future = new Date(\"2020-7-17 20:30:00\").getTime()\n this.setState({\n istime: future > now ? true : false,\n })\n\n this.getActivityStage()\n this.getTeam()\n this.getUserAddress()\n this.getPrizeData()\n this.getAuditionCourses()\n this.getGroupCourses()\n this.getBulletScreenData()\n this.getRankList()\n this.getStageCourses(\"zero\")\n this.props.addData({ type: REDO })\n if (this.store.session.get(\"toInvitation\") && !this.props.user.hasError) {\n this.getFollowStaus()\n this.store.session.remove(\"toInvitation\")\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.navActive !== this.state.navActive) {\n this.showActiveNav()\n }\n }\n\n componentWillUnmount() {\n document.removeEventListener(\"scroll\", this.setNavActive)\n document.body.style.overflow = \"auto\"\n clearInterval(this.drawTimer)\n clearTimeout(this.countDownTimer)\n }\n\n getActivityStage = () => {\n http.get(`${API.home}/activity/anniversary/activityStage`).then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n this.setupCountDown(data.count_down)\n this.setState(\n {\n activityData: data,\n },\n this.bindNavAction()\n )\n } else {\n Toast.info(msg)\n }\n })\n }\n\n getAuditionCourses = () => {\n http.get(`${API.home}/activity/anniversary/big_course`).then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n this.setState(\n {\n auditions: data,\n },\n this.bindNavAction\n )\n } else {\n Toast.info(msg)\n }\n return 1\n })\n }\n\n getGroupCourses = () => {\n http.get(`${API.home}/activity/anniversary/point_course`).then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n this.setState({\n group: data,\n })\n } else {\n Toast.info(msg)\n }\n })\n }\n\n getStageCourses = (key) => {\n http\n .get(`${API.home}/activity/anniversary/four_stage/${key}`)\n .then((res) => {\n const { code, msg, data } = res.data\n\n if (code === 200) {\n this.setState((state) => {\n if (key === \"zero\") {\n return {\n stageCourses: groupBy(data, (item) => {\n return item.stage\n }),\n }\n } else {\n const index =\n this.stageParams.findIndex((item) => item === key) + 1\n state.stageCourses[index] = data\n return {\n stageCourses: state.stageCourses,\n }\n }\n }, this.bindNavAction)\n } else {\n Toast.info(msg)\n }\n })\n }\n\n getPrizeData = () => {\n http.get(`${API.home}/activity/anniversary/prize_data`).then((res) => {\n const { code, msg, data } = res.data\n data.prizes.splice(4, 0, {})\n if (code === 200) {\n this.setState({\n prizeData: data,\n drawItemIds: this.state.drawOrder.map((order) => ({\n itemId: data.prizes[order].id,\n })),\n })\n } else {\n Toast.info(msg)\n }\n })\n }\n\n getRankList = () => {\n http.get(`${API.home}/activity/anniversary/team_ranks`).then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n this.setState({\n rankList: data,\n })\n } else {\n Toast.info(msg)\n }\n })\n }\n\n getTeam = () => {\n http.get(`${API.home}/activity/anniversary/teamInfo`).then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n this.setState(\n {\n team: data,\n },\n this.bindNavAction\n )\n } else {\n Toast.info(msg)\n }\n })\n }\n\n getPrizeRecords = (() => {\n let isFetching = false\n return () => {\n if (isFetching || !this.hasMore) {\n return\n }\n isFetching = true\n http\n .get(\n `${API.home}/activity/anniversary/user_prizes/${this.state.prizeRecordsPagination}`\n )\n .then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n if (isEmpty(data)) {\n this.hasMore = false\n }\n const _records = Array.isArray(data) ? data : []\n this.setState(\n (state) => {\n return {\n prizeRecords: state.prizeRecords.concat(_records),\n prizeRecordsPagination: state.prizeRecordsPagination + 1,\n }\n },\n () => {\n setTimeout(() => {\n isFetching = false\n }, 100)\n }\n )\n } else {\n Toast.info(msg)\n }\n })\n }\n })()\n\n handleRecordsScroll = debounce((e) => {\n let scrollTop = e.target.scrollTop,\n scrollHeight = e.target.scrollHeight,\n height = e.target.clientHeight\n if (scrollTop > scrollHeight - height - 120) {\n this.getPrizeRecords()\n }\n }, 16)\n\n handleChange = (e) => {\n let name = e.target.name,\n value = e.target.value\n this.setState((state) => {\n return {\n userAddress: { ...state.userAddress, ...{ [name]: value } },\n }\n })\n }\n\n submitUserAddress = () => {\n http\n .post(`${API.home}/sys/update_address`, this.state.userAddress)\n .then((res) => {\n const { code, msg } = res.data\n if (code === 200) {\n Toast.info(\"提交成功\")\n this.setState({\n isShowUserAddress: false,\n })\n } else {\n Toast.info(msg)\n }\n })\n }\n\n getUserAddress = () => {\n http.get(`${API.home}/sys/user_address_info`).then((res) => {\n const { code, data } = res.data\n if (code === 200) {\n this.setState({\n userAddress: data,\n })\n }\n })\n }\n\n bindNavAction = () => {\n document.removeEventListener(\"scroll\", this.setNavActive)\n this.setNavActive()\n this.setState(\n {\n sectionsPosition: this.state.navs.map((item) => {\n const el = document.querySelector(item.id)\n return {\n top: el.offsetTop - 50,\n height: el.offsetHeight,\n }\n }),\n },\n () => {\n const { hash } = this.props.location\n if (hash) {\n const index = this.state.navs.findIndex((item) => item.id === hash)\n window.scrollTo(0, this.state.sectionsPosition[index].top)\n }\n document.removeEventListener(\"scroll\", this.setNavActive)\n document.addEventListener(\"scroll\", this.setNavActive)\n }\n )\n }\n\n getFollowStaus = () => {\n http.get(`${API.home}/sys/user/isFollowWeChat`).then((res) => {\n const { code, data } = res.data\n if (code === 200) {\n if (!data.is_follow) {\n this.getQRCode()\n }\n this.setState({\n isShowFollow: !data.is_follow,\n })\n }\n })\n }\n\n getQRCode = () => {\n http\n .get(\n `${API[\"base-api\"]}/wx/user_temporary_qrcode/${this.props.user.data.uid}`\n )\n .then((res) => {\n const { errno, data } = res.data\n if (errno === 0) {\n this.setState({\n qrcode: data.qr_image,\n })\n }\n })\n }\n\n setNavActive = debounce(() => {\n const { navActive, sectionsPosition } = this.state\n const pageY = window.pageYOffset\n for (let i = navActive; i < sectionsPosition.length; i++) {\n const section = sectionsPosition[i]\n const nextSection = sectionsPosition[i + 1]\n const prevSection = i > 0 && sectionsPosition[i - 1]\n\n if (pageY > section.top + section.height && nextSection) {\n if (\n pageY < nextSection.top ||\n pageY < nextSection.top + nextSection.height\n ) {\n this.setState({\n navActive: i + 1,\n })\n break\n }\n } else {\n if (\n pageY < section.top + section.height &&\n prevSection &&\n pageY < prevSection.top + prevSection.height\n ) {\n this.setState({\n navActive: i - 1 ? i - 1 : 0,\n })\n break\n }\n }\n }\n }, 1000 / 60)\n\n showRule = (content) => {\n this.popupInstance = Popup({\n className: \"rule-popup\",\n title: \"活动规则\",\n content,\n })\n }\n\n showActiveNav = () => {\n const listItems = this.nav.querySelectorAll(\"li\")\n const activeItem = listItems[this.state.navActive]\n const box = activeItem.getBoundingClientRect()\n let offsetWidth = this.nav.offsetWidth,\n scrollLeft = this.nav.scrollLeft\n if (box.left < 0) {\n this.nav.scrollLeft = box.left\n } else if (box.right > offsetWidth + scrollLeft) {\n this.nav.scrollLeft = box.right\n }\n }\n\n draw = debounce((i) => {\n if (this.state.activityData.stage === 1 || this.isGotoLogin()) {\n return\n }\n const { activityData, prizeData, isDrawing } = this.state\n if (\n i !== 4 ||\n isDrawing ||\n prizeData.odd_times === 0 ||\n activityData.stage === 4\n ) {\n return\n }\n this.startDraw()\n this.requestDraw()\n }, 100)\n\n requestDraw = () => {\n http\n .get(`${API.home}/activity/anniversary/draw_lottery`)\n .then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n this.setState((state, props) => {\n let oddTimes = state.prizeData.odd_times\n return {\n prizeData: {\n ...state.prizeData,\n ...{ odd_times: oddTimes - 1 < 0 ? 0 : oddTimes - 1 },\n },\n }\n })\n setTimeout(() => {\n this.setState({\n drawResult: data,\n prizeType: data.prize_type,\n needMobile: data.need_mobile,\n })\n }, 3000)\n } else {\n Toast.info(msg)\n }\n })\n .catch((e) => {\n Toast.fail(\"操作频繁,请稍后再试\")\n })\n }\n\n startDraw = () => {\n let index = 0\n this.setState({\n isDrawing: true,\n })\n this.drawTimer = setInterval(() => {\n const { drawItemIds, drawResult } = this.state\n if (\n drawResult.id &&\n drawItemIds[index % drawItemIds.length].itemId === drawResult.id\n ) {\n clearInterval(this.drawTimer)\n this.setState({\n isWinPrize: true,\n isDrawing: false,\n })\n }\n this.setState({\n drawingItemId: drawItemIds[index++ % drawItemIds.length].itemId,\n })\n }, 100)\n }\n\n sign = () => {\n if (this.isGotoLogin()) {\n return\n }\n http.get(`${API.home}/activity/anniversary/sign`).then((res) => {\n const { code, msg } = res.data\n if (code === 200) {\n Toast.info(\"签到成功 抽奖次数+1\")\n this.setState((state, props) => {\n return {\n prizeData: {\n ...state.prizeData,\n ...{ odd_times: state.prizeData.odd_times + 1 },\n },\n activityData: { ...state.activityData, ...{ is_sign: true } },\n }\n })\n } else {\n Toast.info(msg)\n }\n })\n }\n\n isGotoLogin = () => {\n const { user, history } = this.props\n if (user.hasError) {\n history.push(\"/passport\")\n return true\n }\n return false\n }\n\n getBulletScreenData = () => {\n http.get(`${API.home}/activity/anniversary/barrages`).then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n this.setState((state, props) => {\n return {\n bulletScreenList: state.bulletScreenList.concat(\n Array.isArray(data) ? data : []\n ),\n }\n })\n } else {\n Toast.info(msg)\n }\n })\n }\n\n handleBulletScreenChange = (from, to) => {\n if (to >= this.state.bulletScreenList.length - 5) {\n this.getBulletScreenData()\n }\n }\n\n setupCountDown = (totalSeconds) => {\n totalSeconds -= 60\n const d = Math.floor(totalSeconds / 60 / 60 / 24)\n const h = Math.floor(totalSeconds / 60 / 60) % 24\n const m = Math.floor(totalSeconds / 60) % 60\n this.setState(\n {\n countDown: `${d}天${h}时${m}分`,\n },\n () => {\n if (totalSeconds > 0) {\n this.countDownTimer = setTimeout(() => {\n this.setupCountDown(totalSeconds)\n }, 1000 * 60)\n } else {\n this.getActivityStage()\n }\n }\n )\n }\n\n reLogin = () => {\n this.props.logout()\n this.props.history.push(\"/passport\")\n }\n\n render() {\n const {\n navs,\n navActive,\n titleImages,\n rankIcons,\n auditions,\n auditionShowAll,\n group,\n groupShowAll,\n stageCourses,\n activityData,\n team,\n userAddress,\n isShowUserAddress,\n prizeData,\n isShowPrizesRecords,\n prizeRecords,\n isWinPrize,\n isReLogin,\n drawingItemId,\n drawResult,\n prizeType,\n needMobile,\n isShowTeamMember,\n bulletScreenList,\n rankList,\n isShowAllRankList,\n isShowFollow,\n qrcode,\n countDown,\n isshowLive,\n istime,\n } = this.state\n const { history, user } = this.props\n\n const _auditions =\n auditionShowAll && auditions.length ? auditions : auditions.slice(0, 4)\n const _group = groupShowAll && group.length ? group : group.slice(0, 4)\n const _rankList = Array.isArray(rankList)\n ? isShowAllRankList\n ? rankList\n : rankList.slice(0, 10)\n : []\n\n return (\n <div className={\"anniversary-2020\"}>\n <Link className=\"to-index-tip\" to={\"/\"}>\n 前往七月在线官网 学更多精品课程 >>{\" \"}\n </Link>\n\n <div className=\"banner\">\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/m/banner.png\"\n alt=\"\"\n />\n {countDown && (\n <div className=\"count-down\">\n {countDown}{\" \"}\n {activityData.stage === 1\n ? \"后开始\"\n : activityData.stage === 2\n ? \"后结束\"\n : null}\n </div>\n )}\n </div>\n {!activityData.is_sign && (\n <div className=\"sign\" onClick={this.sign}></div>\n )}\n\n {istime && isshowLive && (\n <div className=\"live-icon-box\">\n <div className=\"live-icon\">\n <img\n className=\"live-icon-img\"\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/m/live-icon-m.png\"\n alt=\"\"\n />\n <img\n className=\"live-icon-close\"\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/close_icon.png\"\n alt=\"\"\n onClick={() => {\n this.setState({\n isshowLive: false,\n })\n }}\n />\n </div>\n </div>\n )}\n\n <nav ref={(el) => (this.nav = el)}>\n <ul>\n {navs.map((item, index) => {\n return (\n <li key={index} className={index === navActive ? \"active\" : \"\"}>\n <a\n href=\"javascript:void(0);\"\n onClick={() => {\n this.setState({\n navActive: index,\n })\n window.scrollTo(0, this.state.sectionsPosition[index].top)\n }}\n >\n {item.text}\n </a>\n </li>\n )\n })}\n </ul>\n </nav>\n <section id={\"group\"} className=\"group block\">\n <h2\n className=\"block-title\"\n style={{\n background: `url(${titleImages[0]}) no-repeat`,\n backgroundSize: \"contain\",\n }}\n ></h2>\n <ul className={\"course-container\"}>\n {!!_group.length &&\n _group.map((item, index) => {\n let Button\n if (item.is_assemble === 2) {\n Button = (\n <button className={\"study-btn\"}>\n <Link to={`/play?id=${item.v_course_id}`}>开始学习</Link>\n </button>\n )\n } else if (activityData.stage === 1) {\n Button = (\n <button className={\"unavailable\"}>7月15日开始</button>\n )\n } else if (activityData.stage === 2) {\n switch (item.is_assemble) {\n case 0:\n Button = (\n <button className=\"main\">\n <Link to={`/detail?id=${item.course_id}`}>\n 立即拼团\n </Link>\n </button>\n )\n break\n case 1:\n Button = (\n <button className=\"main\">\n <Link to={`/detail?id=${item.course_id}`}>\n 继续拼团\n </Link>\n </button>\n )\n break\n default:\n Button = (\n <button className={\"study-btn\"}>\n <Link to={`/play?id=${item.v_course_id}`}>\n 开始学习\n </Link>\n </button>\n )\n }\n } else {\n Button = <button className={\"unavailable\"}>活动已结束</button>\n }\n return (\n <li\n className={\"course\"}\n key={index}\n onClick={(e) => {\n let nodeName = e.target.nodeName.toLowerCase()\n if (nodeName !== \"a\") {\n history.push(`/detail?id=${item.course_id}`)\n }\n }}\n >\n <div className=\"cover\">\n <img src={item.image_name} alt=\"\" />\n </div>\n <div className=\"info\">\n <div className=\"title\">{item.course_title}</div>\n <div className=\"des\">{item.simpledescription}</div>\n {item.is_assemble === 2 ? (\n <div className=\"purchased\">已购买</div>\n ) : (\n <div className=\"prices\">\n <span>¥{item.price1}</span>\n <span>¥{item.price0}</span>\n </div>\n )}\n <div className=\"btn\">{Button}</div>\n </div>\n </li>\n )\n })}\n {_group.length === 4 && (\n <li>\n <button\n className={\"show-more\"}\n onClick={() => {\n this.setState({\n groupShowAll: true,\n })\n }}\n >\n 查看更多\n </button>\n </li>\n )}\n </ul>\n </section>\n <section id={\"lottery\"} className={\"lottery block\"}>\n <div\n className=\"block-title\"\n style={{\n background: `url(${titleImages[1]}) no-repeat`,\n backgroundSize: \"contain\",\n }}\n ></div>\n <div className=\"rule\">\n <a\n href=\"javascript:void(0);\"\n onClick={this.showRule.bind(this, prizeData.rule)}\n >\n 规则\n </a>\n </div>\n <div className=\"prize-container\">\n {!!bulletScreenList.length && activityData.stage === 2 && (\n <Carousel\n dragging={false}\n swiping={false}\n dots={false}\n speed={200}\n autoplayInterval={3000}\n easing={tweenFunctions.easeOutCubic}\n vertical\n autoplay\n infinite\n beforeChange={this.handleBulletScreenChange}\n >\n {bulletScreenList.map((item, index) => {\n return (\n <div key={index} className={\"bullet\"}>\n {item}\n </div>\n )\n })}\n </Carousel>\n )}\n <div className=\"prize-wrapper\">\n {/*<ul className={'h--bar bar'}>\n {\n Array(11).fill('a').map((item, index) => {\n return <li key={index}></li>\n })\n }\n </ul>\n <ul className={'h--bar bar'}>\n {\n Array(11).fill('a').map((item, index) => {\n return <li key={index}></li>\n })\n }\n </ul>\n <ul className={'bar v--bar'}>\n {\n Array(8).fill('a').map((item, index) => {\n return <li key={index}></li>\n })\n }\n </ul>\n <ul className={'bar v--bar'}>\n {\n Array(8).fill('a').map((item, index) => {\n return <li key={index}></li>\n })\n }\n </ul>*/}\n <div className={\"h-bar\"}></div>\n <div className={\"h-bar\"}></div>\n <div className={\"v-bar\"}></div>\n <div className={\"v-bar\"}></div>\n <ul className=\"prizes\">\n {prizeData.prizes &&\n !!prizeData.prizes.length &&\n prizeData.prizes.map((item, index) => {\n return (\n <li\n key={index}\n className={classnames([\n {\n active: drawingItemId === item.id,\n available:\n index === 4 &&\n (user.hasError || prizeData.odd_times),\n unavailable:\n index === 4 &&\n !user.hasError &&\n (activityData.stage === 1 ||\n !prizeData.odd_times),\n },\n ])}\n onClick={this.draw.bind(this, index)}\n >\n {index !== 4 ? (\n <div className={\"prize\"}>\n <img src={item.img_name} alt=\"\" />\n </div>\n ) : activityData.stage === 1 ? (\n <div className={\"draw pre\"}>\n <div>7月15日开始</div>\n {prizeData.odd_times !== undefined && (\n <div>剩余{prizeData.odd_times || 0}次机会</div>\n )}\n </div>\n ) : user.hasError ? (\n <div\n className=\"draw\"\n style={{\n height: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <div>抽奖</div>\n </div>\n ) : (\n <div className={\"draw\"}>\n <div>抽奖</div>\n <div>剩余{prizeData.odd_times || 0}次机会</div>\n </div>\n )}\n </li>\n )\n })}\n </ul>\n </div>\n </div>\n <div className=\"content\">\n <div className={\"operations\"}>\n <a\n href=\"javascript:void(0);\"\n onClick={() => {\n if (user.hasError) {\n return history.push(\"/passport\")\n }\n this.setState({\n isShowUserAddress: true,\n })\n }}\n >\n 收货信息\n </a>\n <a\n href=\"javascript:void(0);\"\n onClick={() => {\n if (this.isGotoLogin()) {\n return\n }\n document.body.style.overflow = \"hidden\"\n this.getPrizeRecords()\n this.setState(\n {\n isShowPrizesRecords: true,\n },\n () => {\n this.records &&\n this.records.addEventListener(\n \"scroll\",\n this.handleRecordsScroll\n )\n }\n )\n }}\n >\n 中奖纪录\n </a>\n </div>\n <div className=\"lottery-info\">\n <div className={\"title\"}>\n <i></i>如何获取更多抽奖机会?\n </div>\n <ul className={\"rules\"}>\n {prizeData.more_rule &&\n prizeData.more_rule.split(\"\\n\").map((item, index) => {\n return (\n <li key={index}>\n <span className={\"index\"}>{index + 1}</span>\n {item}\n </li>\n )\n })}\n </ul>\n </div>\n </div>\n </section>\n <section id={\"group-answer\"} className={\"group-answer block\"}>\n <div\n className=\"block-title\"\n style={{\n background: `url(${titleImages[2]})`,\n backgroundSize: \"contain\",\n }}\n ></div>\n <div style={{ textAlign: \"center\", marginBottom: \"10px\" }}>\n <a\n className=\"rule-btn\"\n href=\"javascript:void(0);\"\n onClick={this.showRule.bind(this, this.answerRule)}\n >\n 规则\n </a>\n </div>\n <div className=\"content\">\n <div className=\"team\">\n <div className=\"func\">\n <i className={\"my-team-icon\"}></i>\n <div className=\"summary\">\n <span>\n 共<span className={\"count\"}>{team.people_num}</span>人\n </span>\n <span>\n 排名<span className={\"count\"}>{team.ranking}</span>\n </span>\n </div>\n <ul>\n {!!team.team_info &&\n team.team_info.length &&\n team.team_info.slice(0, 5).map((item, index) => {\n return (\n <li key={index}>\n {item.head_img ? (\n <img src={item.head_img} alt=\"\" />\n ) : (\n <img src={item.avatar_file} alt=\"\" />\n )}\n </li>\n )\n })}\n {activityData.stage !== 1 &&\n !!team.team_info &&\n team.team_info.length > 1 && (\n <li\n className={\"more\"}\n onClick={() => {\n this.getTeam()\n this.setState({\n isShowTeamMember: true,\n })\n }}\n >\n 更多\n </li>\n )}\n </ul>\n <div className=\"invite\">\n {activityData.stage === 1 ? (\n <button className={\"invite unavailable\"}>\n 7月15日开始\n </button>\n ) : (\n <Link\n to={\"/anniversary_2020/invitation\"}\n onClick={(e) => {\n if (user.hasError) {\n e.preventDefault()\n history.push(\"/passport\")\n } else {\n this.store.session.set(\"toInvitation\", \"1\")\n }\n }}\n >\n <button className={\"invite\"}>邀请好友加入队伍</button>\n </Link>\n )}\n </div>\n </div>\n <div className=\"des\">\n <div className=\"title\">组队答题抽奖</div>\n <ol>\n <li>\n 1. 邀请好友加入队伍,好友答对题你和好友均可增加抽奖机会;\n </li>\n <li>\n 2.\n 有3个队员答对题,你可+1次抽奖机会;6个队员答对题,你再+2次抽奖机会,超过6个队员答对题时,每+3人答对题都可+3次抽奖机会。\n </li>\n </ol>\n </div>\n </div>\n <div className=\"exercise\">\n <div className=\"func\">\n {activityData.stage === 1 ? (\n <div className=\"btn no-chance\">\n <button>7月15日开始</button>\n </div>\n ) : (\n <>\n {activityData.practice_num ? (\n <Link\n to={\"/anniversary_2020/question/1\"}\n onClick={(e) => {\n if (user.hasError) {\n e.preventDefault()\n history.push(\"/passport\")\n }\n }}\n >\n <div className=\"btn\">\n <button>\n <i></i>开始练习\n </button>\n </div>\n </Link>\n ) : (\n <div className=\"btn no-chance\">\n <button>\n <i></i>开始练习\n </button>\n </div>\n )}\n {!user.hasError && (\n <div className=\"chance\">\n 今日剩余<span>{activityData.practice_num}</span>次\n </div>\n )}\n </>\n )}\n </div>\n <div className=\"des\">\n <div className=\"title\">练一练</div>\n <ol>\n <li>1. 每日可练习 2 次 。每次 1 道题;</li>\n <li>2. 每答对1题可+1次抽奖机会。</li>\n </ol>\n </div>\n </div>\n <div className=\"rank-list\">\n <div className=\"title\">测试排行榜</div>\n <div className=\"description\">\n 仅展示前50名,队员越多、用时越短排名越靠前\n </div>\n <div className=\"prize-display\">\n <ul>\n <li className={\"top-three\"}>\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/m/top1.png\"\n alt=\"\"\n />\n </li>\n <li className={\"top-three\"}>\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/m/top2.png\"\n alt=\"\"\n />\n </li>\n <li className={\"top-three\"}>\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/m/top3.png\"\n alt=\"\"\n />\n </li>\n <li>\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/m/top4%EF%BD%9E7.png\"\n alt=\"\"\n />\n </li>\n <li>\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/m/top8%EF%BD%9E15.png\"\n alt=\"\"\n />\n </li>\n <li>\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/m/top16%EF%BD%9E30.png\"\n alt=\"\"\n />\n </li>\n <li>\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/m/top31%EF%BD%9E50.png\"\n alt=\"\"\n />\n </li>\n </ul>\n </div>\n {!!_rankList.length && prizeData.stage !== 1 && (\n <table>\n <thead>\n <tr>\n <th>名次</th>\n <th>队长</th>\n <th>队员</th>\n <th>奖品</th>\n </tr>\n </thead>\n <tbody>\n {_rankList.map((item, index) => {\n return (\n <tr key={index}>\n <td>\n {index < 3 ? (\n <img src={rankIcons[index]} alt=\"\" />\n ) : (\n index + 1\n )}\n </td>\n <td>\n <img\n src={item.avatar}\n alt=\"\"\n className={\"avatar\"}\n />\n {item.username}\n </td>\n <td>{item.member_num}</td>\n {item.prize_url ? (\n <td>\n <a href={item.prize_url}>{item.prize}</a>\n </td>\n ) : (\n <td>{item.prize}</td>\n )}\n </tr>\n )\n })}\n </tbody>\n </table>\n )}\n {!!_rankList.length &&\n _rankList.length === 10 &&\n !isShowAllRankList && (\n <div className=\"btn\">\n <button\n onClick={() => {\n this.setState({\n isShowAllRankList: true,\n })\n }}\n >\n 查看更多\n </button>\n </div>\n )}\n </div>\n </div>\n </section>\n <section id={\"audition\"} className={\"audition\"}>\n <div\n className=\"block-title\"\n style={{\n background: `url(${titleImages[3]}) no-repeat`,\n backgroundSize: \"contain\",\n }}\n ></div>\n <h4>\n <span>报名集训营/就业班有豪礼相送,不止AirPods,送完即止</span>\n </h4>\n <ul className=\"course-container\">\n {!!_auditions.length &&\n _auditions.map((item, index) => {\n return (\n <li\n className={\"course\"}\n key={index}\n onClick={(e) => {\n if (e.target.nodeName.toLowerCase() !== \"a\") {\n history.push(`/detail?id=${item.course_id}`)\n }\n }}\n >\n <div className=\"cover\">\n <img src={item.image_name} alt=\"\" />\n </div>\n <div className=\"info\">\n <div className=\"title\">{item.course_title}</div>\n <div className=\"des\">{item.simpledescription}</div>\n {item.is_buy ? (\n <div className=\"purchased\">已购买</div>\n ) : (\n <div className=\"prices\">\n <span>¥{item.price1}</span>\n <span>¥{item.price0}</span>\n </div>\n )}\n <div className=\"btn\">\n {item.is_buy ? (\n <button className={\"study-btn\"}>\n <Link to={`/detail?id=${item.course_id}`}>\n 开始学习\n </Link>\n </button>\n ) : (\n <button className=\"audition-btn\">\n <a href=\"https://q.url.cn/AB8aue?_type=wpa&qidian=true\">\n {item.words}\n </a>\n </button>\n )}\n {!!item.is_dist && (\n <button>\n <Link to={`/detail?id=${item.course_id}`}>\n 赚{item.dist_amount}元\n </Link>\n </button>\n )}\n </div>\n </div>\n </li>\n )\n })}\n {_auditions.length === 4 && auditions.length > 4 && (\n <li>\n <button\n className={\"show-more\"}\n onClick={() => {\n this.setState({\n auditionShowAll: true,\n })\n }}\n >\n 查看更多\n </button>\n </li>\n )}\n </ul>\n </section>\n <section id={\"stage-course\"} className={\"stage-course\"}>\n <div\n className=\"block-title\"\n style={{\n background: `url(${titleImages[4]}) no-repeat`,\n backgroundSize: \"contain\",\n }}\n ></div>\n <div className=\"course-container\">\n {!isEmpty(stageCourses) &&\n Object.keys(stageCourses).map((key) => {\n return (\n <ul key={key}>\n <li>\n <span className={\"stage\"}>{this.stages[key]}</span>\n </li>\n {!!stageCourses[key].length &&\n stageCourses[key].map((item, index) => {\n let Button = null\n if (item.type === 1) {\n Button = (\n <button className={\"study-btn\"}>\n <Link to={`/play?id=${item.v_course_id}`}>\n 开始学习\n </Link>\n </button>\n )\n } else {\n if (activityData.stage === 1) {\n Button = (\n <button className={\"unavailable\"}>\n 7月15日开始\n </button>\n )\n } else if (activityData.stage === 2) {\n switch (item.type) {\n case 0:\n Button = (\n <button>\n <Link to={`/detail?id=${item.course_id}`}>\n 立即抢购\n </Link>\n </button>\n )\n break\n case 1:\n Button = (\n <button className={\"study-btn\"}>\n <Link to={`/play?id=${item.v_course_id}`}>\n 开始学习\n </Link>\n </button>\n )\n break\n case 2:\n Button = (\n <button>\n <Link to={`/detail?id=${item.course_id}`}>\n 立即拼团\n </Link>\n </button>\n )\n break\n case 3:\n Button = (\n <button>\n <Link to={`/detail?id=${item.course_id}`}>\n 继续参团\n </Link>\n </button>\n )\n break\n case 4:\n Button = (\n <button>\n <Link to={`/detail?id=${item.course_id}`}>\n 继续砍价\n </Link>\n </button>\n )\n break\n case 5:\n Button = (\n <button>\n <Link to={`/detail?id=${item.course_id}`}>\n 我要砍价\n </Link>\n </button>\n )\n break\n }\n } else {\n Button = (\n <button className={\"unavailable\"}>\n 活动已结束\n </button>\n )\n }\n }\n return (\n <li\n className={\"course\"}\n key={index}\n onClick={(e) => {\n const nodeName = e.target.nodeName.toLowerCase()\n if (nodeName !== \"a\") {\n history.push(`/detail?id=${item.course_id}`)\n }\n }}\n >\n <div className=\"cover\">\n {!!item.save && <span>立省{item.save}元</span>}\n <img src={item.image_name} alt=\"\" />\n </div>\n <div className=\"info\">\n <div className=\"title\">{item.course_title}</div>\n <div className=\"des\">\n {item.simpledescription}\n </div>\n {item.type === 1 ? (\n <div className=\"purchased\">已购买</div>\n ) : (\n <div className=\"prices\">\n <span>¥{item.price1}</span>\n <span>¥{item.price0}</span>\n </div>\n )}\n <div className=\"btn\">\n {Button}\n {!!item.is_dist && (\n <button>赚{item.dist_amount}元</button>\n )}\n </div>\n </div>\n </li>\n )\n })}\n {stageCourses[key].length === 4 && (\n <li className={\"show-more-box\"}>\n <button\n className={\"show-more\"}\n onClick={() =>\n this.getStageCourses(this.stageParams[key - 1])\n }\n >\n 查看更多\n </button>\n </li>\n )}\n </ul>\n )\n })}\n </div>\n </section>\n {isShowUserAddress && (\n <div className=\"modal-cover\">\n <div className=\"modal recipient\">\n <h4 className=\"title\">收货信息</h4>\n <div className=\"tip\">\n 获奖用户(以最终榜单为准)请及时填写收货信息\n </div>\n <input\n type=\"text\"\n name={\"name\"}\n value={userAddress.name}\n placeholder={\"收件人\"}\n onChange={this.handleChange}\n />\n <input\n type=\"text\"\n name={\"phone\"}\n value={userAddress.phone}\n placeholder={\"联系方式\"}\n onChange={this.handleChange}\n />\n <input\n type=\"text\"\n name={\"address\"}\n value={userAddress.address}\n placeholder={\"收货地址\"}\n onChange={this.handleChange}\n />\n <button\n disabled={\n !userAddress.name ||\n !userAddress.phone ||\n !userAddress.address\n }\n onClick={this.submitUserAddress}\n >\n 提交\n </button>\n <i\n className={\"iconfont iconiconfront-2 close\"}\n onClick={() => {\n this.setState({\n isShowUserAddress: false,\n })\n }}\n ></i>\n </div>\n </div>\n )}\n {isShowPrizesRecords && (\n <div className={\"modal-cover prize-records\"}>\n <div className=\"modal\">\n <h4 className=\"title\">中奖纪录</h4>\n <div className=\"content\" ref={(el) => (this.records = el)}>\n <div className=\"rule\">\n 1. 现金红包自动发放到账户中,可前往 我的- 赚奖学金 中提现;\n <br />\n 2. 代金券碎片自动发放到账户中,可前往优惠券 - 碎片合成\n 中兑换代金券;\n <br />\n 3. 实物奖品请尽快填写收货信息,活动结束后统一邮寄。\n </div>\n <ul className={\"records\"}>\n {!!prizeRecords.length &&\n prizeRecords.map((item, index) => {\n return (\n <li key={index}>\n <div className=\"record\">\n <div className=\"name\">\n {item.prize_name}{\" \"}\n {(item.prize_type === 1 ||\n item.prize_type === 2) &&\n `${item.amount}元`}\n </div>\n <div className=\"time\">{item.create_time}</div>\n </div>\n {item.prize_type === 4 && (\n <div className=\"contact\">{item.prize_info}</div>\n )}\n </li>\n )\n })}\n </ul>\n <i\n className={\"iconfont iconiconfront-2 close\"}\n onClick={() => {\n this.records.removeEventListener(\n \"scroll\",\n this.handleRecordsScroll\n )\n document.body.style.overflow = \"auto\"\n this.hasMore = true\n this.setState({\n isShowPrizesRecords: false,\n prizeRecordsPagination: 0,\n prizeRecords: [],\n })\n }}\n ></i>\n </div>\n </div>\n </div>\n )}\n {isWinPrize && (\n <WinPrize\n name={drawResult.prize_name}\n info={drawResult.prize_info}\n close={() => {\n this.setState({\n isWinPrize: false,\n drawResult: {},\n isReLogin:\n (prizeType == 1 || prizeType == 3) && needMobile\n ? true\n : false,\n })\n }}\n ></WinPrize>\n )}\n {isReLogin && (\n <ReLogin\n reLogin={this.reLogin}\n close={() => {\n this.setState({\n isReLogin: false,\n })\n }}\n ></ReLogin>\n )}\n\n {isShowTeamMember && (\n <TeamMember\n members={team.team_info}\n uid={user.data.uid}\n close={() => {\n this.setState({\n isShowTeamMember: false,\n })\n }}\n ></TeamMember>\n )}\n {isShowFollow && (!istime || !isshowLive) && (\n <div className={\"modal-cover follow\"}>\n <div className=\"modal\">\n <div className=\"title\">进度提醒</div>\n <div className=\"tip\">关注服务号,好友加入队伍后第一时间提醒</div>\n <div className=\"qrcode\">\n <img src={qrcode} alt=\"\" />\n <div>微信扫描,关注“七月在线”</div>\n </div>\n <i\n className={\"iconfont iconiconfront-2 close\"}\n onClick={() => {\n this.setState({\n isShowFollow: false,\n })\n }}\n ></i>\n </div>\n </div>\n )}\n </div>\n )\n }\n}\n\nfunction WinPrize({ name, close, info }) {\n return (\n <div className={\"modal-cover\"}>\n <div className=\"modal win-prize\">\n <div className=\"title\">恭喜您</div>\n <div className=\"des\">\n 抽中了 <span className={\"name\"}>{name}</span>\n </div>\n <div className=\"contact\">{info}</div>\n <button onClick={close}>我知道了</button>\n </div>\n </div>\n )\n}\n\nfunction ReLogin({ close, reLogin }) {\n return (\n <div className={\"modal-cover\"}>\n <div className=\"modal re-login\">\n <div className=\"title\">温馨提示</div>\n <div className=\"des\">\n 为了您的账号安全,请尽快绑定手机号,以免影响奖品发放。\n </div>\n <div className=\"contact\">\n 点击下方\"重新登录”,\n <br />\n 选择\"微信授权登录\",按提示绑定即可。\n </div>\n <button onClick={reLogin}>重新登录</button>\n\n <i className={\"iconfont iconiconfront-2 close\"} onClick={close}></i>\n </div>\n </div>\n )\n}\n\nfunction TeamMember({ members, close, uid }) {\n const _members =\n Array.isArray(members) && members.filter((item) => item.uid != uid)\n const statusText = [\"回答错误\", \"回答正确\", \"未作答\"]\n const statusClass = [\"wrong\", \"correct\", \"unanswered\"]\n\n return (\n <div className={\"modal-cover members\"}>\n <div className=\"modal\">\n <div className=\"title\">我的队伍</div>\n <ul>\n {_members &&\n !!_members.length &&\n _members.map((item, index) => {\n return (\n <li key={item.uid}>\n <div>\n <img className={\"avatar\"} src={item.head_img} alt=\"\" />\n <span className={\"username\"}>{item.user_name}</span>\n </div>\n <span className={`status ${statusClass[item.is_correct]}`}>\n {statusText[item.is_correct]}\n </span>\n </li>\n )\n })}\n </ul>\n <i className={\"iconfont iconiconfront-2 close\"} onClick={close}></i>\n </div>\n </div>\n )\n}\n\nexport default connect(\n ({ user }) => ({ user }),\n (dispatch) => ({\n addData: (data) => dispatch(addData(data)),\n logout: (data) => dispatch(logout(data)),\n })\n)(Anniversary2020)\n","/* eslint-disable eqeqeq */\nimport React, { Component } from \"react\"\nimport \"./index.scss\"\nimport { Toast } from \"antd-mobile\"\nimport classnames from \"classnames\"\nimport { http } from \"src/utils\"\nimport { WithFullSize } from \"src/HOCs\"\nimport { Link } from \"react-router-dom\"\nimport { compose } from \"redux\"\nimport { connect } from \"react-redux\"\nimport {\n addData,\n ADD_RECOMMENDS,\n ADD_QUESTION,\n ADD_RESULT,\n REDO,\n} from \"./store/reducer\"\nimport storage from \"store2\"\n\nclass Question extends Component {\n store = storage.namespace(\"anniversary2020\")\n state = {\n question: {},\n result: {},\n recommends: [],\n selectedOptionId: 0,\n isShowConfirm: false,\n isResultConfirm: false,\n isTeamHead: this.props.match.params.isPractice == 1,\n isActivityEnd: false,\n is_correct: \"\",\n is_sign: \"\",\n }\n\n componentDidMount() {\n if (this.props.cache.recommends.length === 0) {\n this.getQuestion()\n }\n }\n\n getQuestion = () => {\n const isPractice = this.props.match.params.isPractice\n http\n .get(\n `${API.home}/activity/anniversary/get_question/${\n isPractice == 1 ? 1 : 2\n }`\n )\n .then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n this.props.addData({\n type: ADD_QUESTION,\n payload: data,\n })\n } else if (code === 25004) {\n const { history } = this.props\n let teamCode = this.store.session.get(\"team_code\")\n if (teamCode) {\n history.push(`/anniversary_2020/invitation?team_code=${teamCode}`)\n } else {\n history.push(`/anniversary_2020`)\n }\n } else {\n Toast.info(msg)\n }\n })\n }\n\n select = (id) => {\n this.setState({\n selectedOptionId: id,\n })\n }\n\n submit = () => {\n const isPractice = this.props.match.params.isPractice\n const { selectedOptionId } = this.state\n http\n .post(`${API.home}/activity/anniversary/submit`, {\n type: isPractice == 1 ? 1 : 2,\n option_id: selectedOptionId,\n id: this.props.cache.question.id,\n })\n .then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n this.getRecommends(data.type_id)\n this.afterSubmitted(data)\n this.setState({\n isShowConfirm: false,\n isResultConfirm: isPractice != 1,\n selectedOptionId: undefined,\n is_correct: data.is_correct,\n is_sign: data.is_sign,\n })\n this.props.addData({\n payload: data,\n type: ADD_RESULT,\n })\n } else {\n Toast.info(msg)\n }\n })\n }\n\n resultFun = (e) => {\n const { history } = this.props\n let notNeedSign = e.target.getAttribute(\"data-sign\") == 0\n console.log(notNeedSign)\n if (this.state.is_sign || notNeedSign) {\n history.push(\"/anniversary_2020#lottery\")\n } else {\n http.get(`${API.home}/activity/anniversary/sign`).then((res) => {\n const { code, msg } = res.data\n if (code === 200) {\n Toast.info(\"签到成功 抽奖次数+1\")\n history.push(\"/anniversary_2020\")\n } else {\n Toast.info(msg)\n }\n })\n }\n }\n\n afterSubmitted = (result) => {\n const { isTeamHead } = this.state\n\n if (isTeamHead) {\n if (result.stage === 4) {\n this.setState({\n isActivityEnd: true,\n })\n } else {\n result.is_correct\n ? Toast.info(\"回答正确 抽奖次数+1\")\n : Toast.info(\"很遗憾 回答错误\")\n }\n }\n }\n\n getRecommends = (typeId) => {\n http\n .post(`${API.home}/sys/get_commend_course`, {\n type_id: typeId,\n })\n .then((res) => {\n const { code, data } = res.data\n if (code === 200) {\n this.props.addData({\n payload: data,\n type: ADD_RECOMMENDS,\n })\n }\n })\n }\n\n getOptionLabel = (index) => {\n return index >= 0 ? String.fromCharCode(65 + index) : \"空\"\n }\n\n redo = () => {\n this.props.addData({\n type: REDO,\n })\n this.getQuestion()\n }\n\n render() {\n const {\n selectedOptionId,\n isShowConfirm,\n isActivityEnd,\n isResultConfirm,\n isTeamHead,\n } = this.state\n\n const {\n cache: { question, result, recommends },\n } = this.props\n\n return (\n <div id={\"question\"}>\n <div className=\"banner\"></div>\n <div className={\"question\"}>\n {question.ques && (\n <div\n className=\"topic\"\n dangerouslySetInnerHTML={{ __html: question.ques }}\n ></div>\n )}\n <ul>\n {question.options &&\n !!question.options.length &&\n question.options.map((item, index) => {\n return (\n <li\n key={item.id}\n className={classnames({\n selected: selectedOptionId === item.id,\n correct: result.right_id === item.id,\n wrong:\n !result.is_correct &&\n parseInt(result.option_id) === item.id,\n })}\n onClick={this.select.bind(this, item.id)}\n >\n <span>{this.getOptionLabel(index)}</span>\n {item.des}\n </li>\n )\n })}\n </ul>\n </div>\n {result.analysis && (\n <div className=\"answered\">\n <div className=\"analysis\">\n <div className=\"estimate\">\n 您选择的是\n {this.getOptionLabel(\n question.options.findIndex(\n (item) => item.id == result.option_id\n )\n )}\n ,正确答案是\n {this.getOptionLabel(\n question.options.findIndex(\n (item) => item.id === result.right_id\n )\n )}{\" \"}\n 回答{result.right_id == result.option_id ? \"正确\" : \"错误 \"}\n </div>\n <div className=\"analysis-content\">\n <div className=\"title\">\n <i className={\"icon\"}></i>\n 解析\n </div>\n <div\n className=\"content\"\n dangerouslySetInnerHTML={{ __html: result.analysis }}\n ></div>\n </div>\n </div>\n {!!recommends.length && (\n <Recommends recommends={recommends}></Recommends>\n )}\n </div>\n )}\n <div className=\"submit-bar\">\n <BottomButton\n result={result}\n resultFun={this.resultFun}\n isTeamHead={isTeamHead}\n isActivityEnd={isActivityEnd}\n submit={() => {\n this.setState({\n isShowConfirm: true,\n })\n }}\n redo={this.redo}\n />\n </div>\n {isShowConfirm && (\n <Confirm\n submit={this.submit}\n cancel={() => {\n this.setState({\n isShowConfirm: false,\n })\n }}\n ></Confirm>\n )}\n {isResultConfirm && (\n <ResultConfirm\n resultFun={this.resultFun}\n is_correct={this.state.is_correct}\n is_sign={this.state.is_sign}\n close={() => {\n this.setState({ isResultConfirm: false })\n }}\n ></ResultConfirm>\n )}\n </div>\n )\n }\n}\n\nfunction ResultConfirm({ resultFun, is_correct, is_sign, close }) {\n return (\n <div className=\"modal-cover\">\n <div className=\"modal\">\n {is_correct === 1 && <div className=\"title\">回答正确,抽奖次数+1</div>}\n {is_correct === 0 && (\n <div className=\"rusult-title\">\n 很遗憾,回答错误 <p>快去抽奖提提神吧</p>\n </div>\n )}\n\n <div className={\"btm-button\"}>\n <button onClick={resultFun} data-sign={(is_correct || is_sign) && 0}>\n {is_correct ? \"去抽奖\" : is_sign ? \"去抽奖\" : \"签到领取抽奖机会\"}\n </button>\n </div>\n <i className=\"close iconiconfront-2 iconfont\" onClick={close}></i>\n </div>\n </div>\n )\n}\n\nfunction Confirm({ submit, cancel }) {\n return (\n <div className=\"modal-cover\">\n <div className=\"modal\">\n <div className=\"title\">提交确认</div>\n <div className=\"btns\">\n <button onClick={cancel}>取消</button>\n <button onClick={submit}>确认提交</button>\n </div>\n </div>\n </div>\n )\n}\n\nfunction BottomButton({\n resultFun,\n result,\n submit,\n isTeamHead,\n redo,\n isActivityEnd,\n}) {\n if (result.stage === 4 || isActivityEnd) {\n return <button className={\"activity-end\"}>活动已结束</button>\n }\n if (isTeamHead) {\n if (result.analysis) {\n return result.practiceNum === 0 ? (\n <button className={\"lottery-related\"}>\n <Link to={`/anniversary_2020/invitation`}>组队答题抽奖</Link>\n </button>\n ) : (\n <button className={\"submit\"} onClick={redo}>\n 继续答题\n </button>\n )\n } else {\n return (\n <button className={\"submit\"} onClick={submit}>\n 提交\n </button>\n )\n }\n } else {\n if (result.analysis) {\n return !result.is_sign ? (\n <button className={\"lottery-related\"} onClick={resultFun}>\n 签到领取抽奖机会\n </button>\n ) : (\n <button className={\"submit\"} onClick={resultFun} data-sign={\"0\"}>\n 去抽奖\n </button>\n )\n }\n return (\n <button className={\"submit\"} onClick={submit}>\n 提交\n </button>\n )\n }\n}\n\nfunction Recommends({ recommends }) {\n return (\n <div className=\"recommends\">\n <div className=\"title\">相关课程</div>\n <ul>\n {recommends &&\n !!recommends.length &&\n recommends.map((item) => {\n return (\n <li key={item.course_id}>\n <Link to={`/detail?id=${item.course_id}`}>\n <img src={item.image_name} alt=\"\" />\n </Link>\n </li>\n )\n })}\n </ul>\n </div>\n )\n}\n\nexport default compose(\n WithFullSize,\n connect(\n ({ anniversary2020Question, user }) => ({\n cache: anniversary2020Question,\n user,\n }),\n (dispatch) => ({\n addData: (data) => dispatch(addData(data)),\n })\n )\n)(Question)\n","import React, { Component } from \"react\"\nimport \"./index.scss\"\nimport { connect } from \"react-redux\"\nimport { compose } from \"redux\"\nimport { HeaderBar } from \"src/common/index\"\nimport { getParam, http, browser, wxShare } from \"src/utils\"\nimport { Toast } from \"antd-mobile\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\nimport { Link } from \"react-router-dom\"\nimport storage from \"store2\"\nimport { CaptchaAli } from \"src/common/index\"\nimport { showCaptchaModal } from \"src/store/no-trace-validation/reducer\"\n\nclass Invitation extends Component {\n store = storage.namespace(\"anniversary2020\")\n state = {\n prizes: [],\n invitationInfo: {},\n inviteUid: getParam(\"invite_uid\"),\n isShowGuide: false,\n teamInfo: {},\n isTeamHead: true,\n isMaster: !getParam(\"team_code\"),\n isActivityEnd: false,\n instance: null,\n isShowCaptcha: false,\n }\n\n componentDidMount() {\n this.getPrizesInfo()\n if (getParam(\"team_code\")) {\n this.getTeamInfo()\n this.store.session.set(\"team_code\", getParam(\"team_code\"))\n } else {\n this.getInvitationInfo()\n }\n }\n\n getPrizesInfo = () => {\n http.get(`${API.home}/activity/anniversary/prizeInfo`).then((res) => {\n const { code, msg, data } = res.data\n data.splice(4, 0, {})\n if (code === 200) {\n this.setState({\n prizes: data,\n })\n } else {\n Toast.info(msg)\n }\n })\n }\n\n getInvitationInfo = () => {\n http\n .get(`${API.home}/activity/anniversary/invite`, {\n params: {\n invite_uid: this.state.inviteUid || 0,\n },\n })\n .then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n this.setState({\n invitationInfo: data,\n })\n } else {\n Toast.info(msg)\n }\n })\n }\n\n getTeamInfo = () => {\n http\n .get(`${API.home}/activity/anniversary/assist`, {\n params: {\n team_code: getParam(\"team_code\"),\n },\n })\n .then((res) => {\n const { code, msg, data } = res.data\n if (code === 200) {\n this.setState({\n teamInfo: data,\n isMaster: data.is_captain || !getParam(\"team_code\"),\n })\n if (data.is_captain) {\n this.getInvitationInfo()\n }\n } else {\n Toast.info(msg)\n }\n })\n .catch((err) => {\n Toast.fail(\"请求过于频繁,请稍后再试\")\n })\n }\n\n joinTeam = (data) => {\n const { user, history, noTraceValidation, showCaptchaModal } = this.props\n if (noTraceValidation.isNeedValidation) {\n !noTraceValidation.isShowCaptcha && showCaptchaModal()\n return\n }\n\n if (user.isFetching) {\n return\n }\n\n if (user.hasError) {\n if (browser.isWeixin) {\n window.location.href =\n \"https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx23dac6775ac82877&redirect_uri=\" +\n encodeURIComponent(window.location.href + \"&aa=bb\").toLowerCase() +\n \"&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect\"\n } else {\n history.push(\"/passport\")\n }\n return\n }\n\n if (this.state.teamInfo.is_check && !this.state.isShowCaptcha) {\n this.setState({\n isShowCaptcha: true,\n })\n return\n }\n\n let _data = { team_code: getParam(\"team_code\") }\n if (data.token && data.sig) {\n _data = { ..._data, ...data }\n }\n http\n .post(`${API.home}/activity/anniversary/joinTeam`, _data)\n .then((res) => {\n const { code, msg } = res.data\n if (code === 200) {\n Toast.info(\"加入成功\", 2, null, false)\n this.setState((state, props) => {\n return {\n teamInfo: {\n ...state.teamInfo,\n ...{ status: 2, is_check: false },\n },\n isShowCaptcha: false,\n }\n })\n } else if (code === 5002) {\n this.state.instance && this.state.instance.reset()\n } else if (code === 25015) {\n this.setState({\n isActivityEnd: true,\n })\n } else {\n Toast.info(msg)\n }\n })\n }\n\n setupWechatShare = () => {\n wxShare({\n title: \"答题抽华为P40 Pro+\",\n desc:\n \"这道题你会吗?答题抽奖,100%有奖的,能不能拿华为P40 Pro+,看你自己了--七月在线\",\n link: `${API.m}${window.location.pathname}?team_code=${\n this.state.invitationInfo.team_code || getParam(\"team_code\")\n }`,\n imgUrl:\n \"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/m/share-icon.png\",\n })\n this.setState({\n isShowGuide: true,\n })\n }\n\n // 答题抽奖\n drawQuestions = () => {\n const { history } = this.props\n history.push(`/anniversary_2020/question/${0}`)\n }\n\n render() {\n const {\n prizes,\n invitationInfo,\n isShowGuide,\n teamInfo,\n isMaster,\n isActivityEnd,\n isShowCaptcha,\n } = this.state\n const { location } = this.props\n\n return isShowCaptcha ? (\n <div className={\"captcha-container\"}>\n <div className={\"tip\"}>亲,系统正忙,滑动一下马上回来</div>\n <CaptchaAli\n getInstance={(instance) => {\n this.setState({\n instance,\n })\n }}\n onVerify={(data) => this.joinTeam(data)}\n />\n </div>\n ) : (\n <div id={\"invitation\"}>\n <HeaderBar\n title={\"答题抽奖\"}\n arrow={true}\n goBack={() => {\n this.props.history.push(\"/anniversary_2020\")\n }}\n />\n {isMaster ? (\n <div className=\"banner\"></div>\n ) : (\n <div className=\"team-head\">\n <img src={teamInfo.avatar_file} alt=\"\" />\n <div className=\"username\">{teamInfo.user_name}</div>\n <div>加入我的队伍,一起答题抽大奖</div>\n </div>\n )}\n\n <div className=\"prize-container\">\n <div className={\"h-bar\"}></div>\n <div className={\"h-bar\"}></div>\n <div className={\"v-bar\"}></div>\n <div className={\"v-bar\"}></div>\n <ul className=\"prizes\">\n {!!prizes.length &&\n prizes.map((item, index) => {\n return (\n <li key={index} className={index === 4 ? \"empty\" : \"\"}>\n {index === 4 ? (\n <div>答题抽奖</div>\n ) : (\n <div className={\"prize\"}>\n <img src={item.img_name} alt=\"\" />\n </div>\n )}\n </li>\n )\n })}\n </ul>\n </div>\n {isShowGuide && (\n <div\n className=\"guide\"\n onClick={() => {\n this.setState({\n isShowGuide: false,\n })\n }}\n >\n <i className={\"indicator\"}></i>\n <div className=\"tip\">点击右上角,分享给好友</div>\n </div>\n )}\n <div className=\"op\">\n {isMaster ? (\n <>\n <div className=\"tip\">\n 再有{invitationInfo.invite_num}位队员答对即可获得\n {invitationInfo.draw_chance}次抽奖机会\n </div>\n {browser.isWeixin ? (\n <button className={\"btn\"} onClick={this.setupWechatShare}>\n 立即邀请\n </button>\n ) : (\n <CopyToClipboard\n text={`${API.m}${location.pathname}?team_code=${\n invitationInfo.team_code || getParam(\"team_code\")\n }`}\n onCopy={() => {\n Toast.info(\"链接已复制,快去粘贴发给好友吧\")\n }}\n >\n <button className={\"btn\"}>立即邀请</button>\n </CopyToClipboard>\n )}\n </>\n ) : (\n <>\n {teamInfo.status !== 1 && (\n <div className={\"tip\"}>\n {teamInfo.status === 2\n ? \"已加入当前队伍\"\n : teamInfo.status === 3\n ? \"已加入其他队伍\"\n : null}\n </div>\n )}\n <BottomButton\n isActivityEnd={isActivityEnd}\n joinTeam={this.joinTeam}\n status={teamInfo.status}\n drawQuestions={this.drawQuestions}\n isAnswered={teamInfo.is_answer}\n />\n </>\n )}\n </div>\n </div>\n )\n }\n}\n\nfunction BottomButton({\n status,\n isActivityEnd,\n isAnswered,\n joinTeam,\n drawQuestions,\n}) {\n if (isActivityEnd) {\n return <button className={\"activity-end\"}>活动结束</button>\n }\n if (isAnswered) {\n return (\n <Link to={`/anniversary_2020#lottery`}>\n <button className={\"btn\"}>去抽奖</button>\n </Link>\n )\n }\n return status === 1 ? (\n <button className={\"btn\"} onClick={joinTeam}>\n 加入队伍\n </button>\n ) : (\n <button className={\"btn\"} onClick={drawQuestions}>\n 答题抽奖\n </button>\n )\n}\n\nexport default compose(\n connect(({ user, noTraceValidation }) => ({ user, noTraceValidation }), {\n showCaptchaModal,\n })\n)(Invitation)\n","import React, { Component } from \"react\"\nimport { Switch, Route } from \"react-router-dom\"\nimport Anniversary2020 from \"src/components/activity/2020-717/activity\"\nimport Question from \"src/components/activity/2020-717/question\"\nimport Invitation from \"src/components/activity/2020-717/invitation\"\n\nclass Anniversary2020Entry extends Component {\n componentDidMount() {\n document.title =\n \"7.17 五周年庆,AI好课1分起购,答题、购课100%有奖!华为P40 Pro+,课程免单等你来!--七月在线\"\n }\n\n render() {\n const match = this.props.match\n return (\n <Switch>\n <Route\n path={`${match.path}/question/:isPractice?`}\n render={(routeProps) => <Question {...routeProps}></Question>}\n ></Route>\n <Route\n path={`${match.path}/invitation`}\n render={(routeProps) => <Invitation {...routeProps} />}\n ></Route>\n <Route\n path={\"/anniversary_2020\"}\n render={(routeProps) => (\n <Anniversary2020 {...routeProps}></Anniversary2020>\n )}\n ></Route>\n </Switch>\n )\n }\n}\n\nexport default Anniversary2020Entry\n"],"sourceRoot":""}