{"version":3,"sources":["../node_modules/js-base64/base64.js","components/activity/give-courses/assistance/index.js"],"names":["global","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","module","exports","self","window","this","_Base64","Base64","version","buffer","eval","err","undefined","b64chars","b64tab","bin","t","i","l","length","charAt","fromCharCode","String","cb_utob","c","cc","charCodeAt","re_utob","utob","u","replace","cb_encode","ccc","padlen","ord","join","btoa","b","_encode","from","Uint8Array","constructor","toString","encode","urisafe","m0","encodeURI","re_btou","RegExp","cb_btou","cccc","offset","btou","cb_decode","len","n","chars","_atob","atob","a","_decode","decode","noConflict","VERSION","fromBase64","toBase64","__buffer__","Object","defineProperty","noEnum","v","value","enumerable","writable","configurable","extendString","prototype","apply","showToast","text","antd_mobile_lib_toast__WEBPACK_IMPORTED_MODULE_6___default","info","GiveCourseAssistance","connect","_ref","user","scrollContainer","cloned","animationId","swiper","state","allCourse","activeName","activeUrl","isAwards","count","assistItems","name","courseImg","code","getParam","getBtnStatus","disabled","successOneStatus","errorStatus","activeStatus","friendStatus","posY","scrollStyle","transform","concat","transition","overflow","headItems","giveDetail","http","get","API","then","res","_res$data","data","msg","errno","_this","setState","course_info","active_info","activity_name","activity_url","is_awards","assistantScroll","_res$data2","assistant_count","assistants","invitation_user_nickname","course_image_name","displayScrollArea","getCourse","_czc","push","_this$props","props","history","browser","isWeixin","hasError","post","_res$data3","success","toGetDetail","courseId","location","href","_this$state","list","cloneNode","firstChild","appendChild","h","offsetHeight","Math","abs","requestAnimationFrame","requestHeadItems","_res$data4","setupHeadItemsSwiper","Swiper","autoplay","delay","direction","loop","allowTouchMove","baseCode","decodeURIComponent","split","uid","nextProps","cancelAnimationFrame","destroy","_this2","_this$state2","react__WEBPACK_IMPORTED_MODULE_7___default","createElement","id","className","map","item","index","key","src","head_img","alt","style","backgroundImage","type","onClick","ref","el","user_name","course_id","bind","image_name","color","Component","withRouter"],"mappings":"oIAAA,SAAAA,QAAA,IAAAC,6BAAAC,+BAWA,SAAAF,EAAAG,GAC8DC,OAAAC,QAAAF,EAAAH,GAD9D,CAEC,qBAAAM,UAAA,qBAAAC,cAAA,qBAAAP,cAAAQ,KAAA,SAAAR,QACD,aAEAA,eAAA,GACA,IAAAS,QAAAT,OAAAU,OACAC,QAAA,QAEAC,OAEA,GAAmCR,OAAAC,QACnC,IACAO,OAAAC,KAAA,4BACK,MAAAC,KACLF,YAAAG,EAKA,IAAAC,SAAA,mEAEAC,OAAA,SAAAC,GAGA,IAFA,IAAAC,EAAA,GAEAC,EAAA,EAAAC,EAAAH,EAAAI,OAAmCF,EAAAC,EAAOD,IAC1CD,EAAAD,EAAAK,OAAAH,MAGA,OAAAD,EAPA,CAQGH,UAEHQ,aAAAC,OAAAD,aAEAE,QAAA,SAAAC,GACA,GAAAA,EAAAL,OAAA,EAEA,OADAM,EAAAD,EAAAE,WAAA,IACA,IAAAF,EAAAC,EAAA,KAAAJ,aAAA,IAAAI,IAAA,GAAAJ,aAAA,OAAAI,GAAAJ,aAAA,IAAAI,IAAA,OAAAJ,aAAA,IAAAI,IAAA,MAAAJ,aAAA,OAAAI,GAEA,IAAAA,EAAA,YAAAD,EAAAE,WAAA,WAAAF,EAAAE,WAAA,UACA,OAAAL,aAAA,IAAAI,IAAA,MAAAJ,aAAA,IAAAI,IAAA,OAAAJ,aAAA,IAAAI,IAAA,MAAAJ,aAAA,OAAAI,IAIAE,QAAA,gDAEAC,KAAA,SAAAC,GACA,OAAAA,EAAAC,QAAAH,QAAAJ,UAGAQ,UAAA,SAAAC,GACA,IAAAC,EAAA,QAAAD,EAAAb,OAAA,GACAe,EAAAF,EAAAN,WAAA,QAAAM,EAAAb,OAAA,EAAAa,EAAAN,WAAA,UAAAM,EAAAb,OAAA,EAAAa,EAAAN,WAAA,MAEA,MADA,CAAAb,SAAAO,OAAAc,IAAA,IAAArB,SAAAO,OAAAc,IAAA,OAAAD,GAAA,MAAApB,SAAAO,OAAAc,IAAA,MAAAD,GAAA,MAAApB,SAAAO,OAAA,GAAAc,IACAC,KAAA,KAGAC,KAAAvC,OAAAuC,KAAA,SAAAC,GACA,OAAAxC,OAAAuC,KAAAC,IACG,SAAAA,GACH,OAAAA,EAAAP,QAAA,eAAiCC,YAGjCO,QAAA7B,cAAA8B,MAAAC,YAAA/B,OAAA8B,OAAAC,WAAAD,KAAA,SAAAV,GACA,OAAAA,EAAAY,cAAAhC,OAAAgC,YAAAZ,EAAApB,OAAA8B,KAAAV,IAAAa,SAAA,WACG,SAAAb,GACH,OAAAA,EAAAY,cAAAhC,OAAAgC,YAAAZ,EAAA,IAAApB,OAAAoB,IAAAa,SAAA,WACG,SAAAb,GACH,OAAAO,KAAAR,KAAAC,KAGAc,OAAA,SAAAd,EAAAe,GACA,OAAAA,EAAAN,QAAAhB,OAAAO,IAAAC,QAAA,kBAAAe,GACA,WAAAA,EAAA,UACKf,QAAA,SAFLQ,QAAAhB,OAAAO,KAKAiB,UAAA,SAAAjB,GACA,OAAAc,OAAAd,GAAA,IAIAkB,QAAA,IAAAC,OAAA,sDAAgF,6BAA6Bb,KAAA,UAE7Gc,QAAA,SAAAC,GACA,OAAAA,EAAA/B,QACA,OACA,IACAgC,IADA,EAAAD,EAAAxB,WAAA,YAAAwB,EAAAxB,WAAA,YAAAwB,EAAAxB,WAAA,UAAAwB,EAAAxB,WAAA,IACA,MACA,OAAAL,aAAA,OAAA8B,IAAA,KAAA9B,aAAA,YAAA8B,IAEA,OACA,OAAA9B,cAAA,GAAA6B,EAAAxB,WAAA,YAAAwB,EAAAxB,WAAA,UAAAwB,EAAAxB,WAAA,IAEA,QACA,OAAAL,cAAA,GAAA6B,EAAAxB,WAAA,UAAAwB,EAAAxB,WAAA,MAIA0B,KAAA,SAAAf,GACA,OAAAA,EAAAP,QAAAiB,QAAAE,UAGAI,UAAA,SAAAH,GACA,IAAAI,EAAAJ,EAAA/B,OACAc,EAAAqB,EAAA,EACAC,GAAAD,EAAA,EAAAxC,OAAAoC,EAAA9B,OAAA,YAAAkC,EAAA,EAAAxC,OAAAoC,EAAA9B,OAAA,YAAAkC,EAAA,EAAAxC,OAAAoC,EAAA9B,OAAA,WAAAkC,EAAA,EAAAxC,OAAAoC,EAAA9B,OAAA,OACAoC,EAAA,CAAAnC,aAAAkC,IAAA,IAAAlC,aAAAkC,IAAA,OAAAlC,aAAA,IAAAkC,IAEA,OADAC,EAAArC,QAAA,UAAAc,GACAuB,EAAArB,KAAA,KAGAsB,MAAA5D,OAAA6D,KAAA,SAAAC,GACA,OAAA9D,OAAA6D,KAAAC,IACG,SAAAA,GACH,OAAAA,EAAA7B,QAAA,WAA6BuB,YAG7BK,KAAA,SAAAC,GACA,OAAAF,MAAAnC,OAAAqC,GAAA7B,QAAA,0BAGA8B,QAAAnD,cAAA8B,MAAAC,YAAA/B,OAAA8B,OAAAC,WAAAD,KAAA,SAAAoB,GACA,OAAAA,EAAAlB,cAAAhC,OAAAgC,YAAAkB,EAAAlD,OAAA8B,KAAAoB,EAAA,WAAAjB,YACG,SAAAiB,GACH,OAAAA,EAAAlB,cAAAhC,OAAAgC,YAAAkB,EAAA,IAAAlD,OAAAkD,EAAA,WAAAjB,YACG,SAAAiB,GACH,OAAAP,KAAAK,MAAAE,KAGAE,OAAA,SAAAF,GACA,OAAAC,QAAAtC,OAAAqC,GAAA7B,QAAA,iBAAAe,GACA,WAAAA,EAAA,UACKf,QAAA,0BAGLgC,WAAA,WACA,IAAAvD,EAAAV,OAAAU,OAEA,OADAV,OAAAU,OAAAD,QACAC,GAmBA,GAfAV,OAAAU,OAAA,CACAwD,QAAAvD,QACAkD,UACAtB,UACA4B,WAAAH,OACAI,SAAAtB,OACAf,UACAe,cACAG,oBACAM,UACAS,cACAC,sBACAI,WAAAzD,QAGA,oBAAA0D,OAAAC,eAAA,CACA,IAAAC,OAAA,SAAAC,GACA,OACAC,MAAAD,EACAE,YAAA,EACAC,UAAA,EACAC,cAAA,IAIA7E,OAAAU,OAAAoE,aAAA,WACAR,OAAAC,eAAA9C,OAAAsD,UAAA,aAAAP,OAAA,WACA,OAAAR,OAAAxD,SAEA8D,OAAAC,eAAA9C,OAAAsD,UAAA,WAAAP,OAAA,SAAAzB,GACA,OAAAD,OAAAtC,KAAAuC,MAEAuB,OAAAC,eAAA9C,OAAAsD,UAAA,cAAAP,OAAA,WACA,OAAA1B,OAAAtC,MAAA,OAyBA,OAjBAR,OAAA,SAEAU,OAAAV,OAAAU,QAKmCN,OAAAC,QACnCD,OAAAC,QAAAK,OAAAV,OAAAU,QAGIT,6BAAO,GAAEC,8BAAA,WACb,OAAAF,OAAAU,QACKsE,MAAA3E,QAAAJ,mCAAAc,IAAAb,gCAAAE,OAAAC,QAAAH,gCAIL,CACAQ,OAAAV,OAAAU,+NC5MA,SAASuE,EAAUC,GACjBC,EAAArB,EAAMsB,KAAKF,EAAM,EAAG,MAAM,OAMtBG,EAHLC,YAAQ,SAAAC,GAAA,MAAa,CACpBC,KADOD,EAAEC,qNAKTC,gBAAkB,OAClBC,QAAS,IACTC,YAAc,IACdC,OAAS,OAETC,MAAQ,CACNC,UAAW,GACXC,WAAY,GACZC,UAAW,GACXC,SAAU,GACVC,MAAO,GACPC,YAAa,GACbC,KAAM,GACNC,UAAW,GACXC,KAAMC,YAAS,cACfC,aAAc,IACdC,UAAU,EACVC,kBAAkB,EAClBC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,KAAM,EACNC,YAAa,CACXC,UAAS,cAAAC,OAAgB,EAAhB,OACTC,WAAY,iBACZC,SAAU,UAEZC,UAAW,MA8BbC,WAAa,WACXC,IAAKC,IAAL,GAAAN,OAAYO,IAAI,YAAhB,uBACGC,KAAK,SAAAC,GAAO,IAAAC,EACgBD,EAAIE,KAAxBA,EADID,EACJC,KAAMC,EADFF,EACEE,IACC,MAFHF,EACOG,MAEhBC,EAAKC,SAAS,CACZlC,UAAW8B,EAAKK,YAChBlC,WAAY6B,EAAKM,YAAYC,cAC7BnC,UAAW4B,EAAKM,YAAYE,aAC5BnC,SAAU2B,EAAKS,YAGjBpD,EAAU4C,QAKlBS,gBAAkB,WAChBhB,IAAKC,IAAL,GAAAN,OAAYO,IAAI,YAAhB,mCAAAP,OAA6DV,YAAS,gBACnEkB,KAAK,SAAAC,GAAO,IAAAa,EACgBb,EAAIE,KAAxBA,EADIW,EACJX,KAAMC,EADFU,EACEV,IACC,IAFHU,EACOT,MAEhBC,EAAKC,SAAS,CACZ9B,MAAO0B,EAAKY,gBACZrC,YAAayB,EAAKa,WAClBrC,KAAMwB,EAAKc,yBACXrC,UAAWuB,EAAKe,mBACfZ,EAAKa,mBAGR3D,EAAU4C,QAKlBgB,UAAY,WACVC,MAAQA,KAAKC,KAAK,CAAC,cAAe,yDAAa,2DAD/B,IAAAC,EAEQjB,EAAKkB,MAAtBC,EAFSF,EAETE,QAAS1D,EAFAwD,EAEAxD,KAChB,GAAI2D,IAAQC,SAAU,CACpB,GAAI5D,EAAK6D,SAEP,YADAH,EAAQH,KAAK,aAGfhB,EAAKC,SAAS,CACZvB,UAAU,IAEZa,IAAKgC,KAAL,GAAArC,OAAaO,IAAI,YAAjB,yBAAqD,CACnDlB,KAAMyB,EAAKlC,MAAMS,OAEhBmB,KAAK,SAAAC,GAAO,IAAA6B,EACU7B,EAAIE,KAAlBE,EADIyB,EACJzB,MACH0B,GAFOD,EACG1B,IACS,KAATC,GACdC,EAAKC,SAAS,CACZtB,iBAAkB8C,EAClB7C,aAAc6C,EACd/C,UAAU,WAMhByC,EAAQH,KAAK,aAIjBU,YAAc,SAAAC,GACZZ,MAAQA,KAAKC,KAAK,CAAC,cAAD,kBAAA9B,OAAwByC,GAAY,2DACtDnJ,OAAOoJ,SAASC,KAAO7B,EAAKlC,MAAMG,aAGpC4C,kBAAoB,WAAM,IAAAiB,EAIpB9B,EAAKlC,MAFMiE,EAFSD,EAEtB1D,YACAW,EAHsB+C,EAGtB/C,KAEF,KAAIgD,EAAKxI,OAAS,GAAlB,CACA,IAAKyG,EAAKrC,OAAQ,CAChB,IAAMqE,EAAYhC,EAAKtC,gBAAgBuE,WAAWA,WAAWD,WAAU,GACvEhC,EAAKtC,gBAAgBuE,WAAWC,YAAYF,GAC5ChC,EAAKrC,QAAS,EAEhB,IAAMwE,EAAInC,EAAKtC,gBAAgBuE,WAAWG,aAAe,EACrDC,KAAKC,IAAIvD,IAASoD,IAAGpD,EAAO,GAChCA,GAAQ,GACRiB,EAAKC,SAAS,CACZlB,OACAC,YAAa,CACXC,UAAS,cAAAC,OAAgBH,EAAhB,OACTI,WAAY,iBACZC,SAAU,YAGdY,EAAKpC,YAAcpF,OAAO+J,sBAAsBvC,EAAKa,uBAGvD2B,iBAAmB,WACjBjD,IAAKC,IAAL,GAAAN,OAAYO,IAAI,YAAhB,yBACGC,KAAK,SAAAC,GAAO,IAAA8C,EACgB9C,EAAIE,KAAxBE,EADI0C,EACJ1C,MAAOF,EADH4C,EACG5C,KAAMC,EADT2C,EACS3C,IACN,MAAVC,EACFC,EAAKC,SAAS,CACZZ,UAAWQ,GACVG,EAAK0C,sBAERxF,EAAU4C,QAKlB4C,qBAAuB,WACrB1C,EAAKnC,OAAS,IAAI8E,IAAO,mBAAoB,CAC3CC,SAAU,CACRC,MAAO,KAETC,UAAW,WACXC,MAAM,EACNC,gBAAgB,wFA9IlBvK,KAAK6G,aACL7G,KAAK8H,kBACL9H,KAAK+J,mBACL,IAAIS,EAAWC,mBAAmBvK,SAAOsD,OAAOxD,KAAKqF,MAAMS,OAAO4E,MAAM,KACxE1K,KAAKwH,SAAS,CACZgD,SAAUA,EAAS,GACnBxE,aAAchG,KAAKyI,MAAMzD,KAAKoC,KAAKuD,KAAOH,EAAS,GAAK,IAAM,kDAI9CI,GAAW,IACtB5F,EAAQhF,KAAKyI,MAAbzD,KACH4F,EAAU5F,KAAK6D,WAAa7D,EAAK6D,UACnC7I,KAAKwH,SAAS,CACZxB,aAAc4E,EAAU5F,KAAKoC,KAAKuD,KAAO3K,KAAKqF,MAAMmF,SAAW,IAAM,qDAOzEzK,OAAO8K,qBAAqB7K,KAAKmF,aACjCnF,KAAKoF,QAAUpF,KAAKoF,OAAO0F,2CA4HpB,IAAAC,EAAA/K,KAAAgL,EAiBHhL,KAAKqF,MAfPI,EAFKuF,EAELvF,SACAI,EAHKmF,EAGLnF,UACAN,EAJKyF,EAILzF,WACAK,EALKoF,EAKLpF,KACAI,EANKgF,EAMLhF,aACAC,EAPK+E,EAOL/E,SACAP,EARKsF,EAQLtF,MACAJ,EATK0F,EASL1F,UACAY,EAVK8E,EAUL9E,iBACAC,EAXK6E,EAWL7E,YACAC,EAZK4E,EAYL5E,aACAC,EAbK2E,EAaL3E,aACAV,EAdKqF,EAcLrF,YACAY,EAfKyE,EAeLzE,YACAK,EAhBKoE,EAgBLpE,UAEK8B,EAAW1I,KAAKyI,MAAhBC,QACP,OACEuC,EAAA3H,EAAA4H,cAAA,OAAKC,GAAG,cAELF,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,mBACdH,EAAA3H,EAAA4H,cAAA,MAAIE,UAAU,+BAEVxE,EAAUyE,IAAI,SAACC,EAAMC,GACnB,OACEN,EAAA3H,EAAA4H,cAAA,MAAIM,IAAKD,EAAOH,UAAW,gBACzBH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,eACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,SAASK,IAAKH,EAAKI,SAAUC,IAAI,KAChDV,EAAA3H,EAAA4H,cAAA,QAAME,UAAU,QAAQE,EAAI,WAE9BL,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,SAASE,EAAI,WAUxCL,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,WAAWQ,MAAO,CAACC,gBAAe,OAAApF,OAASZ,EAAT,OAEjC,GAAZJ,GAAiBwF,EAAA3H,EAAA4H,cAAA,UAAQE,UAAU,eAAeU,KAAK,SAASC,QAAS,WACvEzD,MAAQA,KAAKC,KAAK,CAAC,cAAe,mDAAY,2DAC9CG,EAAQH,KAAR,iCAAA9B,OAA8ClB,MAF/B,qCAQrB0F,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,kBAEM,MAAjBpF,GACAiF,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,SACbH,EAAA3H,EAAA4H,cAAA,QAAME,UAAU,UAAhB,IAA2BxF,GAD7B,+CAKFqF,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,gBAEM,MAAjBpF,EAEEiF,EAAA3H,EAAA4H,cAAA,UAAQY,KAAK,SAASV,UAAU,UAAUnF,SAAUA,EAAU8F,QAAS/L,KAAKqI,WAA5E,4BAIA4C,EAAA3H,EAAA4H,cAAA,UAAQY,KAAK,SAASV,UAAU,UAAUW,QAAS,WACjDzD,MAAQA,KAAKC,KAAK,CAAC,cAAe,yDAAa,2DAC/CwC,EAAKvD,SAAS,CACZnB,cAAc,MAHlB,yCAUN4E,EAAA3H,EAAA4H,cAAA,KAAGE,UAAU,kBAAb,6GACAH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,kBACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,cAAf,eAEEH,EAAA3H,EAAA4H,cAAA,YAAOxF,GAFT,0DAOEC,EAAY7E,OACVmK,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,+BAA+BY,IAAK,SAAAC,GAAE,OAAIlB,EAAK9F,gBAAkBgH,IAC9EhB,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,UAAUQ,MAAOrF,GAC9B0E,EAAA3H,EAAA4H,cAAA,UAEIvF,EAAY0F,IAAI,SAAAC,GACd,OACEL,EAAA3H,EAAA4H,cAAA,MAAIM,IAAKF,EAAI,eACXL,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,eACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,SAASK,IAAKH,EAAI,YAAiBK,IAAI,KACtDV,EAAA3H,EAAA4H,cAAA,QAAME,UAAU,QAAQE,EAAKY,YAE/BjB,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,gBACbH,EAAA3H,EAAA4H,cAAA,QAAME,UAAU,QAAQE,EAAI,SAA5B,yCAWhBL,EAAA3H,EAAA4H,cAAA,KAAGE,UAAU,eAAb,wCAIJH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,eACbH,EAAA3H,EAAA4H,cAAA,UAAQY,KAAK,SAASV,UAAU,WAAWW,QAAS,WAClDzD,MAAQA,KAAKC,KAAK,CAAC,cAAe,2EAAgB,6EAClDwC,EAAKvD,SAAS,CAACpB,cAAc,MAF/B,2DAMF6E,EAAA3H,EAAA4H,cAAA,KAAGE,UAAU,cAAb,kFACAH,EAAA3H,EAAA4H,cAAA,MAAIE,UAAU,eAEV9F,EAAU+F,IAAI,SAACC,GACb,OACEL,EAAA3H,EAAA4H,cAAA,MAAIM,IAAKF,EAAKa,UAAWJ,QAAShB,EAAK9B,YAAYmD,KAAKrB,EAAMO,EAAKa,YACjElB,EAAA3H,EAAA4H,cAAA,OAAKO,IAAKH,EAAKe,WAAYV,IAAI,WAU3CzF,GACA+E,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,iBACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,YACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,iBACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,eACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,aACbH,EAAA3H,EAAA4H,cAAA,KAAGE,UAAU,uCADf,4BAIAH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,YACbH,EAAA3H,EAAA4H,cAAA,KAAGE,UAAU,SAAb,gGAGJH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,cACbH,EAAA3H,EAAA4H,cAAA,UAAQY,KAAK,SAASV,UAAU,kBAAkBW,QAAS,WACzDhB,EAAKvD,SAAS,CAACpB,cAAc,EAAMF,kBAAkB,MADvD,0EAURC,GACA8E,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,iBACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,YACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,iBACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,eACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,YAAYQ,MAAO,CAACU,MAAK,SAAxC,4BAGArB,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,YACbH,EAAA3H,EAAA4H,cAAA,KAAGE,UAAU,SAAb,iJAGJH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,cACbH,EAAA3H,EAAA4H,cAAA,UAAQY,KAAK,SAASV,UAAU,kBAAkBW,QAAS,WACzDhB,EAAKvD,SAAS,CAACrB,aAAa,EAAOE,cAAc,MADnD,oBAWRD,GACA6E,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,iBACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,YACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,iBACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,eACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,aACbH,EAAA3H,EAAA4H,cAAA,KAAGE,UAAU,SAAb,6CAA4BH,EAAA3H,EAAA4H,cAAA,eAA5B,yCAEFD,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,eACbH,EAAA3H,EAAA4H,cAAA,OAAKO,IAAI,+EAA+EE,IAAI,KAC5FV,EAAA3H,EAAA4H,cAAA,qEAGJD,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,YAAYW,QAAS,WAClChB,EAAKvD,SAAS,CAACpB,cAAc,MAE7B6E,EAAA3H,EAAA4H,cAAA,KAAGE,UAAU,iCAQrB/E,GACA4E,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,iBACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,YACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,iBACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,eACbH,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,aACbH,EAAA3H,EAAA4H,cAAA,KAAGE,UAAU,SAAb,6CAA4BH,EAAA3H,EAAA4H,cAAA,eAA5B,yCAGFD,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,eACbH,EAAA3H,EAAA4H,cAAA,OAAKO,IAAI,+EAA+EE,IAAI,KAC5FV,EAAA3H,EAAA4H,cAAA,qEAGJD,EAAA3H,EAAA4H,cAAA,OAAKE,UAAU,YAAYW,QAAS,WAClChB,EAAKvD,SAAS,CAACnB,cAAc,MAE7B4E,EAAA3H,EAAA4H,cAAA,KAAGE,UAAU,yCAtZImB,iBAiapBC,sBAAW3H","file":"mrstatic/js/61.3f577397.chunk.js","sourcesContent":["/*\n * base64.js\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n */\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(global) : typeof define === 'function' && define.amd ? define(factory) : factory(global);\n})(typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : this, function (global) {\n 'use strict'; // existing version for noConflict()\n\n global = global || {};\n var _Base64 = global.Base64;\n var version = \"2.5.1\"; // if node.js and NOT React Native, we use Buffer\n\n var buffer;\n\n if (typeof module !== 'undefined' && module.exports) {\n try {\n buffer = eval(\"require('buffer').Buffer\");\n } catch (err) {\n buffer = undefined;\n }\n } // constants\n\n\n var b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n var b64tab = function (bin) {\n var t = {};\n\n for (var i = 0, l = bin.length; i < l; i++) {\n t[bin.charAt(i)] = i;\n }\n\n return t;\n }(b64chars);\n\n var fromCharCode = String.fromCharCode; // encoder stuff\n\n var cb_utob = function cb_utob(c) {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c : cc < 0x800 ? fromCharCode(0xc0 | cc >>> 6) + fromCharCode(0x80 | cc & 0x3f) : fromCharCode(0xe0 | cc >>> 12 & 0x0f) + fromCharCode(0x80 | cc >>> 6 & 0x3f) + fromCharCode(0x80 | cc & 0x3f);\n } else {\n var cc = 0x10000 + (c.charCodeAt(0) - 0xD800) * 0x400 + (c.charCodeAt(1) - 0xDC00);\n return fromCharCode(0xf0 | cc >>> 18 & 0x07) + fromCharCode(0x80 | cc >>> 12 & 0x3f) + fromCharCode(0x80 | cc >>> 6 & 0x3f) + fromCharCode(0x80 | cc & 0x3f);\n }\n };\n\n var re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n\n var utob = function utob(u) {\n return u.replace(re_utob, cb_utob);\n };\n\n var cb_encode = function cb_encode(ccc) {\n var padlen = [0, 2, 1][ccc.length % 3],\n ord = ccc.charCodeAt(0) << 16 | (ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8 | (ccc.length > 2 ? ccc.charCodeAt(2) : 0),\n chars = [b64chars.charAt(ord >>> 18), b64chars.charAt(ord >>> 12 & 63), padlen >= 2 ? '=' : b64chars.charAt(ord >>> 6 & 63), padlen >= 1 ? '=' : b64chars.charAt(ord & 63)];\n return chars.join('');\n };\n\n var btoa = global.btoa ? function (b) {\n return global.btoa(b);\n } : function (b) {\n return b.replace(/[\\s\\S]{1,3}/g, cb_encode);\n };\n\n var _encode = buffer ? buffer.from && Uint8Array && buffer.from !== Uint8Array.from ? function (u) {\n return (u.constructor === buffer.constructor ? u : buffer.from(u)).toString('base64');\n } : function (u) {\n return (u.constructor === buffer.constructor ? u : new buffer(u)).toString('base64');\n } : function (u) {\n return btoa(utob(u));\n };\n\n var encode = function encode(u, urisafe) {\n return !urisafe ? _encode(String(u)) : _encode(String(u)).replace(/[+\\/]/g, function (m0) {\n return m0 == '+' ? '-' : '_';\n }).replace(/=/g, '');\n };\n\n var encodeURI = function encodeURI(u) {\n return encode(u, true);\n }; // decoder stuff\n\n\n var re_btou = new RegExp(['[\\xC0-\\xDF][\\x80-\\xBF]', '[\\xE0-\\xEF][\\x80-\\xBF]{2}', '[\\xF0-\\xF7][\\x80-\\xBF]{3}'].join('|'), 'g');\n\n var cb_btou = function cb_btou(cccc) {\n switch (cccc.length) {\n case 4:\n var cp = (0x07 & cccc.charCodeAt(0)) << 18 | (0x3f & cccc.charCodeAt(1)) << 12 | (0x3f & cccc.charCodeAt(2)) << 6 | 0x3f & cccc.charCodeAt(3),\n offset = cp - 0x10000;\n return fromCharCode((offset >>> 10) + 0xD800) + fromCharCode((offset & 0x3FF) + 0xDC00);\n\n case 3:\n return fromCharCode((0x0f & cccc.charCodeAt(0)) << 12 | (0x3f & cccc.charCodeAt(1)) << 6 | 0x3f & cccc.charCodeAt(2));\n\n default:\n return fromCharCode((0x1f & cccc.charCodeAt(0)) << 6 | 0x3f & cccc.charCodeAt(1));\n }\n };\n\n var btou = function btou(b) {\n return b.replace(re_btou, cb_btou);\n };\n\n var cb_decode = function cb_decode(cccc) {\n var len = cccc.length,\n padlen = len % 4,\n n = (len > 0 ? b64tab[cccc.charAt(0)] << 18 : 0) | (len > 1 ? b64tab[cccc.charAt(1)] << 12 : 0) | (len > 2 ? b64tab[cccc.charAt(2)] << 6 : 0) | (len > 3 ? b64tab[cccc.charAt(3)] : 0),\n chars = [fromCharCode(n >>> 16), fromCharCode(n >>> 8 & 0xff), fromCharCode(n & 0xff)];\n chars.length -= [0, 0, 2, 1][padlen];\n return chars.join('');\n };\n\n var _atob = global.atob ? function (a) {\n return global.atob(a);\n } : function (a) {\n return a.replace(/\\S{1,4}/g, cb_decode);\n };\n\n var atob = function atob(a) {\n return _atob(String(a).replace(/[^A-Za-z0-9\\+\\/]/g, ''));\n };\n\n var _decode = buffer ? buffer.from && Uint8Array && buffer.from !== Uint8Array.from ? function (a) {\n return (a.constructor === buffer.constructor ? a : buffer.from(a, 'base64')).toString();\n } : function (a) {\n return (a.constructor === buffer.constructor ? a : new buffer(a, 'base64')).toString();\n } : function (a) {\n return btou(_atob(a));\n };\n\n var decode = function decode(a) {\n return _decode(String(a).replace(/[-_]/g, function (m0) {\n return m0 == '-' ? '+' : '/';\n }).replace(/[^A-Za-z0-9\\+\\/]/g, ''));\n };\n\n var noConflict = function noConflict() {\n var Base64 = global.Base64;\n global.Base64 = _Base64;\n return Base64;\n }; // export Base64\n\n\n global.Base64 = {\n VERSION: version,\n atob: atob,\n btoa: btoa,\n fromBase64: decode,\n toBase64: encode,\n utob: utob,\n encode: encode,\n encodeURI: encodeURI,\n btou: btou,\n decode: decode,\n noConflict: noConflict,\n __buffer__: buffer\n }; // if ES5 is available, make Base64.extendString() available\n\n if (typeof Object.defineProperty === 'function') {\n var noEnum = function noEnum(v) {\n return {\n value: v,\n enumerable: false,\n writable: true,\n configurable: true\n };\n };\n\n global.Base64.extendString = function () {\n Object.defineProperty(String.prototype, 'fromBase64', noEnum(function () {\n return decode(this);\n }));\n Object.defineProperty(String.prototype, 'toBase64', noEnum(function (urisafe) {\n return encode(this, urisafe);\n }));\n Object.defineProperty(String.prototype, 'toBase64URI', noEnum(function () {\n return encode(this, true);\n }));\n };\n } //\n // export Base64 to the namespace\n //\n\n\n if (global['Meteor']) {\n // Meteor.js\n Base64 = global.Base64;\n } // module.exports and AMD are mutually exclusive.\n // module.exports has precedence.\n\n\n if (typeof module !== 'undefined' && module.exports) {\n module.exports.Base64 = global.Base64;\n } else if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return global.Base64;\n });\n } // that's it!\n\n\n return {\n Base64: global.Base64\n };\n});","import React, { Component } from 'react'\nimport { browser, getParam, http } from \"@/utils\"\nimport { Toast } from \"antd-mobile\"\nimport { withRouter } from 'react-router-dom'\nimport './assistance.scss'\nimport { Base64 } from \"js-base64\"\nimport { connect } from 'react-redux'\nimport Swiper from 'swiper'\n\nfunction showToast(text) {\n Toast.info(text, 2, null, false)\n}\n\n@connect(({user}) => ({\n user\n}))\nclass GiveCourseAssistance extends Component {\n\n scrollContainer = null\n cloned = false\n animationId = 0\n swiper = null\n\n state = {\n allCourse: [],\n activeName: '',\n activeUrl: '',\n isAwards: '',\n count: '',\n assistItems: [],\n name: '',\n courseImg: '',\n code: getParam('magic_word'),\n getBtnStatus: '1',\n disabled: false,\n successOneStatus: false,\n errorStatus: false,\n activeStatus: false,\n friendStatus: false,\n posY: 0,\n scrollStyle: {\n transform: `translateY(${0}px)`,\n transition: 'all linear 0ms',\n overflow: 'hidden'\n },\n headItems: []\n }\n\n componentDidMount() {\n this.giveDetail()\n this.assistantScroll()\n this.requestHeadItems()\n let baseCode = decodeURIComponent(Base64.decode(this.state.code)).split(',')\n this.setState({\n baseCode: baseCode[0],\n getBtnStatus: this.props.user.data.uid == baseCode[0] ? '2' : '1'\n })\n }\n\n componentWillUpdate(nextProps) {\n const {user} = this.props\n if (nextProps.user.hasError !== user.hasError) {\n this.setState({\n getBtnStatus: nextProps.user.data.uid == this.state.baseCode ? '2' : '1'\n })\n }\n }\n\n\n componentWillUnmount() {\n window.cancelAnimationFrame(this.animationId)\n this.swiper && this.swiper.destroy()\n }\n\n\n giveDetail = () => {\n http.get(`${API[\"base-api\"]}/assistance/detail`)\n .then(res => {\n const {data, msg, errno} = res.data\n if (errno === 200) {\n this.setState({\n allCourse: data.course_info,\n activeName: data.active_info.activity_name,\n activeUrl: data.active_info.activity_url,\n isAwards: data.is_awards\n })\n } else {\n showToast(msg)\n }\n })\n }\n\n assistantScroll = () => {\n http.get(`${API[\"base-api\"]}/assistance/active_detail?code=${getParam('magic_word')}`)\n .then(res => {\n const {data, msg, errno} = res.data\n if (errno === 0) {\n this.setState({\n count: data.assistant_count,\n assistItems: data.assistants,\n name: data.invitation_user_nickname,\n courseImg: data.course_image_name\n }, this.displayScrollArea)\n\n } else {\n showToast(msg)\n }\n })\n }\n\n getCourse = () => {\n _czc && _czc.push([\"_trackEvent\", '中间页免费领取课程', '中间页免费领取课程'])\n const {history, user} = this.props\n if (browser.isWeixin) {\n if (user.hasError) {\n history.push('/passport')\n return\n }\n this.setState({\n disabled: true\n })\n http.post(`${API[\"base-api\"]}/assistance/assistant`, {\n code: this.state.code,\n })\n .then(res => {\n const {errno, msg} = res.data\n let success = errno == 200\n this.setState({\n successOneStatus: success,\n errorStatus: !success,\n disabled: false\n })\n })\n\n\n } else {\n history.push('/wxerr')\n }\n }\n\n toGetDetail = courseId => {\n _czc && _czc.push([\"_trackEvent\", `课程id=${courseId}`, '中间页查看课程详情'])\n window.location.href = this.state.activeUrl\n }\n\n displayScrollArea = () => {\n let {\n assistItems: list,\n posY\n } = this.state\n if (list.length < 3) return\n if (!this.cloned) {\n const cloneNode = this.scrollContainer.firstChild.firstChild.cloneNode(true)\n this.scrollContainer.firstChild.appendChild(cloneNode)\n this.cloned = true\n }\n const h = this.scrollContainer.firstChild.offsetHeight / 2\n if (Math.abs(posY) >= h) posY = 0\n posY -= 0.5\n this.setState({\n posY,\n scrollStyle: {\n transform: `translateY(${posY}px)`,\n transition: 'all linear 0ms',\n overflow: 'hidden'\n }\n })\n this.animationId = window.requestAnimationFrame(this.displayScrollArea)\n }\n\n requestHeadItems = () => {\n http.get(`${API[\"base-api\"]}/assistance/roll_tip`)\n .then(res => {\n const {errno, data, msg} = res.data\n if (errno === 200) {\n this.setState({\n headItems: data\n }, this.setupHeadItemsSwiper)\n } else {\n showToast(msg)\n }\n })\n }\n\n setupHeadItemsSwiper = () => {\n this.swiper = new Swiper('.barrage-wrapper', {\n autoplay: {\n delay: 5000\n },\n direction: 'vertical',\n loop: true,\n allowTouchMove: false\n })\n }\n\n render() {\n const {\n isAwards,\n courseImg,\n activeName,\n name,\n getBtnStatus,\n disabled,\n count,\n allCourse,\n successOneStatus,\n errorStatus,\n activeStatus,\n friendStatus,\n assistItems,\n scrollStyle,\n headItems\n } = this.state\n const {history} = this.props\n return (\n <div id='assistance'>\n\n {<div className=\"barrage-wrapper\">\n <ul className=\"barrage-list swiper-wrapper\">\n {\n headItems.map((item, index) => {\n return (\n <li key={index} className={'swiper-slide'}>\n <div className=\"person-left\">\n <img className=\"avatar\" src={item.head_img} alt=\"\"/>\n <span className=\"name\">{item[\"nickname\"]}</span>\n </div>\n <div className=\"title\">{item[\"word\"]}</div>\n </li>\n )\n })\n }\n\n </ul>\n\n </div>}\n\n <div className=\"bg-image\" style={{backgroundImage: `url(${courseImg})`}}>\n {\n isAwards == 1 && <button className=\"ranklist-btn\" type=\"button\" onClick={() => {\n _czc && _czc.push([\"_trackEvent\", '中间页大奖排行榜', '中间页面大奖排行榜'])\n history.push(`/active/givecourse?activename=${activeName}`)\n }}>大奖排行榜>></button>\n }\n </div>\n\n\n <div className=\"christ-getwrap\">\n {\n getBtnStatus === '1' &&\n <div className=\"title\">\n <span className=\"active\">@{name}</span> 赠送您一门课程\n </div>\n }\n\n <div className=\"btn-get-wrap\">\n {\n getBtnStatus === '1'\n ?\n <button type=\"button\" className=\"btn-get\" disabled={disabled} onClick={this.getCourse}>\n 免费领取\n </button>\n :\n <button type=\"button\" className=\"btn-get\" onClick={() => {\n _czc && _czc.push([\"_trackEvent\", '中间页继续邀请好友', '中间页继续邀请好友'])\n this.setState({\n friendStatus: true\n })\n }}>\n 继续邀请好友\n </button>\n }\n </div>\n <p className=\"person-tolearn\">领取的课程可前往七月在线APP或官网学习</p>\n <div className=\"person-getwarp\">\n <div className=\"person-get\">\n 已有\n <span>{count}</span>\n 人通过助力领取课程\n </div>\n\n {\n assistItems.length ?\n <div className='scroll-container person-list' ref={el => this.scrollContainer = el}>\n <div className=\"wrapper\" style={scrollStyle}>\n <ul>\n {\n assistItems.map(item => {\n return (\n <li key={item[\"assistant_uid\"]}>\n <div className=\"person-left\">\n <img className=\"avatar\" src={item[\"avatar_file\"]} alt=\"\"/>\n <span className=\"name\">{item.user_name}</span>\n </div>\n <div className=\"person-right\">\n <span className=\"time\">{item[\"add_time\"]}前领取成功</span>\n </div>\n </li>\n )\n })\n }\n </ul>\n </div>\n </div>\n\n :\n <p className=\"person-null\">目前暂无邀请</p>\n }\n\n\n <div className=\"btn-morewap\">\n <button type=\"button\" className=\"btn-more\" onClick={() => {\n _czc && _czc.push([\"_trackEvent\", '中间页参与活动领更多课时', '中间页参与活动领更多课时'])\n this.setState({activeStatus: true})\n }}>参与活动领更多课时\n </button>\n </div>\n <p className=\"more-title\">参与活动可免费领取以下课程</p>\n <ul className=\"course-wrap\">\n {\n allCourse.map((item) => {\n return (\n <li key={item.course_id} onClick={this.toGetDetail.bind(this, item.course_id)}>\n <img src={item.image_name} alt=\"\"/>\n </li>\n )\n })\n }\n </ul>\n </div>\n </div>\n\n {\n successOneStatus &&\n <div className=\"module-dialog\">\n <div className=\"box-mask\">\n <div className=\"box-container\">\n <div className=\"box-content\">\n <div className=\"box-title\">\n <i className=\"iconfont icon-chenggong icon-right\"/>\n 领取成功\n </div>\n <div className=\"box-text\">\n <p className=\"text1\">恭喜您获得第一课的免费学习权限</p>\n </div>\n </div>\n <div className=\"box-bottom\">\n <button type=\"button\" className=\"activeallcourse\" onClick={() => {\n this.setState({activeStatus: true, successOneStatus: false})\n }}>进入服务号领取全部课时\n </button>\n </div>\n </div>\n </div>\n </div>\n }\n {\n errorStatus &&\n <div className=\"module-dialog\">\n <div className=\"box-mask\">\n <div className=\"box-container\">\n <div className=\"box-content\">\n <div className=\"box-title\" style={{color: `#f00`}}>\n 领取失败\n </div>\n <div className=\"box-text\">\n <p className=\"text1\">只能免费领取1次,想获得更多课时快去参与活动吧!</p>\n </div>\n </div>\n <div className=\"box-bottom\">\n <button type=\"button\" className=\"activeallcourse\" onClick={() => {\n this.setState({errorStatus: false, friendStatus: true})\n }}>确定\n </button>\n </div>\n </div>\n </div>\n </div>\n }\n\n {\n activeStatus &&\n <div className=\"module-dialog\">\n <div className=\"box-mask\">\n <div className=\"box-container\">\n <div className=\"box-content\">\n <div className=\"box-title\">\n <p className=\"text1\">进入服务号回复<i>77</i>免费领取课程</p>\n </div>\n <div className=\"box-bottom1\">\n <img src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/2018christyear/h5/qrcode.jpg\" alt=\"\"/>\n <p>长按扫码进入服务号</p>\n </div>\n </div>\n <div className=\"box-close\" onClick={() => {\n this.setState({activeStatus: false})\n }}>\n <i className=\"iconfont iconiconfront-2\"/>\n </div>\n </div>\n </div>\n </div>\n }\n\n {\n friendStatus &&\n <div className=\"module-dialog\">\n <div className=\"box-mask\">\n <div className=\"box-container\">\n <div className=\"box-content\">\n <div className=\"box-title\">\n <p className=\"text1\">进入服务号回复<i>77</i>免费领取课程</p>\n </div>\n\n <div className=\"box-bottom1\">\n <img src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/2018christyear/h5/qrcode.jpg\" alt=\"\"/>\n <p>长按扫码进入服务号</p>\n </div>\n </div>\n <div className=\"box-close\" onClick={() => {\n this.setState({friendStatus: false})\n }}>\n <i className=\"iconfont iconiconfront-2\"/>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n )\n }\n}\n\nexport default withRouter(GiveCourseAssistance)\n"],"sourceRoot":""}