{"version":3,"sources":["components/blessingPreheat/courseItem/index.js","components/activity/newyear-2019/common/commonContainer/index.js","components/activity/newyear-2019/common/commonPopup/index.js","components/activity/newyear-2019/common/prizes/index.js","components/activity/newyear-2019/common/user-bullet-screen/index.js","components/activity/newyear-2019/preheat/YearCourse/index.js"],"names":["CourseItem","_this$props","this","props","image","toCourse","id","react__WEBPACK_IMPORTED_MODULE_5___default","a","createElement","className","src","alt","onClick","children","Component","CommonContainer","Object","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__","call","title","React","Children","map","child","Fragment","index","_this","computedStyle","top","concat","width","closePopup","mark","style","e","stopPropagation","SystemBulletScreen","Loadable","__webpack_require__","then","bind","Prizes","closeIcon","state","prizes","notices","rule","unfoldList","getPrizes","http","get","API","home","res","_res$data","data","code","msg","setState","antd_mobile_lib_toast__WEBPACK_IMPORTED_MODULE_1___default","info","showRules","Popup","content","react__WEBPACK_IMPORTED_MODULE_7___default","dangerouslySetInnerHTML","__html","showMore","prev","bg","innerBox","prizeBox","headHeight","parseFloat","getComputedStyle","getPropertyValue","footerHeight","h","prizeList","scrollHeight","scrollListHeight","height","_this2","showSystemNotices","length","bullets","ref","el","href","item","key","img_name","backgroundImage","is_captain","mode","stage_no","grant_max","UserBulletScreen","bulletScreenData","initializeBulletScreen","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_5__","indexArray","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__","Array","slidesPerRequest","keys","removed","swiper","Swiper","direction","allowTouchMove","autoplay","on","transitionEnd","_this3","slides","removeSlide","start","activeIndex","stop","getBulletScreenData","appendSlide","getSlides","setTimeout","list","avatar_file","user_name","initializeSwiper","arguments","undefined","destroy","YearCourse","connect","user","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_3__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__","getLength","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7__","sum","fetchBigCourse","bigcourse","_res$data2","assign","isMore","course","courseList","fetchFreeCourse","freecourse","_res$data3","errno","course_info","filter","fetchGroupCourse","groupcourse","_res$data4","fetchAICourse","addshowMore","_res$data5","getList","_this2$state","basic","advanced","higher","expand","toQQque","getParam","SendMessageToApp","location","courseId","history","push","handleToMore","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_2__","toLogin","freeStudy","tofreeStudy","closePopupWish","isshowFollow","toJoinList","wish","getQRcodeUrl","uid","_res$data6","qrUrl","url","QRCode","toDataURL","err","followBarcode","addWishList","isLogin","hasError","isFollow","_res$data7","is_follow","post","course_id","_res$data8","success","saveImage","version","replace","slice","QRCodeUrl","parseInt","saveImage2","getTeamInfo","_res$data9","removable_data","removable","currentId","toBoxList","search","toYearWish","nextProps","nextState","nextContext","isAppUpdate","_this$state","react__WEBPACK_IMPORTED_MODULE_9___default","_common_commonContainer_index__WEBPACK_IMPORTED_MODULE_12__","_blessingPreheat_courseItem_index__WEBPACK_IMPORTED_MODULE_13__","image_name","is_buy","act_num","course_title","price1","is_join","type","price2","_common_commonPopup_index__WEBPACK_IMPORTED_MODULE_15__","browser","isAndroidApp","withRouter"],"mappings":"oQAGMA,2LACK,IAAAC,EACsBC,KAAKC,MAA1BC,EADDH,EACCG,MAAMC,EADPJ,EACOI,SAASC,EADhBL,EACgBK,GACvB,OACEC,EAAAC,EAAAC,cAAA,OAAKC,UAAU,oBACbH,EAAAC,EAAAC,cAAA,OAAKC,UAAU,iBACbH,EAAAC,EAAAC,cAAA,OAAKE,IAAKP,EAAOQ,IAAI,QAAQC,QAAS,kBAAMR,EAASC,OAEtDJ,KAAKC,MAAMW,iBARKC,cAcVf,+HCdMgB,uBACnB,SAAAA,EAAYb,GAAQ,OAAAc,OAAAC,EAAA,EAAAD,CAAAf,KAAAc,GAAAC,OAAAE,EAAA,EAAAF,CAAAf,KAAAe,OAAAG,EAAA,EAAAH,CAAAD,GAAAK,KAAAnB,KACZC,0EAEC,IACCG,EAAOJ,KAAKC,MAAZG,GACR,OACEC,EAAAC,EAAAC,cAAA,OAAKC,UAAU,mBAAmBJ,GAAIA,GACpCC,EAAAC,EAAAC,cAAA,OAAKC,UAAU,kBACfH,EAAAC,EAAAC,cAAA,OAAKC,UAAU,qBAEPR,KAAKC,MAAMmB,OACXf,EAAAC,EAAAC,cAAA,OAAKC,UAAU,mBACXH,EAAAC,EAAAC,cAAA,UACAF,EAAAC,EAAAC,cAAA,SAAIP,KAAKC,MAAMmB,OACff,EAAAC,EAAAC,cAAA,WAIRc,IAAMC,SAASC,IAAIvB,KAAKC,MAAMW,SAAU,SAAUY,GAChD,OAAOnB,EAAAC,EAAAC,cAAAF,EAAAC,EAAAmB,SAAA,KAAGD,MAIhBnB,EAAAC,EAAAC,cAAA,OAAKC,UAAU,6BAxBsBK,6JCAxBa,uBACnB,SAAAA,EAAYzB,GAAO,IAAA0B,EAAA,OAAAZ,OAAAC,EAAA,EAAAD,CAAAf,KAAA0B,IACjBC,EAAAZ,OAAAE,EAAA,EAAAF,CAAAf,KAAAe,OAAAG,EAAA,EAAAH,CAAAW,GAAAP,KAAAnB,KAAMC,KAER2B,cAAgB,WACd,MAAO,CACLC,IAAA,GAAAC,OAAUH,EAAK1B,MAAM4B,IAArB,MACAE,MAAA,GAAAD,OAAYH,EAAK1B,MAAM8B,MAAvB,QANeJ,EAWnBK,WAAa,WACRL,EAAK1B,MAAMgC,MACZN,EAAK1B,MAAM+B,cAbIL,wEAkBjB,OACEtB,EAAAC,EAAAC,cAAA,OAAKC,UAAU,mBAAmBG,QAASX,KAAKgC,YAC9C3B,EAAAC,EAAAC,cAAA,OAAKC,UAAU,qBAAqB0B,MAAOlC,KAAK4B,gBAAiBjB,QAAS,SAACwB,GAAOA,EAAEC,oBAClF/B,EAAAC,EAAAC,cAAA,OAAKC,UAAU,aAAaG,QAASX,KAAKC,MAAM+B,WAAYvB,IAAI,6EAA6EC,IAAI,KAE/IW,IAAMC,SAASC,IAAIvB,KAAKC,MAAMW,SAAU,SAAUY,GAChD,OAAOnB,EAAAC,EAAAC,cAAAF,EAAAC,EAAAmB,SAAA,KAAGD,cAzBWX,+JCM7BwB,EAAqBC,YAAS,kBAAMC,EAAAJ,EAAA,IAAAK,KAAAD,EAAAE,KAAA,cAEpCC,6MAMJC,UAAY,+EAEZC,MAAQ,CACNC,OAAQ,GACRC,QAAS,GACTC,KAAM,GACNC,YAAY,KAOdC,UAAY,WACVC,IAAKC,IAAL,GAAArB,OAAYsB,IAAIC,KAAhB,oBACGb,KAAK,SAAAc,GAAO,IAAAC,EACeD,EAAIE,KAAvBC,EADIF,EACJE,KAAMD,EADFD,EACEC,KAAME,EADRH,EACQG,IACP,KAARD,EAEF9B,EAAKgC,SAAS,CACZd,OAAQW,EAAI,WACZV,QAASU,EAAI,QACbT,KAAMS,EAAI,OAIZI,EAAAtD,EAAMuD,KAAKH,EAAK,EAAG,MAAM,QAMjCI,UAAY,WACVC,YAAM,CACJ3C,MAAO,yDACPZ,UAAW,yBACXwD,QAASC,EAAA3D,EAAAC,cAAA,OAAK2D,wBAAyB,CAACC,OAAQxC,EAAKiB,MAAMG,QAC3DJ,UAAWhB,EAAKgB,eAKpByB,SAAW,WACTzC,EAAKgC,SAAS,SAAAU,GACZ,GAAI1C,EAAKiB,MAAMI,WACbrB,EAAK2C,GAAGpC,MAAQP,EAAK4C,SAASrC,MAAQP,EAAK6C,SAAStC,MAAQ,OACvD,CACL,IAAIuC,EAAaC,WAAWC,iBAAiBhD,EAAK6C,SAAU,WAAWI,iBAAiB,WACtFC,EAAeH,WAAWC,iBAAiBhD,EAAK6C,SAAU,UAAUI,iBAAiB,WAGrFE,EAAInD,EAAKoD,UAAUC,aACnBC,EAAmBR,EAAaK,EAHf,OAGqCL,EAFpC,KAEqEI,EAAgBA,EAGzGlD,EAAK6C,SAAStC,MAAMgD,OAApB,GAAApD,OAAgCmD,EAFf,GAEjB,MACAtD,EAAK4C,SAASrC,MAAMgD,OAApB,GAAApD,OAAgCgD,EAAhC,MACAnD,EAAK2C,GAAGpC,MAAMgD,OAAd,GAAApD,OAA0BgD,EAAID,EARX,OAQ2CJ,EAJ7C,GAIjB,MAEF,MAAO,CAACzB,YAAaqB,EAAKrB,kGAjD5BhD,KAAKiD,6CAsDE,IAAAkC,EAAAnF,KAELoF,EACEpF,KAAKC,MADPmF,kBAEKtC,EAAW9C,KAAK4C,MAAhBE,QACP,OACEmB,EAAA3D,EAAAC,cAAA0D,EAAA3D,EAAAmB,SAAA,KACI2D,GAAqBtC,GAAWA,EAAQuC,OAAUpB,EAAA3D,EAAAC,cAAC8B,EAAD,CAAoBiD,QAASxC,IAAa,KAC9FmB,EAAA3D,EAAAC,cAAA,OAAKC,UAAW,aAAc+E,IAAK,SAAAC,GAAE,OAAIL,EAAKX,SAAWgB,IACvDvB,EAAA3D,EAAAC,cAAA,KAAGkF,KAAK,eAAejF,UAAU,WAAWG,QAASX,KAAK8D,WAA1D,+BACAG,EAAA3D,EAAAC,cAAA,OAAKC,UAAS,KAAQ+E,IAAK,SAAAC,GAAE,OAAIL,EAAKb,GAAKkB,KAC3CvB,EAAA3D,EAAAC,cAAA,OAAKC,UAAS,YAAe+E,IAAK,SAAAC,GAAE,OAAIL,EAAKZ,SAAWiB,IACtDvB,EAAA3D,EAAAC,cAAA,MAAIC,UAAU,aAAa+E,IAAK,SAAAC,GAAE,OAAIL,EAAKJ,UAAYS,IAEnDxF,KAAK4C,MAAMC,OAAOtB,IAAI,SAACmE,EAAMhE,GAC3B,OACEuC,EAAA3D,EAAAC,cAAA,MAAIoF,IAAKjE,GAELgE,EAAKE,SACD3B,EAAA3D,EAAAC,cAAA,KAAGC,UAAU,oBAAoB0B,MAAO,CACxC2D,gBAAe,OAAA/D,OAAS4D,EAAKE,SAAd,QAEf3B,EAAA3D,EAAAC,cAAA,KAAGC,UAAU,sBAIE,GAAnBkF,EAAKI,YAAmB7B,EAAA3D,EAAAC,cAAA,QAAMC,UAAU,mBAAhB,4BAGV,IAAdkF,EAAKK,MAAc9B,EAAA3D,EAAAC,cAAA,QAAMC,UAAU,iBAAhB,SAAkCkF,EAAKM,SAAvC,sBAGnBN,EAAKO,UAEHhC,EAAA3D,EAAAC,cAAA,OAAKC,UAAU,cACbyD,EAAA3D,EAAAC,cAAA,OAAKC,UAAU,gBAAeyD,EAAA3D,EAAAC,cAAA,QAAMC,UAAW,cAC/CyD,EAAA3D,EAAAC,cAAA,2BAASmF,EAAKO,UAAd,WAEAhC,EAAA3D,EAAAC,cAAA,QAAMC,UAAU,YAAhB,yBAMdyD,EAAA3D,EAAAC,cAAA,UACE0D,EAAA3D,EAAAC,cAAA,OAAKE,IAAI,kFAAkFC,IAAI,QAIrGuD,EAAA3D,EAAAC,cAAA,OAAKC,UAAU,YAAYG,QAASX,KAAKoE,UAErCpE,KAAK4C,MAAMI,WACPiB,EAAA3D,EAAAC,cAAA,0BAEA0D,EAAA3D,EAAAC,cAAA,OAAKE,IAAI,6EAA6EC,IAAI,MAE1FuD,EAAA3D,EAAAC,cAAA,kDAEA0D,EAAA3D,EAAAC,cAAA,OAAKE,IAAI,+EAA+EC,IAAI,gBAhIzFG,aA0IN6B,gIC/ITwD,6NAIJtD,MAAQ,CACNuD,iBAAkB,MAYpBC,uBAAyB,WACvB,IAAMzE,EAAKZ,OAAAsF,EAAA,EAAAtF,CAAAoE,GAELmB,EAAUvF,OAAAwF,EAAA,EAAAxF,CAAOyF,MAAMC,IAAsBC,QAC/CC,GAAU,EACdxB,EAAKyB,OAAS,IAAIC,IAAO,oBAAqB,CAC5CC,UAAW,WACXC,gBAAgB,EAChBC,UAAU,EACVC,GAAI,CACFC,cADE,WACc,IAAAC,EAAAnH,KACVA,KAAKoH,OAAO/B,OATG,KAUjBrF,KAAKqH,YAAY,GACjBrH,KAAKgH,SAASM,SAEZtH,KAAKuH,cAAgBvH,KAAKoH,OAAO/B,OAAS,GAAMsB,IAClD3G,KAAKgH,SAASQ,OACd7F,EAAM8F,sBAAsBjF,KAAK,SAAAc,GAC/BqD,GAAU,EACVQ,EAAKE,YAAYf,GACjBa,EAAKO,YAAY/F,EAAMgG,UAAUrE,IACjCsE,WAAW,WACTT,EAAKH,SAASM,QACdX,GAAU,cASxBgB,UAAY,SAAAE,GAAI,OAAIA,EAAKtG,IAAI,SAAAmE,GAC3B,6FAAA5D,OAEuC4D,EAAKoC,YAF5C,qCAAAhG,OAGoB4D,EAAKqC,UAHzB,KAAAjG,OAGsC4D,EAAKhC,IAH3C,mDAQF+D,oBAAsB,WAA8B,IAA7BO,EAA6BC,UAAA5C,OAAA,QAAA6C,IAAAD,UAAA,IAAAA,UAAA,GAClD,OAAO/E,IAAKC,IAAL,GAAArB,OAAYsB,IAAIC,KAAhB,sBACJb,KAAK,SAAAc,GAAO,IAAAC,EACUD,EAAIE,KAAlBA,EADID,EACJC,KACP,GAAY,KAFDD,EACEE,KACI,CACf,IAAIuE,EAOF,OAAOxE,EANP2B,EAAKxB,SAAS,CACZwC,iBAAkB3C,GACjB,WACD2B,EAAKiB,kHA1DfpG,KAAKyH,qBAAoB,kDAIzBzH,KAAK4G,QAAU5G,KAAK4G,OAAOuB,2CAgEpB,IACAhC,EAAoBnG,KAAK4C,MAAzBuD,iBACP,OACElC,EAAA3D,EAAAC,cAAA,OAAKH,GAAG,qBAAqBI,UAAU,oBACrCyD,EAAA3D,EAAAC,cAAA,MAAIC,UAAU,kBAEV2F,EAAiBd,QAAUc,EAAiB5E,IAAI,SAACmE,EAAMhE,GACrD,OACEuC,EAAA3D,EAAAC,cAAA,MAAIC,UAAU,eAAemF,IAAKjE,GAChCuC,EAAA3D,EAAAC,cAAA,OAAKE,IAAKiF,EAAI,YACThF,IAAI,GAAGF,UAAU,WACtByD,EAAA3D,EAAAC,cAAA,YAAOmF,EAAKqC,UAAZ,IAAwBrC,EAAKhC,iBAxFhB7C,cAmGhBqF,sNC1FTkC,EAJLC,YAAQ,SAAAzF,GAAK,MAAK,CACf0F,KAAM1F,EAAM0F,sBAIZ,SAAAF,EAAYnI,GAAO,IAAAkF,EAAA,OAAApE,OAAAwH,EAAA,EAAAxH,CAAAf,KAAAoI,IACfjD,EAAApE,OAAAyH,EAAA,EAAAzH,CAAAf,KAAAe,OAAA0H,EAAA,EAAA1H,CAAAqH,GAAAjH,KAAAnB,KAAMC,KA2FVyI,UAAY,WACR,IAAI/G,EAAKZ,OAAA4H,EAAA,EAAA5H,CAAAoE,GACTjC,IAAKC,IAAL,GAAArB,OAAYsB,IAAIC,KAAhB,uBAA0Cb,KAAK,SAAAc,GAAO,IAAAC,EAC7BD,EAAIE,KAAlBC,EAD2CF,EAC3CE,KAAMD,EADqCD,EACrCC,KACD,KAARC,GACA9B,EAAMgC,SAAS,CACXiF,IAAKpF,EAAKoF,SAlGPzD,EAwGnB0D,eAAiB,WAAM,IACZC,EAAa3D,EAAKvC,MAAlBkG,UACP5F,IAAKC,IAAL,GAAArB,OAAYsB,IAAIC,KAAhB,2BAA8Cb,KAAK,SAAAc,GAAO,IAAAyF,EACjCzF,EAAIE,KAAlBC,EAD+CsF,EAC/CtF,KAAMD,EADyCuF,EACzCvF,KACA,MAATC,GACA0B,EAAKxB,SAAS,CACVmF,UAAW/H,OAAOiI,OAAO,GAAIF,EAAW,CACpCG,QAAQ,EACRC,OAAQ1F,EACR2F,WAAY3F,SAjHb2B,EAuHnBiE,gBAAkB,WAAM,IACbC,EAAclE,EAAKvC,MAAnByG,WACPnG,IAAKC,IAAL,GAAArB,OAAYsB,IAAI,YAAhB,uBAAiDZ,KAAK,SAAAc,GAAO,IAAAgG,EACnChG,EAAIE,KAAnB+F,EADkDD,EAClDC,MAAO/F,EAD2C8F,EAC3C9F,KACA,MAAV+F,GACApE,EAAKxB,SAAS,CACV0F,WAAYtI,OAAOiI,OAAO,GAAIK,EAAY,CACtCJ,OAAQzF,EAAKgG,YAAYnE,OAAS,EAClC6D,OAAQ1F,EAAKgG,YAAYnE,OAAS,EAAI7B,EAAKgG,YAAYC,OAAO,SAAC/D,EAAMhE,GAAP,OAAiBA,EAAQ,IAAK8B,EAAKgG,YACjGL,WAAY3F,EAAKgG,mBAhIlBrE,EAsInBuE,iBAAmB,WAAM,IACdC,EAAexE,EAAKvC,MAApB+G,YACPzG,IAAKC,IAAL,GAAArB,OAAYsB,IAAIC,KAAhB,+BAAkDb,KAAK,SAAAc,GAAO,IAAAsG,EACrCtG,EAAIE,KAAlBC,EADmDmG,EACnDnG,KAAMD,EAD6CoG,EAC7CpG,KACA,MAATC,GACA0B,EAAKxB,SAAS,CACVgG,YAAa5I,OAAOiI,OAAO,GAAIW,EAAa,CACxCV,OAAQzF,EAAK6B,OAAS,EACtB6D,OAAQ1F,EAAK6B,OAAS,EAAI7B,EAAKiG,OAAO,SAAC/D,EAAMhE,GAAP,OAAiBA,EAAQ,IAAK8B,EACpE2F,WAAY3F,SA/Ib2B,EAsJnB0E,cAAgB,SAAClE,EAAKmE,GAClB5G,IAAKC,IAAL,GAAArB,OAAYsB,IAAIC,KAAhB,yBAAAvB,OAA4C6D,IAAOnD,KAAK,SAAAc,GAAO,IAAAyG,EACtCzG,EAAIE,KAAlBC,EADoDsG,EACpDtG,KAAMD,EAD8CuG,EAC9CvG,KACA,MAATC,GACA0B,EAAK6E,QAAQrE,EAAKnC,EAAMsG,MA1JjB3E,EA+JnB6E,QAAU,SAACrE,EAAKnC,EAAMsG,GAAgB,IAAAG,EACQ9E,EAAKvC,MAAxCsH,EAD2BD,EAC3BC,MAAOC,EADoBF,EACpBE,SAAUC,EADUH,EACVG,OAAQC,EADEJ,EACFI,OACpB,QAAR1E,GACAR,EAAKxB,SAAS,CACVuG,MAAOnJ,OAAOiI,OAAO,GAAIkB,EAAO,CAC5BjB,OAAQzF,EAAK6B,OAAS,IAAMyE,EAC5BZ,OAAQ1F,EAAK6B,OAAS,IAAMyE,EAActG,EAAKiG,OAAO,SAAC/D,EAAMhE,GAAP,OAAiBA,EAAQ,IAAK8B,EACpF2F,WAAY3F,EACZsG,YAAaA,MAIb,QAARnE,GACAR,EAAKxB,SAAS,CACVwG,SAAUpJ,OAAOiI,OAAO,GAAImB,EAAU,CAClClB,OAAQzF,EAAK6B,OAAS,IAAMyE,EAC5BZ,OAAQ1F,EAAK6B,OAAS,IAAMyE,EAActG,EAAKiG,OAAO,SAAC/D,EAAMhE,GAAP,OAAiBA,EAAQ,IAAK8B,EACpF2F,WAAY3F,EACZsG,YAAaA,MAIb,UAARnE,GACAR,EAAKxB,SAAS,CACVyG,OAAQrJ,OAAOiI,OAAO,GAAIoB,EAAQ,CAC9BnB,OAAQzF,EAAK6B,OAAS,IAAMyE,EAC5BZ,OAAQ1F,EAAK6B,OAAS,IAAMyE,EAActG,EAAKiG,OAAO,SAAC/D,EAAMhE,GAAP,OAAiBA,EAAQ,IAAK8B,EACpF2F,WAAY3F,EACZsG,YAAaA,MAIb,SAARnE,GACAR,EAAKxB,SAAS,CACV0G,OAAQtJ,OAAOiI,OAAO,GAAIqB,EAAQ,CAC9BpB,OAAQzF,EAAK6B,OAAS,IAAMyE,EAC5BZ,OAAQ1F,EAAK6B,OAAS,IAAMyE,EAActG,EAAKiG,OAAO,SAAC/D,EAAMhE,GAAP,OAAiBA,EAAQ,IAAK8B,EACpF2F,WAAY3F,EACZsG,YAAaA,OArMV3E,EA2MnBmF,QAAU,WACDC,YAAS,WAGVC,YAAiB,OAAQ,iDAFzBC,SAAShF,KAAO,iDA7MLN,EAoNnBhF,SAAW,SAACuK,GAAa,IACdC,EAAWxF,EAAKlF,MAAhB0K,QACFJ,YAAS,WAGVC,YAAiB,WAAYE,GAF7BC,EAAQC,KAAR,cAAA9I,OAA2B4I,KAvNhBvF,EA4NnB0F,aAAe,SAAClF,GACZ,IAAInC,EAAO,GACP2B,EAAKvC,MAAM+C,GAAX,QACAnC,EAAKmC,GAAO,CACRsD,QAAS9D,EAAKvC,MAAM+C,GAAX,OACTuD,OAAQ/D,EAAKvC,MAAM+C,GAAX,WACRwD,WAAYhE,EAAKvC,MAAM+C,GAAX,WACZmE,aAAc3E,EAAKvC,MAAM+C,GAAX,aAElBR,EAAKxB,SAAL5C,OAAA+J,EAAA,EAAA/J,CAAA,GACOyC,MAGPA,EAAKmC,GAAO,CACRsD,QAAS9D,EAAKvC,MAAM+C,GAAX,OACTuD,OAAQ/D,EAAKvC,MAAM+C,GAAX,WAA8B8D,OAAO,SAAC/D,EAAMhE,GAAP,OAAiBA,EAAQ,IACtEyH,WAAYhE,EAAKvC,MAAM+C,GAAX,WACZmE,aAAc3E,EAAKvC,MAAM+C,GAAX,aAGlBR,EAAKxB,SAAL5C,OAAA+J,EAAA,EAAA/J,CAAA,GACOyC,MAjPI2B,EAuPnB4F,QAAU,WACDR,YAAS,WAGVC,YAAiB,WAFjBrF,EAAKlF,MAAM0K,QAAQC,KAAK,oBAzPbzF,EAgQnB6F,UAAY,WACR7F,EAAKxB,SAAS,CACVsH,aAAa,KAlQF9F,EAsQnBnD,WAAa,WACTmD,EAAKxB,SAAS,CACVsH,aAAa,KAxQF9F,EA4QnB+F,eAAiB,WACb,IAAMvJ,EAAKZ,OAAA4H,EAAA,EAAA5H,CAAAoE,GACXxD,EAAMgC,SAAS,CACXwH,cAAc,IAGlBvD,WAAW,WACPjG,EAAMyJ,WAAWzJ,EAAMiB,MAAMyI,KAAKjL,GAAIuB,EAAMiB,MAAMyI,KAAK1F,MACxD,MApRYR,EAuRnBmG,aAAe,WACX,IAAI3J,EAAKZ,OAAA4H,EAAA,EAAA5H,CAAAoE,GACTjC,IAAKC,IAAL,GAAArB,OAAYsB,IAAI,YAAhB,8BAAAtB,OAAwDH,EAAM1B,MAAMqI,KAAK9E,KAAK+H,MACzE/I,KAAK,SAAAc,GAAO,IAAAkI,EACkBlI,EAAIE,KAAxB+F,EADEiC,EACFjC,MAAO/F,EADLgI,EACKhI,KAAME,EADX8H,EACW9H,IACP,GAAT6F,GACApE,EAAKxB,SAAS,CACV8H,MAAMjI,EAAKkI,MAEfC,IAAOC,UAAUpI,EAAKkI,IAAK,SAACG,EAAKH,GAC7BvG,EAAKxB,SAAS,CACVmI,cAAeJ,OAIvB9H,EAAAtD,EAAMuD,KAAKH,EAAK,MAtSbyB,EA4SnB4G,YAAc,SAAC3L,EAAIuF,GACf,IAAMhE,EAAKZ,OAAA4H,EAAA,EAAA5H,CAAAoE,GACL6G,GAAW7G,EAAKlF,MAAMqI,KAAK2D,SACjCtK,EAAMgC,SAAS,CACX0H,KAAM,CACFjL,GAAIA,EACJuF,IAAKA,KAITqG,EACArK,EAAMuK,SAAS9L,EAAIuF,GAEnBhE,EAAMoJ,WAzTK5F,EA6TnB+G,SAAW,SAAC9L,EAAIuF,GACZ,IAAMhE,EAAKZ,OAAA4H,EAAA,EAAA5H,CAAAoE,GACXjC,IAAKC,IAAL,GAAArB,OAAYsB,IAAIC,KAAhB,6BAAgDb,KAAK,SAAAc,GAAO,IAAA6I,EAC9B7I,EAAIE,KAAvBC,EADiD0I,EACjD1I,KAAMD,EAD2C2I,EAC3C3I,KAAME,EADqCyI,EACrCzI,IACN,MAATD,GACA9B,EAAMgC,SAAS,CACXwH,cAAe3H,EAAK4I,YAGnBzK,EAAMiB,MAAMuI,aAGbxJ,EAAM2J,eAFN3J,EAAMyJ,WAAWhL,EAAIuF,IAKzB/B,EAAAtD,EAAMuD,KAAKH,EAAK,MA5UTyB,EAiVnBiG,WAAa,SAAChL,EAAIuF,GACd,IAAMhE,EAAKZ,OAAA4H,EAAA,EAAA5H,CAAAoE,GACXjC,IAAKmJ,KAAL,GAAAvK,OAAasB,IAAIC,KAAjB,uBAA4C,CAACiJ,UAAWlM,IACnDoC,KAAK,SAAAc,GAAO,IAAAiJ,EACWjJ,EAAIE,KAAjBC,EADE8I,EACF9I,KAAMC,EADJ6I,EACI7I,IACD,KAARD,GACAG,EAAAtD,EAAMkM,QAAQ,mDAAY,GAC1B7K,EAAM+G,YACM,MAAR/C,GACAhE,EAAMkI,cAAc,MAAOlI,EAAMiB,MAAMsH,MAAMJ,aAErC,MAARnE,GACAhE,EAAMkI,cAAc,MAAOlI,EAAMiB,MAAMuH,SAASL,aAExC,MAARnE,GACAhE,EAAMkI,cAAc,QAASlI,EAAMiB,MAAMwH,OAAON,aAExC,MAARnE,GACAhE,EAAMkI,cAAc,OAAQlI,EAAMiB,MAAMyH,OAAOP,aAEvC,UAARnE,GACAhE,EAAM+H,oBAGV9F,EAAAtD,EAAMuD,KAAKH,EAAK,MAzWbyB,EA+WnBsH,UAAY,WACR,IAAIC,EAAUnC,YAAS,WACvBmC,EAA6B,kBAAZA,EAAuBA,EAAQC,QAAQ,IAAK,IAAIA,QAAQ,IAAK,IAAIC,MAAM,EAAG,GAAK,GAChG,IAAMC,EAAY1H,EAAKvC,MAAM6I,MACzBiB,GAAWI,SAASJ,GAAW,IAC/B9I,EAAAtD,EAAMuD,KAAK,kKAAiC,EAAG,MAAM,GAErD2G,YAAiB,iBAAkBqC,IAtXxB1H,EAyXnB4H,WAAa,WACT,IAAIL,EAAUnC,YAAS,YACvBmC,EAA6B,kBAAZA,EAAuBA,EAAQC,QAAQ,IAAK,IAAIA,QAAQ,IAAK,IAAIC,MAAM,EAAG,GAAK,KAEjFE,SAASJ,GAAW,IAC/B9I,EAAAtD,EAAMuD,KAAK,kKAAiC,EAAG,MAAM,GAErD2G,YAAiB,YAJH,iFA5XHrF,EAqYnB6H,YAAc,WACV9J,IAAKC,IAAL,GAAArB,OAAYsB,IAAIC,KAAhB,2BAA8Cb,KAAK,SAAAc,GAAO,IAAA2J,EAC5B3J,EAAIE,KAAvBC,EAD+CwJ,EAC/CxJ,KAAMD,EADyCyJ,EACzCzJ,KAAME,EADmCuJ,EACnCvJ,IACnB,GAAa,MAATD,EAAc,KACPI,EAAwBL,EAAxBK,KAAMqJ,EAAkB1J,EAAlB0J,eACb/H,EAAKxB,SAAS,CACVwJ,UAAWtJ,EAAKsJ,UAChBC,UAAWvJ,EAAKsJ,UAAY,EAAID,EAAe,GAAG9M,GAAK,YAG3DwD,EAAAtD,EAAMuD,KAAKH,MA/YJyB,EAqZnBkI,UAAY,WACR,IAAMrB,GAAW7G,EAAKlF,MAAMqI,KAAK2D,SAC1BmB,EAAajI,EAAKvC,MAAlBwK,UACHE,EAAS,GACTF,IACAE,EAAM,OAAAxL,OAAUsL,IAEhBpB,EACKzB,YAAS,WAGVpF,EAAKlF,MAAM0K,QAAQC,KAAnB,qBAAA9I,OAA6CwL,EAA7C,aAAAxL,OAA+DyI,YAAS,aAFxEpF,EAAKlF,MAAM0K,QAAQC,KAAnB,qBAAA9I,OAA6CwL,IAKjDnI,EAAK4F,WAnaM5F,EAuanBoI,WAAa,YACQpI,EAAKlF,MAAMqI,KAAK2D,SAExB1B,YAAS,WAGVpF,EAAKlF,MAAM0K,QAAQC,KAAnB,0BAAA9I,OAAkDyI,YAAS,aAF3DpF,EAAKlF,MAAM0K,QAAQC,KAAK,kBAM5BzF,EAAK4F,WA/aT5F,EAAKvC,MAAQ,CACTqI,aAAa,EACbf,MAAO,CACHhB,OAAQ,GACRC,WAAY,GACZF,QAAQ,EACRa,aAAa,GAEjBK,SAAU,CACNjB,OAAQ,GACRC,WAAY,GACZF,QAAQ,EACRa,aAAa,GAEjBM,OAAQ,CACJlB,OAAQ,GACRC,WAAY,GACZF,QAAQ,EACRa,aAAa,GAEjBO,OAAQ,CACJnB,OAAQ,GACRC,WAAY,GACZF,QAAQ,EACRa,aAAa,GAEjBhB,UAAW,CACPI,OAAQ,GACRC,WAAY,GACZF,QAAQ,GAEZI,WAAY,CACRH,OAAQ,GACRC,WAAY,GACZF,QAAQ,GAEZU,YAAa,CACTT,OAAQ,GACRC,WAAY,GACZF,QAAQ,GAEZkC,cAAc,EACdE,KAAM,CACFjL,GAAI,GACJuF,IAAK,IAETmG,cAAe,GACfL,MAAM,GACN7C,IAAI,GACJuE,UAAU,GACVC,UAAU,IApDCjI,mFAyDfnF,KAAKgN,cACLhN,KAAK0I,YACL1I,KAAK6I,iBACL7I,KAAKoJ,kBACLpJ,KAAK0J,mBAEL1J,KAAK6J,cAAc,OAAO,GAE1B7J,KAAK6J,cAAc,OAAO,GAE1B7J,KAAK6J,cAAc,SAAS,GAE5B7J,KAAK6J,cAAc,QAAQ,iDAGT2D,EAAWC,EAAWC,GACxC,OAAI1N,KAAKC,MAAM0N,cAAgBH,EAAUG,cACrC3N,KAAKgN,cACLhN,KAAK0I,YACL1I,KAAK6I,iBACL7I,KAAKoJ,kBACLpJ,KAAK0J,mBAEL1J,KAAK6J,cAAc,OAEnB7J,KAAK6J,cAAc,OAEnB7J,KAAK6J,cAAc,SAEnB7J,KAAK6J,cAAc,SACZ,oCA+VN,IAAA1C,EAAAnH,KAAA4N,EACuF5N,KAAK4C,MAA1FkG,EADF8E,EACE9E,UAAWO,EADbuE,EACavE,WAAYM,EADzBiE,EACyBjE,YAAaO,EADtC0D,EACsC1D,MAAOC,EAD7CyD,EAC6CzD,SAAUC,EADvDwD,EACuDxD,OAAQC,EAD/DuD,EAC+DvD,OAAO8C,EADtES,EACsET,UAAUvE,EADhFgF,EACgFhF,IAErF,OACIiF,EAAAvN,EAAAC,cAAA,OAAKC,UAAW,qBAEZqN,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,aACXqN,EAAAvN,EAAAC,cAAA,QAAMI,QAASX,KAAKqN,UAAW7M,UAAU,mBAAzC,2BAGQ2M,EAAY,GACZU,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,qBAAqB2M,IAG1CU,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKoG,cAAc/M,UAAU,mBAA/C,qBAGQoI,EAAM,GACNiF,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,qBAAqBoI,KAK9CiF,EAAAvN,EAAAC,cAACuN,EAAA,EAAD,CAAiB1M,MAAM,2BAAOhB,GAAG,eAC7ByN,EAAAvN,EAAAC,cAAA,WAESuI,EAAUI,QAAUJ,EAAUI,OAAO7D,OAAS,GAC/CwI,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,wBAEPsI,EAAUI,OAAO3H,IAAI,SAAAmE,GAAI,OACrBmI,EAAAvN,EAAAC,cAACwN,EAAA,EAAD,CAAY7N,MAAOwF,EAAKsI,WAAYrI,IAAKD,EAAK4G,UAAWlM,GAAIsF,EAAK4G,UACtDnM,SAAUgH,EAAKhH,UACvB0N,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,yBAEQ,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKhH,SAASuF,EAAK4G,YAAY9L,UAAU,gBAA3D,4BAGe,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKmD,WACpB9J,UAAU,kBADb,oCAmBxCqN,EAAAvN,EAAAC,cAACuN,EAAA,EAAD,CAAiB1M,MAAM,6CAAUhB,GAAG,aAChCyN,EAAAvN,EAAAC,cAAA,WAES8I,EAAWH,QAAUG,EAAWH,OAAO7D,OAAS,GACjDwI,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,yBAEP6I,EAAWH,OAAO3H,IAAI,SAAAmE,GAAI,OACtBmI,EAAAvN,EAAAC,cAACwN,EAAA,EAAD,CAAY7N,MAAOwF,EAAKsI,WAAYrI,IAAKD,EAAK4G,UAAWlM,GAAIsF,EAAK4G,UACtDnM,SAAUgH,EAAKhH,UACvB0N,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,yBAEQ,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKhH,SAASuF,EAAK4G,YAAY9L,UAAU,gBAA3D,4BAGe,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAK6D,aACpBxK,UAAU,kBADb,kCAIJqN,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,mBAAb,qBAAkCqN,EAAAvN,EAAAC,cAAA,YAAOmF,EAAKwI,SAA9C,2BAQf7E,EAAWF,YAAcE,EAAWF,WAAW9D,OAAS,GACzDwI,EAAAvN,EAAAC,cAAA,UAAQC,UAAU,cAAcG,QAAS,kBAAMwG,EAAK0D,aAAa,gBAC5DxB,EAAWJ,OAAS,2BAAS,mBAOtD4E,EAAAvN,EAAAC,cAACuN,EAAA,EAAD,CAAiB1M,MAAM,8CAAWhB,GAAG,cACjCyN,EAAAvN,EAAAC,cAAA,WAESoJ,EAAYT,QAAUS,EAAYT,OAAO7D,OAAS,GACnDwI,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,0BAEPmJ,EAAYT,OAAO3H,IAAI,SAAAmE,GAAI,OACvBmI,EAAAvN,EAAAC,cAACwN,EAAA,EAAD,CAAY7N,MAAOwF,EAAKsI,WAAYrI,IAAKD,EAAK4G,UAAWlM,GAAIsF,EAAK4G,UACtDnM,SAAUgH,EAAKhH,UACvB0N,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,aAAf,yBACAqN,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,yBAEQ,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,KAAGC,UAAW,gCAAiCkF,EAAKyI,cACpDN,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKhH,SAASuF,EAAK4G,YAClC9L,UAAU,gBADb,6BAKW,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,QACXqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,sBACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,iCAEJqN,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,SAAf,OACIqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,aAAhB,QACAqN,EAAAvN,EAAAC,cAAA,QACIC,UAAU,aADd,qBAC6BqN,EAAAvN,EAAAC,cAAA,gBAAKmF,EAAK0I,UAG3CP,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,UACXqN,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKhH,SAASuF,EAAK4G,YAClC9L,UAAU,qBADb,4BAGoB,GAAhBkF,EAAK2I,SACLR,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,uBAAsBqN,EAAAvN,EAAAC,cAAA,OAC/BE,IAAI,+EACJC,IAAI,KAFR,kCAKgB,GAAhBgF,EAAK2I,SACLR,EAAAvN,EAAAC,cAAA,KACII,QAAS,kBAAMwG,EAAK4E,YAAYrG,EAAK4G,UAAW,UAChD9L,UAAU,+BACVqN,EAAAvN,EAAAC,cAAA,OACIE,IAAI,6EACJC,IAAI,KALZ,yCAkB/BiJ,EAAYR,YAAcQ,EAAYR,WAAW9D,OAAS,GAC3DwI,EAAAvN,EAAAC,cAAA,UAAQC,UAAU,cAAcG,QAAS,kBAAMwG,EAAK0D,aAAa,iBAC5DlB,EAAYV,OAAS,2BAAS,mBAOvD4E,EAAAvN,EAAAC,cAACuN,EAAA,EAAD,CAAiB1M,MAAM,yDAAYhB,GAAG,iBAClCyN,EAAAvN,EAAAC,cAAA,WACIsN,EAAAvN,EAAAC,cAAA,MAAIC,UAAU,uBAAd,gBAEK0J,EAAMhB,QAAUgB,EAAMhB,OAAO7D,OAAS,GACvCwI,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,0BAEP0J,EAAMhB,OAAO3H,IAAI,SAAAmE,GAAI,OACjBmI,EAAAvN,EAAAC,cAACwN,EAAA,EAAD,CAAY7N,MAAOwF,EAAKsI,WAAYrI,IAAKD,EAAK4G,UAAWlM,GAAIsF,EAAK4G,UACtDnM,SAAUgH,EAAKhH,UACvB0N,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,yBAEQ,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,KAAGC,UAAW,gCAAiCkF,EAAKyI,cACpDN,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKhH,SAASuF,EAAK4G,YAClC9L,UAAU,gBADb,6BAKW,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,QAEM,GAAbkF,EAAK4I,MACLT,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,sBACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,sBAIS,GAAbkF,EAAK4I,MACLT,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,sBACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,sBAIS,GAAbkF,EAAK4I,MACLT,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,kCACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,uBAKZqN,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,SACG,GAAbkF,EAAK4I,KAAY,gCAAW,OAC7BT,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,aAAakF,EAAK6I,QAClCV,EAAAvN,EAAAC,cAAA,QACIC,UAAU,aACK,GAAbkF,EAAK4I,KAAY,GAAK,qBACxBT,EAAAvN,EAAAC,cAAA,gBAAKmF,EAAK0I,UAGlBP,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,UACXqN,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKhH,SAASuF,EAAK4G,YAClC9L,UAAU,qBADb,4BAGoB,GAAhBkF,EAAK2I,SACLR,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,uBAAsBqN,EAAAvN,EAAAC,cAAA,OAC/BE,IAAI,+EACJC,IAAI,KAFR,kCAKgB,GAAhBgF,EAAK2I,SACLR,EAAAvN,EAAAC,cAAA,KACII,QAAS,kBAAMwG,EAAK4E,YAAYrG,EAAK4G,UAAW,MAChD9L,UAAU,+BACVqN,EAAAvN,EAAAC,cAAA,OACIE,IAAI,6EACJC,IAAI,KALZ,yCAkB/BwJ,EAAMf,YAAce,EAAMf,WAAW9D,OAAS,GAC/CwI,EAAAvN,EAAAC,cAAA,UAAQC,UAAU,cAAcG,QAAS,kBAAMwG,EAAK0D,aAAa,WAC5DX,EAAMjB,OAAS,2BAAS,iBAMzC4E,EAAAvN,EAAAC,cAAA,MAAIC,UAAU,uBAAd,gBAEK2J,EAASjB,QAAUiB,EAASjB,OAAO7D,OAAS,GAC7CwI,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,0BAEP2J,EAASjB,OAAO3H,IAAI,SAAAmE,GAAI,OACpBmI,EAAAvN,EAAAC,cAACwN,EAAA,EAAD,CAAY7N,MAAOwF,EAAKsI,WAAYrI,IAAKD,EAAK4G,UAAWlM,GAAIsF,EAAK4G,UACtDnM,SAAUgH,EAAKhH,UACvB0N,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,yBAEQ,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,KAAGC,UAAW,gCAAiCkF,EAAKyI,cACpDN,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKhH,SAASuF,EAAK4G,YAClC9L,UAAU,gBADb,6BAKW,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,QAEM,GAAbkF,EAAK4I,MACLT,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,sBACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,sBAIS,GAAbkF,EAAK4I,MACLT,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,sBACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,sBAIS,GAAbkF,EAAK4I,MACLT,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,kCACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,uBAKZqN,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,SACG,GAAbkF,EAAK4I,KAAY,gCAAW,OAC7BT,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,aAAakF,EAAK6I,QAClCV,EAAAvN,EAAAC,cAAA,QACIC,UAAU,aACK,GAAbkF,EAAK4I,KAAY,GAAK,qBACxBT,EAAAvN,EAAAC,cAAA,gBAAKmF,EAAK0I,UAGlBP,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,UACXqN,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKhH,SAASuF,EAAK4G,YAClC9L,UAAU,qBADb,4BAGoB,GAAhBkF,EAAK2I,SACLR,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,uBAAsBqN,EAAAvN,EAAAC,cAAA,OAC/BE,IAAI,+EACJC,IAAI,KAFR,kCAKgB,GAAhBgF,EAAK2I,SACLR,EAAAvN,EAAAC,cAAA,KACII,QAAS,kBAAMwG,EAAK4E,YAAYrG,EAAK4G,UAAW,MAChD9L,UAAU,+BACVqN,EAAAvN,EAAAC,cAAA,OACIE,IAAI,6EACJC,IAAI,KALZ,yCAkB/ByJ,EAAShB,YAAcgB,EAAShB,WAAW9D,OAAS,GACrDwI,EAAAvN,EAAAC,cAAA,UAAQC,UAAU,cAAcG,QAAS,kBAAMwG,EAAK0D,aAAa,cAC5DV,EAASlB,OAAS,2BAAS,iBAM5C4E,EAAAvN,EAAAC,cAAA,MAAIC,UAAU,uBAAd,gBAEK4J,EAAOlB,QAAUkB,EAAOlB,OAAO7D,OAAS,GACzCwI,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,0BAEP4J,EAAOlB,OAAO3H,IAAI,SAAAmE,GAAI,OAClBmI,EAAAvN,EAAAC,cAACwN,EAAA,EAAD,CAAY7N,MAAOwF,EAAKsI,WAAYrI,IAAKD,EAAK4G,UAAWlM,GAAIsF,EAAK4G,UACtDnM,SAAUgH,EAAKhH,UACvB0N,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,yBAEQ,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,KAAGC,UAAW,gCAAiCkF,EAAKyI,cACpDN,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKhH,SAASuF,EAAK4G,YAClC9L,UAAU,gBADb,6BAKW,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,QAEM,GAAbkF,EAAK4I,MACLT,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,sBACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,sBAIS,GAAbkF,EAAK4I,MACLT,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,sBACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,sBAIS,GAAbkF,EAAK4I,MACLT,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,kCACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,uBAKZqN,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,SACG,GAAbkF,EAAK4I,KAAY,gCAAW,OAC7BT,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,aAAakF,EAAK6I,QAClCV,EAAAvN,EAAAC,cAAA,QACIC,UAAU,aACK,GAAbkF,EAAK4I,KAAY,GAAK,qBACxBT,EAAAvN,EAAAC,cAAA,gBAAKmF,EAAK0I,UAGlBP,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,UACXqN,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKhH,SAASuF,EAAK4G,YAClC9L,UAAU,qBADb,4BAGoB,GAAhBkF,EAAK2I,SACLR,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,uBAAsBqN,EAAAvN,EAAAC,cAAA,OAC/BE,IAAI,+EACJC,IAAI,KAFR,kCAKgB,GAAhBgF,EAAK2I,SACLR,EAAAvN,EAAAC,cAAA,KACII,QAAS,kBAAMwG,EAAK4E,YAAYrG,EAAK4G,UAAW,MAChD9L,UAAU,+BACVqN,EAAAvN,EAAAC,cAAA,OACIE,IAAI,6EACJC,IAAI,KALZ,yCAkB/B0J,EAAOjB,YAAciB,EAAOjB,WAAW9D,OAAS,GACjDwI,EAAAvN,EAAAC,cAAA,UAAQC,UAAU,cAAcG,QAAS,kBAAMwG,EAAK0D,aAAa,YAC5DT,EAAOnB,OAAS,2BAAS,iBAM1C4E,EAAAvN,EAAAC,cAAA,MAAIC,UAAU,uBAAd,gBAEK6J,EAAOnB,QAAUmB,EAAOnB,OAAO7D,OAAS,GACzCwI,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,0BAEP6J,EAAOnB,OAAO3H,IAAI,SAAAmE,GAAI,OAClBmI,EAAAvN,EAAAC,cAACwN,EAAA,EAAD,CAAY7N,MAAOwF,EAAKsI,WAAYrI,IAAKD,EAAK4G,UAAWlM,GAAIsF,EAAK4G,UACtDnM,SAAUgH,EAAKhH,UACvB0N,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,yBAEQ,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,KAAGC,UAAW,gCAAiCkF,EAAKyI,cACpDN,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKhH,SAASuF,EAAK4G,YAClC9L,UAAU,gBADb,6BAKW,GAAfkF,EAAKuI,QACLJ,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,QAEM,GAAbkF,EAAK4I,MACLT,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,sBACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,sBAIS,GAAbkF,EAAK4I,MACLT,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,sBACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,sBAIS,GAAbkF,EAAK4I,MACLT,EAAAvN,EAAAC,cAAAsN,EAAAvN,EAAAmB,SAAA,KACIoM,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,OAAhB,kCACAqN,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,QAAhB,uBAKZqN,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,SACG,GAAbkF,EAAK4I,KAAY,gCAAW,OAC7BT,EAAAvN,EAAAC,cAAA,QAAMC,UAAU,aAAakF,EAAK6I,QAClCV,EAAAvN,EAAAC,cAAA,QACIC,UAAU,aACK,GAAbkF,EAAK4I,KAAY,GAAK,qBACxBT,EAAAvN,EAAAC,cAAA,gBAAKmF,EAAK0I,UAGlBP,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,UACXqN,EAAAvN,EAAAC,cAAA,KAAGI,QAAS,kBAAMwG,EAAKhH,SAASuF,EAAK4G,YAClC9L,UAAU,qBADb,4BAGoB,GAAhBkF,EAAK2I,SACLR,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,uBAAsBqN,EAAAvN,EAAAC,cAAA,OAC/BE,IAAI,+EACJC,IAAI,KAFR,kCAKgB,GAAhBgF,EAAK2I,SACLR,EAAAvN,EAAAC,cAAA,KACII,QAAS,kBAAMwG,EAAK4E,YAAYrG,EAAK4G,UAAW,MAChD9L,UAAU,+BACVqN,EAAAvN,EAAAC,cAAA,OACIE,IAAI,6EACJC,IAAI,KALZ,yCAkB/B2J,EAAOlB,YAAckB,EAAOlB,WAAW9D,OAAS,GACjDwI,EAAAvN,EAAAC,cAAA,UAAQC,UAAU,cAAcG,QAAS,kBAAMwG,EAAK0D,aAAa,YAC5DR,EAAOpB,OAAS,2BAAS,mBAS9CjJ,KAAK4C,MAAMqI,aACX4C,EAAAvN,EAAAC,cAACiO,EAAA,EAAD,CAAa3M,IAAK,IAAKG,WAAYhC,KAAKgC,WAAYC,MAAM,GACtD4L,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,uBACXqN,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,cAAb,4BACAqN,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,YAAb,6CAA+BqN,EAAAvN,EAAAC,cAAA,eAA/B,wCACAsN,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,eAAeJ,GAAI,eAC7BK,IAAI,yEAAyEC,IAAI,KAElF+N,IAAQC,aACJb,EAAAvN,EAAAC,cAAA,UAAQC,UAAW,aAAcG,QAASX,KAAK+M,YAA/C,kCACAc,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,YAAb,8GAMhBR,KAAK4C,MAAMuI,cACX0C,EAAAvN,EAAAC,cAACiO,EAAA,EAAD,CAAa3M,IAAK,IAAKG,WAAYhC,KAAKkL,eAAgBjJ,MAAM,GAC1D4L,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,uBACXqN,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,cAAb,4BACAqN,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,YAAb,gHACAqN,EAAAvN,EAAAC,cAAA,OAAKC,UAAU,eAAeJ,GAAI,eAC7BK,IAAKT,KAAK4C,MAAMkJ,cAAepL,IAAI,KAEpC+N,IAAQC,aACJb,EAAAvN,EAAAC,cAAA,UAAQC,UAAW,aAAcG,QAASX,KAAKyM,WAA/C,kCACAoB,EAAAvN,EAAAC,cAAA,KAAGC,UAAU,YAAb,sHA1+BXK,iBAo/BV8N,gBAAWvG","file":"mrstatic/js/2.60d01427.chunk.js","sourcesContent":["import React, { Component } from 'react';\nimport './index.scss';\n\nclass CourseItem extends Component {\n render() {\n const { image,toCourse,id} = this.props;\n return (\n <div className=\"course-container\">\n <div className=\"course__cover\">\n <img src={image} alt=\"cover\" onClick={() => toCourse(id)}/>\n </div>\n {this.props.children}\n </div>\n );\n }\n}\n\nexport default CourseItem;","import React, { Component } from 'react'\nimport './index.scss'\n\nexport default class CommonContainer extends Component {\n constructor(props) {\n super(props)\n }\n render() {\n const { id } = this.props;\n return (\n <div className='common_container' id={id}>\n <div className='container_top'></div>\n <div className='container_content'>\n {\n this.props.title &&\n <div className='title_container'>\n <i></i>\n <p>{this.props.title}</p>\n <i></i>\n </div>\n }\n {\n React.Children.map(this.props.children, function (child) {\n return <>{child}</>;\n })\n }\n </div>\n <div className='container_bottom'></div>\n </div>\n )\n }\n}\n","import React, { Component } from 'react';\nimport './index.scss';\n\nexport default class index extends Component {\n constructor(props) {\n super(props);\n }\n computedStyle = () => {\n return {\n 'top': `${this.props.top}px`,\n 'width': `${this.props.width}px`\n }\n }\n\n // 控制点击空白处是否关闭弹窗 需要传递一个boolean属性 mark\n closePopup = () => {\n if(this.props.mark) {\n this.props.closePopup();\n }\n }\n\n render() {\n return (\n <div className='popup__container' onClick={this.closePopup}>\n <div className='content__container' style={this.computedStyle()} onClick={(e) => {e.stopPropagation()}}>\n <img className=\"close__btn\" onClick={this.props.closePopup} src='https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/close-btn.png' alt=\"\" />\n {\n React.Children.map(this.props.children, function (child) {\n return <>{child}</>;\n })\n }\n </div>\n </div>\n )\n }\n}\n","import React, { Component } from 'react'\nimport { http } from \"@/utils\"\nimport './prizes.scss'\nimport { Popup } from \"@common/index\"\nimport { Toast } from \"antd-mobile\"\n\n\nimport Loadable from '@loadable/component'\n\nconst SystemBulletScreen = Loadable(() => import(/* webpackChunkName: 'system-notices' */'@components/activity/newyear-2019/common/system-bullet-screen'))\n\nclass Prizes extends Component {\n\n prizeBox\n prizeList\n bg\n innerBox\n closeIcon = 'https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/close-btn.png'\n\n state = {\n prizes: [],\n notices: [],\n rule: [],\n unfoldList: false,\n }\n\n componentDidMount() {\n this.getPrizes()\n }\n\n getPrizes = () => {\n http.get(`${API.home}/sys/prize_data`)\n .then(res => {\n const {code, data, msg} = res.data\n if (code == 200) {\n\n this.setState({\n prizes: data['prize_data'],\n notices: data['notices'],\n rule: data['rule']\n })\n\n } else {\n Toast.info(msg, 2, null, false)\n }\n })\n }\n\n\n showRules = () => {\n Popup({\n title: '组队开宝箱活动规则',\n className: 'landing-treasure-rules',\n content: <div dangerouslySetInnerHTML={{__html: this.state.rule}}/>,\n closeIcon: this.closeIcon\n })\n }\n\n\n showMore = () => {\n this.setState(prev => {\n if (this.state.unfoldList) {\n this.bg.style = this.innerBox.style = this.prizeBox.style = ''\n } else {\n let headHeight = parseFloat(getComputedStyle(this.prizeBox, ':before').getPropertyValue('height')),\n footerHeight = parseFloat(getComputedStyle(this.prizeBox, ':after').getPropertyValue('height')),\n innerOffsetTop = 0.12458,\n footerOffsetTop = 0.595,\n h = this.prizeList.scrollHeight,\n scrollListHeight = headHeight + h - (innerOffsetTop * headHeight) - (footerOffsetTop * footerHeight) + footerHeight,\n bottomOffset = 27\n\n this.prizeBox.style.height = `${scrollListHeight + bottomOffset}px`\n this.innerBox.style.height = `${h}px`\n this.bg.style.height = `${h - footerHeight + innerOffsetTop * headHeight + bottomOffset}px`\n }\n return {unfoldList: !prev.unfoldList}\n })\n\n }\n\n render() {\n const {\n showSystemNotices\n } = this.props\n const {notices} = this.state\n return (\n <>\n {(showSystemNotices && notices && notices.length) ? <SystemBulletScreen bullets={notices}/> : null}\n <div className={'prizes-box'} ref={el => this.prizeBox = el}>\n <a href=\"javascript:;\" className='rule-btn' onClick={this.showRules}>活动规则 > </a>\n <div className={`bg`} ref={el => this.bg = el}/>\n <div className={`inner-box`} ref={el => this.innerBox = el}>\n <ul className='prize-list' ref={el => this.prizeList = el}>\n {\n this.state.prizes.map((item, index) => {\n return (\n <li key={index}>\n {\n item.img_name\n ? <i className=\"prize-list__image\" style={{\n backgroundImage: `url(${item.img_name})`\n }}/>\n : <i className=\"prize-list__image\"/>\n }\n {/* <img src={item.img_name} alt=\"\"/> */}\n {\n item.is_captain != 0 && <span className='captain top-tag'>队长专属</span>\n }\n {\n item.mode === 2 && <span className='stage top-tag'>第{item.stage_no}个必中</span>\n }\n {\n item.grant_max\n ?\n <div className='bottom-bar'>\n <div className=\"progress-bar\"><span className={'progress'}/></div>\n <span>限量{item.grant_max}份</span>\n </div>\n : <span className='no-limit'>不限量</span>\n }\n </li>\n )\n })\n }\n <li>\n <img src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/prize-placeholder.png\" alt=\"\"/>\n </li>\n </ul>\n </div>\n <div className=\"show-more\" onClick={this.showMore}>\n {\n this.state.unfoldList\n ? <div>\n 收起\n <img src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/fold-icon.png\" alt=\"\"/>\n </div>\n : <div>\n 查看全部奖品\n <img src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/unfold-icon.png\" alt=\"\"/>\n </div>\n }\n </div>\n </div>\n </>\n )\n }\n}\n\nexport default Prizes\n","import React, { Component } from 'react'\nimport { http } from \"@/utils\"\nimport Swiper from 'swiper'\nimport 'swiper/dist/css/swiper.min.css'\nimport './bullet-screen.scss'\n\nclass UserBulletScreen extends Component {\n\n swiper\n\n state = {\n bulletScreenData: []\n }\n\n componentDidMount() {\n this.getBulletScreenData(true)\n }\n\n componentWillUnmount() {\n this.swiper && this.swiper.destroy()\n }\n\n\n initializeBulletScreen = () => {\n const _this = this\n const slidesPerRequest = 20\n const indexArray = [...Array(slidesPerRequest - 1).keys()]\n let removed = false\n this.swiper = new Swiper('.swiper-container', {\n direction: 'vertical',\n allowTouchMove: false,\n autoplay: true,\n on: {\n transitionEnd() {\n if (this.slides.length > slidesPerRequest) {\n this.removeSlide(0)\n this.autoplay.start()\n }\n if (this.activeIndex === this.slides.length - 1 && !removed) {\n this.autoplay.stop()\n _this.getBulletScreenData().then(res => {\n removed = true\n this.removeSlide(indexArray)\n this.appendSlide(_this.getSlides(res))\n setTimeout(() => {\n this.autoplay.start()\n removed = false\n })\n })\n }\n }\n }\n })\n }\n\n getSlides = list => list.map(item => {\n return `\n <li class=\"swiper-slide\">\n <img class=\"avatar\" src=\"${item.avatar_file}\" alt=\"\">\n <span>${item.user_name} ${item.msg}</span>\n </li>\n `\n })\n\n getBulletScreenData = (initializeSwiper = false) => {\n return http.get(`${API.home}/sys/barrage_data`)\n .then(res => {\n const {data, code} = res.data\n if (code == 200) {\n if (initializeSwiper) {\n this.setState({\n bulletScreenData: data\n }, () => {\n this.initializeBulletScreen()\n })\n } else {\n return data\n }\n }\n })\n }\n\n\n render() {\n const {bulletScreenData} = this.state\n return (\n <div id=\"user-bullet-screen\" className='swiper-container'>\n <ul className='swiper-wrapper'>\n {\n bulletScreenData.length && bulletScreenData.map((item, index) => {\n return (\n <li className='swiper-slide' key={index}>\n <img src={item['avatar_file']}\n alt=\"\" className=\"avatar\"/>\n <span>{item.user_name} {item.msg}</span>\n </li>\n )\n })\n }\n </ul>\n </div>\n )\n }\n}\n\nexport default UserBulletScreen\n","import React, {Component} from 'react'\nimport './index.scss'\nimport {http, SendMessageToApp, getParam, browser} from '@/utils'\nimport CommonContainer from './../../common/commonContainer/index'\nimport CourseItem from '../../../../blessingPreheat/courseItem/index'\nimport {withRouter} from \"react-router-dom\"\nimport CommonPopup from './../../common/commonPopup/index'\nimport {Toast} from 'antd-mobile'\nimport QRCode from 'qrcode'\nimport {connect} from \"react-redux\"\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 fetchGroupCourse = () => {\n const {groupcourse} = this.state\n http.get(`${API.home}/activity/excellent_course`).then(res => {\n const {code, data} = res.data\n if (code === 200) {\n this.setState({\n groupcourse: Object.assign({}, groupcourse, {\n isMore: data.length > 4 ? true : false,\n course: data.length > 4 ? data.filter((item, index) => index < 4) : data,\n courseList: data,\n })\n })\n }\n })\n }\n\n fetchAICourse = (key, addshowMore) => {\n http.get(`${API.home}/activity/four_stage/${key}`).then(res => {\n const {code, data} = res.data\n if (code === 200) {\n this.getList(key, data, addshowMore)\n }\n })\n }\n\n getList = (key, data, addshowMore) => {\n const {basic, advanced, higher, expand} = this.state\n if (key === 'one') {\n this.setState({\n basic: Object.assign({}, basic, {\n isMore: data.length > 4 && !addshowMore ? true : false,\n course: data.length > 4 && !addshowMore ? data.filter((item, index) => index < 4) : data,\n courseList: data,\n addshowMore: addshowMore,\n })\n })\n }\n if (key === 'two') {\n this.setState({\n advanced: Object.assign({}, advanced, {\n isMore: data.length > 4 && !addshowMore ? true : false,\n course: data.length > 4 && !addshowMore ? data.filter((item, index) => index < 4) : data,\n courseList: data,\n addshowMore: addshowMore,\n })\n })\n }\n if (key === 'three') {\n this.setState({\n higher: Object.assign({}, higher, {\n isMore: data.length > 4 && !addshowMore ? true : false,\n course: data.length > 4 && !addshowMore ? data.filter((item, index) => index < 4) : data,\n courseList: data,\n addshowMore: addshowMore,\n })\n })\n }\n if (key === 'four') {\n this.setState({\n expand: Object.assign({}, expand, {\n isMore: data.length > 4 && !addshowMore ? true : false,\n course: data.length > 4 && !addshowMore ? data.filter((item, index) => index < 4) : data,\n courseList: data,\n addshowMore: addshowMore,\n })\n })\n }\n }\n\n toQQque = () => {\n if (!getParam('version')) {\n location.href = 'https://q.url.cn/AB8aue?_type=wpa&qidian=true'\n } else {\n SendMessageToApp(\"toQQ\", 'https://q.url.cn/AB8aue?_type=wpa&qidian=true')\n }\n }\n\n // 去课程详情页\n toCourse = (courseId) => {\n const {history} = this.props\n if (!getParam('version')) {\n history.push(`/detail?id=${courseId}`)\n } else {\n SendMessageToApp(\"toCourse\", courseId)\n }\n }\n handleToMore = (key) => {\n let data = {}\n if (this.state[key]['isMore']) {\n data[key] = {\n isMore: !this.state[key]['isMore'],\n course: this.state[key]['courseList'],\n courseList: this.state[key]['courseList'],\n addshowMore: !this.state[key]['addshowMore']\n }\n this.setState({\n ...data\n })\n } else {\n data[key] = {\n isMore: !this.state[key]['isMore'],\n course: this.state[key]['courseList'].filter((item, index) => index < 4),\n courseList: this.state[key]['courseList'],\n addshowMore: !this.state[key]['addshowMore']\n }\n\n this.setState({\n ...data\n })\n }\n }\n\n // 去登录\n toLogin = () => {\n if (!getParam('version')) {\n this.props.history.push('/passport/login')\n } else {\n SendMessageToApp(\"toLogin\")\n }\n }\n\n // 免费学习\n freeStudy = () => {\n this.setState({\n tofreeStudy: true,\n })\n }\n // 关闭弹框\n closePopup = () => {\n this.setState({\n tofreeStudy: false,\n })\n }\n\n closePopupWish = () => {\n const _this = this\n _this.setState({\n isshowFollow: false\n })\n\n setTimeout(function () {\n _this.toJoinList(_this.state.wish.id, _this.state.wish.key)\n }, 200)\n }\n\n getQRcodeUrl = () => {\n let _this = this\n http.get(`${API['base-api']}/wx/user_temporary_qrcode/${_this.props.user.data.uid}`)\n .then(res => {\n const {errno, data, msg} = res.data\n 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 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 render() {\n const {bigcourse, freecourse, groupcourse, basic, advanced, higher, expand,removable,sum} = this.state\n\n return (\n <div className={'year-index-course'}>\n {/*浮框*/}\n <div className='nav-right'>\n <span onClick={this.toBoxList} className='nav-right__link'>\n 未开宝箱\n {\n removable > 0 &&\n <i className=\"nav-right__number\">{removable}</i>\n }\n </span>\n <a onClick={() => this.toYearWish()} className='nav-right__link'>\n 心愿单\n {\n sum > 0 &&\n <i className=\"nav-right__number\">{sum}</i>\n }\n </a>\n </div>\n\n <CommonContainer title='重磅好课' id='year-course'>\n <div>\n {\n (bigcourse.course && bigcourse.course.length > 0) &&\n <>\n <div className='bigcourse course-box'>\n {\n bigcourse.course.map(item => (\n <CourseItem image={item.image_name} key={item.course_id} id={item.course_id}\n toCourse={this.toCourse}>\n <div className=\"coupon-course__footer\">\n {\n item.is_buy == 1 &&\n <a onClick={() => this.toCourse(item.course_id)} className=\"btn to-study\">开始学习</a>\n }\n {\n item.is_buy == 0 &&\n <a onClick={() => this.toQQque()}\n className=\"btn big-course\">免费试听</a>\n }\n\n </div>\n </CourseItem>\n ))\n }\n </div>\n {/*{*/}\n {/*(bigcourse.courseList && bigcourse.courseList.length > 4) &&*/}\n {/*<button className=\"more-button\" onClick={() => this.handleToMore('bigcourse')}>*/}\n {/*{bigcourse.isMore ? '查看更多' : '收起'}*/}\n {/*</button>*/}\n {/*}*/}\n </>\n }\n </div>\n </CommonContainer>\n <CommonContainer title='人气好课免费学' id='year-free'>\n <div>\n {\n (freecourse.course && freecourse.course.length > 0) &&\n <>\n <div className='freecourse course-box'>\n {\n freecourse.course.map(item => (\n <CourseItem image={item.image_name} key={item.course_id} id={item.course_id}\n toCourse={this.toCourse}>\n <div className=\"coupon-course__footer\">\n {\n item.is_buy == 1 &&\n <a onClick={() => this.toCourse(item.course_id)} className=\"btn to-study\">开始学习</a>\n }\n {\n item.is_buy == 0 &&\n <a onClick={() => this.freeStudy()}\n className=\"btn free-study\">点击免费学</a>\n }\n\n <p className=\"free-course-num\">已送出<span>{item.act_num}</span>个课程</p>\n\n </div>\n </CourseItem>\n ))\n }\n </div>\n {\n (freecourse.courseList && freecourse.courseList.length > 4) &&\n <button className=\"more-button\" onClick={() => this.handleToMore('freecourse')}>\n {freecourse.isMore ? '查看更多' : '收起'}\n </button>\n }\n </>\n }\n </div>\n </CommonContainer>\n <CommonContainer title='精品好课1分开抢' id='year-group'>\n <div>\n {\n (groupcourse.course && groupcourse.course.length > 0) &&\n <>\n <div className='groupcourse course-box'>\n {\n groupcourse.course.map(item => (\n <CourseItem image={item.image_name} key={item.course_id} id={item.course_id}\n toCourse={this.toCourse}>\n <div className=\"group-num\">限量300个</div>\n <div className=\"coupon-course__footer\">\n {\n item.is_buy == 1 &&\n <>\n <p className={'course-title text-overflow-1'}>{item.course_title}</p>\n <a onClick={() => this.toCourse(item.course_id)}\n className=\"btn to-study\">开始学习</a>\n </>\n }\n {\n item.is_buy == 0 &&\n <>\n <div className=\"type\">\n <span className=\"tag\">拼团价</span>\n <span className=\"time\">12月23日开团</span>\n </div>\n <div className=\"price\">¥\n <span className=\"new-price\">0.01</span>\n <span\n className=\"old-price\">现价:<s>¥{item.price1}</s></span>\n </div>\n\n <div className=\"status\">\n <a onClick={() => this.toCourse(item.course_id)}\n className=\"status-btn to-buy\">直接购买</a>\n {\n item.is_join == 1 &&\n <a className=\"status-btn add-wish\"><img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n alt=\"\"/>已加心愿单</a>\n }\n {\n item.is_join == 0 &&\n <a\n onClick={() => this.addWishList(item.course_id, 'group')}\n className=\"status-btn add-wish-success\">\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n alt=\"\"/>加入心愿单\n </a>\n }\n </div>\n </>\n }\n\n </div>\n </CourseItem>\n ))\n }\n </div>\n {\n (groupcourse.courseList && groupcourse.courseList.length > 4) &&\n <button className=\"more-button\" onClick={() => this.handleToMore('groupcourse')}>\n {groupcourse.isMore ? '查看更多' : '收起'}\n </button>\n }\n </>\n }\n </div>\n </CommonContainer>\n <CommonContainer title='好课价到,等你抄底' id='year-discount'>\n <div>\n <h4 className=\"ai-course__subtitle\">基础</h4>\n {\n (basic.course && basic.course.length > 0) &&\n <>\n <div className='groupcourse course-box'>\n {\n basic.course.map(item => (\n <CourseItem image={item.image_name} key={item.course_id} id={item.course_id}\n toCourse={this.toCourse}>\n <div className=\"coupon-course__footer\">\n {\n item.is_buy == 1 &&\n <>\n <p className={'course-title text-overflow-1'}>{item.course_title}</p>\n <a onClick={() => this.toCourse(item.course_id)}\n className=\"btn to-study\">开始学习</a>\n </>\n }\n {\n item.is_buy == 0 &&\n <>\n <div className=\"type\">\n {\n item.type == 0 &&\n <>\n <span className=\"tag\">活动价</span>\n <span className=\"time\">12.23开始</span>\n </>\n }\n {\n item.type == 1 &&\n <>\n <span className=\"tag\">拼团价</span>\n <span className=\"time\">12.23开团</span>\n </>\n }\n {\n item.type == 2 &&\n <>\n <span className=\"tag\">好友帮帮砍</span>\n <span className=\"time\">12.23开砍</span>\n </>\n }\n\n </div>\n <div className=\"price\">\n {item.type == 2 ? '到手最低:¥' : '¥'}\n <span className=\"new-price\">{item.price2}</span>\n <span\n className=\"old-price\">\n {item.type == 2 ? '' : '现价:'}\n <s>¥{item.price1}</s></span>\n </div>\n\n <div className=\"status\">\n <a onClick={() => this.toCourse(item.course_id)}\n className=\"status-btn to-buy\">直接购买</a>\n {\n item.is_join == 1 &&\n <a className=\"status-btn add-wish\"><img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n alt=\"\"/>已加心愿单</a>\n }\n {\n item.is_join == 0 &&\n <a\n onClick={() => this.addWishList(item.course_id, '1')}\n className=\"status-btn add-wish-success\">\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n alt=\"\"/>加入心愿单\n </a>\n }\n </div>\n </>\n }\n\n </div>\n </CourseItem>\n ))\n }\n </div>\n {\n (basic.courseList && basic.courseList.length > 4) &&\n <button className=\"more-button\" onClick={() => this.handleToMore('basic')}>\n {basic.isMore ? '查看更多' : '收起'}\n </button>\n }\n </>\n }\n\n <h4 className=\"ai-course__subtitle\">进阶</h4>\n {\n (advanced.course && advanced.course.length > 0) &&\n <>\n <div className='groupcourse course-box'>\n {\n advanced.course.map(item => (\n <CourseItem image={item.image_name} key={item.course_id} id={item.course_id}\n toCourse={this.toCourse}>\n <div className=\"coupon-course__footer\">\n {\n item.is_buy == 1 &&\n <>\n <p className={'course-title text-overflow-1'}>{item.course_title}</p>\n <a onClick={() => this.toCourse(item.course_id)}\n className=\"btn to-study\">开始学习</a>\n </>\n }\n {\n item.is_buy == 0 &&\n <>\n <div className=\"type\">\n {\n item.type == 0 &&\n <>\n <span className=\"tag\">活动价</span>\n <span className=\"time\">12.23开始</span>\n </>\n }\n {\n item.type == 1 &&\n <>\n <span className=\"tag\">拼团价</span>\n <span className=\"time\">12.23开团</span>\n </>\n }\n {\n item.type == 2 &&\n <>\n <span className=\"tag\">好友帮帮砍</span>\n <span className=\"time\">12.23开砍</span>\n </>\n }\n\n </div>\n <div className=\"price\">\n {item.type == 2 ? '到手最低:¥' : '¥'}\n <span className=\"new-price\">{item.price2}</span>\n <span\n className=\"old-price\">\n {item.type == 2 ? '' : '现价:'}\n <s>¥{item.price1}</s></span>\n </div>\n\n <div className=\"status\">\n <a onClick={() => this.toCourse(item.course_id)}\n className=\"status-btn to-buy\">直接购买</a>\n {\n item.is_join == 1 &&\n <a className=\"status-btn add-wish\"><img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n alt=\"\"/>已加心愿单</a>\n }\n {\n item.is_join == 0 &&\n <a\n onClick={() => this.addWishList(item.course_id, '2')}\n className=\"status-btn add-wish-success\">\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n alt=\"\"/>加入心愿单\n </a>\n }\n </div>\n </>\n }\n\n </div>\n </CourseItem>\n ))\n }\n </div>\n {\n (advanced.courseList && advanced.courseList.length > 4) &&\n <button className=\"more-button\" onClick={() => this.handleToMore('advanced')}>\n {advanced.isMore ? '查看更多' : '收起'}\n </button>\n }\n </>\n }\n\n <h4 className=\"ai-course__subtitle\">高阶</h4>\n {\n (higher.course && higher.course.length > 0) &&\n <>\n <div className='groupcourse course-box'>\n {\n higher.course.map(item => (\n <CourseItem image={item.image_name} key={item.course_id} id={item.course_id}\n toCourse={this.toCourse}>\n <div className=\"coupon-course__footer\">\n {\n item.is_buy == 1 &&\n <>\n <p className={'course-title text-overflow-1'}>{item.course_title}</p>\n <a onClick={() => this.toCourse(item.course_id)}\n className=\"btn to-study\">开始学习</a>\n </>\n }\n {\n item.is_buy == 0 &&\n <>\n <div className=\"type\">\n {\n item.type == 0 &&\n <>\n <span className=\"tag\">活动价</span>\n <span className=\"time\">12.23开始</span>\n </>\n }\n {\n item.type == 1 &&\n <>\n <span className=\"tag\">拼团价</span>\n <span className=\"time\">12.23开团</span>\n </>\n }\n {\n item.type == 2 &&\n <>\n <span className=\"tag\">好友帮帮砍</span>\n <span className=\"time\">12.23开砍</span>\n </>\n }\n\n </div>\n <div className=\"price\">\n {item.type == 2 ? '到手最低:¥' : '¥'}\n <span className=\"new-price\">{item.price2}</span>\n <span\n className=\"old-price\">\n {item.type == 2 ? '' : '现价:'}\n <s>¥{item.price1}</s></span>\n </div>\n\n <div className=\"status\">\n <a onClick={() => this.toCourse(item.course_id)}\n className=\"status-btn to-buy\">直接购买</a>\n {\n item.is_join == 1 &&\n <a className=\"status-btn add-wish\"><img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n alt=\"\"/>已加心愿单</a>\n }\n {\n item.is_join == 0 &&\n <a\n onClick={() => this.addWishList(item.course_id, '3')}\n className=\"status-btn add-wish-success\">\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n alt=\"\"/>加入心愿单\n </a>\n }\n </div>\n </>\n }\n\n </div>\n </CourseItem>\n ))\n }\n </div>\n {\n (higher.courseList && higher.courseList.length > 4) &&\n <button className=\"more-button\" onClick={() => this.handleToMore('higher')}>\n {higher.isMore ? '查看更多' : '收起'}\n </button>\n }\n </>\n }\n\n <h4 className=\"ai-course__subtitle\">扩展</h4>\n {\n (expand.course && expand.course.length > 0) &&\n <>\n <div className='groupcourse course-box'>\n {\n expand.course.map(item => (\n <CourseItem image={item.image_name} key={item.course_id} id={item.course_id}\n toCourse={this.toCourse}>\n <div className=\"coupon-course__footer\">\n {\n item.is_buy == 1 &&\n <>\n <p className={'course-title text-overflow-1'}>{item.course_title}</p>\n <a onClick={() => this.toCourse(item.course_id)}\n className=\"btn to-study\">开始学习</a>\n </>\n }\n {\n item.is_buy == 0 &&\n <>\n <div className=\"type\">\n {\n item.type == 0 &&\n <>\n <span className=\"tag\">活动价</span>\n <span className=\"time\">12.23开始</span>\n </>\n }\n {\n item.type == 1 &&\n <>\n <span className=\"tag\">拼团价</span>\n <span className=\"time\">12.23开团</span>\n </>\n }\n {\n item.type == 2 &&\n <>\n <span className=\"tag\">好友帮帮砍</span>\n <span className=\"time\">12.23开砍</span>\n </>\n }\n\n </div>\n <div className=\"price\">\n {item.type == 2 ? '到手最低:¥' : '¥'}\n <span className=\"new-price\">{item.price2}</span>\n <span\n className=\"old-price\">\n {item.type == 2 ? '' : '现价:'}\n <s>¥{item.price1}</s></span>\n </div>\n\n <div className=\"status\">\n <a onClick={() => this.toCourse(item.course_id)}\n className=\"status-btn to-buy\">直接购买</a>\n {\n item.is_join == 1 &&\n <a className=\"status-btn add-wish\"><img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/PC/add-success.png\"\n alt=\"\"/>已加心愿单</a>\n }\n {\n item.is_join == 0 &&\n <a\n onClick={() => this.addWishList(item.course_id, '4')}\n className=\"status-btn add-wish-success\">\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/like_icon.png\"\n alt=\"\"/>加入心愿单\n </a>\n }\n </div>\n </>\n }\n\n </div>\n </CourseItem>\n ))\n }\n </div>\n {\n (expand.courseList && expand.courseList.length > 4) &&\n <button className=\"more-button\" onClick={() => this.handleToMore('expand')}>\n {expand.isMore ? '查看更多' : '收起'}\n </button>\n }\n </>\n }\n </div>\n </CommonContainer>\n\n {\n this.state.tofreeStudy &&\n <CommonPopup top={100} closePopup={this.closePopup} mark={false}>\n <div className='sub__code_container'>\n <p className='sub__title'>提醒服务</p>\n <p className='sub__tip'>进入服务号回复<i>77</i>免费领取课程</p>\n <img className='sub__qr_code' id={'live-qr-code'}\n src='//julyedu-cdn.oss-cn-beijing.aliyuncs.com/2018christyear/h5/qrcode.jpg' alt=\"\"/>\n {\n browser.isAndroidApp ? (\n <button className={'save-image'} onClick={this.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":""}