12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822 |
- <!-- +---------------------------------------------------------------------- -->
- <!-- | CRMEB [ CRMEB赋能开发者,助力企业发展 ] -->
- <!-- +---------------------------------------------------------------------- -->
- <!-- | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved. -->
- <!-- +---------------------------------------------------------------------- -->
- <!-- | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 -->
- <!-- +---------------------------------------------------------------------- -->
- <!-- | Author: CRMEB Team <admin@crmeb.com> -->
- <!-- +---------------------------------------------------------------------- -->
- {extend name="public/container"}
- {block name="title"}{$title}{/block}
- {block name="head_top"}
- <link rel="stylesheet" type="text/css" href="{__WAP_PATH}zsff/css/video-js.min.css" />
- <script src="{__WAP_PATH}zsff/js/video.min.js"></script>
- <script src="{__WAP_PATH}zsff/js/zh-CN.js"></script>
- <link rel="stylesheet" href="{__PLUG_PATH}vue-photo-preview/skin.css">
- <script src="{__PLUG_PATH}vue-photo-preview/vue-photo-preview.js"></script>
- <style>
- body {
- padding-bottom: 1rem;
- padding-bottom: calc(1rem + constant(safe-area-inset-bottom));
- padding-bottom: calc(1rem + env(safe-area-inset-bottom));
- }
- .video-js .vjs-big-play-button {
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- }
- .navCon {
- position: relative;
- padding: 0 0.3rem;
- }
- .swiper-details .swiper-nav .free {
- position: absolute;
- font-size: 0.2rem;
- color: #fff;
- left: 67%;
- top: 0;
- margin-top: -0.5rem;
- animation: stone linear 1s infinite alternate;
- -webkit-animation: free linear 1s infinite alternate;
- }
- .swiper-details .swiper-nav .free .freeCon {
- width: 1.1rem;
- height: 0.4rem;
- border-radius: 0.05rem;
- background-color: #ea2f2f;
- position: relative;
- left: 0.5rem
- }
- .swiper-details .swiper-nav .free .freeCon:after {
- content: "";
- width: 0;
- height: 0;
- border-left: 0.1rem solid transparent;
- border-right: 0.1rem solid transparent;
- border-top: 0.13rem solid #ea2f2f;
- position: absolute;
- bottom: -0.1rem;
- left: 50%;
- margin-left: -0.1rem;
- }
- @keyframes free {
- from {
- transform: scale(1);
- }
- to {
- transform: scale(0.9);
- }
- }
- @-webkit-keyframes stone {
- from {
- transform: scale(1);
- }
- to {
- transform: scale(0.9);
- }
- }
- /*这里开始*/
- .video_footer_img {
- width: 0.4rem;
- height: 0.4rem;
- margin-right: auto;
- margin-left: auto;
- }
- .video_footer_img img {
- width: 100%;
- height: 100%;
- display: block;
- }
- .video_footer_img2 {
- width: 0.4rem;
- height: 0.4rem;
- margin-right: auto;
- margin-left: auto;
- }
- .video_footer_img2 img {
- width: 100%;
- height: 100%;
- display: block;
- }
- .video_footer_tit {
- font-weight: 400;
- font-size: 0.18rem;
- line-height: .36rem;
- color: #666;
- }
- .video_footer_left {
- width: .9rem;
- height: 1rem;
- line-height: 1rem;
- text-align: center;
- }
- .video_footer_left .cont {
- display: inline-block;
- vertical-align: middle;
- font-weight: 400;
- font-size: .18rem;
- line-height: .36rem;
- color: #666;
- }
- .video_footer_btn {
- -webkit-flex: 1;
- flex: 1;
- height: 0.76rem;
- border-radius: 37px;
- }
- .video_footer_btn_left {
- width: 50%;
- height: 100%;
- border-radius: 37px 0px 0px 37px;
- background: #FF6B00;
- }
- .video_footer_btn_right {
- width: 50%;
- height: 100%;
- border-radius: 0px 37px 37px 0px;
- /* background: linear-gradient(90deg, rgba(64, 157, 255, 1) 0%, rgba(30, 133, 251, 1) 100%); */
- background-color: #191C6E;
- }
- .video_footer_btn_left_pic {
- font-size: 0.28rem;
- line-height: .22rem;
- color: #fff;
- text-align: center;
- }
- .video_footer_btn_left_num {
- font-size: 0.2rem;
- line-height: .2rem;
- color: #fff;
- text-align: center;
- }
- .video_footer_btn_left_pic+.video_footer_btn_left_num {
- margin-top: .09rem;
- }
- footer .video_footer_btn .on {
- width: 100% !important;
- border-radius: 37px !important;
- }
- video {
- width: 100%
- }
- .labelItem {
- font-size: 0.24rem;
- color: #999;
- font-weight: 400;
- background-color: #F2F8FF;
- padding: 0.04rem 0.1rem;
- border-radius: 0.06rem;
- color: #191C6E;
- }
- .catalogue {
- background-color: #fff;
- }
- .video-listn {
- background-color: #fff;
- }
- .teacher {
- margin-top: .16rem;
- background-color: #fff;
- }
- .teacher .teacher-hd {
- padding: .2rem .3rem 0;
- font-weight: bold;
- font-size: .3rem;
- line-height: .42rem;
- color: #333;
- }
- .teacher .teacher-bd {
- display: -webkit-box;
- display: -webkit-flex;
- display: flex;
- -webkit-box-align: center;
- -webkit-align-items: center;
- align-items: center;
- padding: .28rem .3rem .3rem;
- }
- .teacher .teacher-bd .img {
- width: 1.1rem;
- height: 1.1rem;
- border-radius: 50%;
- object-fit: cover;
- }
- .teacher .teacher-bd .text {
- -webkit-box-flex: 1;
- -webkit-flex: 1;
- flex: 1;
- min-width: 0;
- margin-right: .08rem;
- margin-left: .2rem;
- }
- .teacher .teacher-bd .name {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- font-weight: bold;
- font-size: .3rem;
- line-height: .42rem;
- color: #282828;
- }
- .teacher .teacher-bd .label {
- display: -webkit-box;
- display: -webkit-flex;
- display: flex;
- -webkit-box-align: center;
- -webkit-align-items: center;
- align-items: center;
- margin-top: .06rem;
- }
- .teacher .teacher-bd .label .cell {
- height: .34rem;
- padding: 0 .12rem;
- border-radius: .04rem;
- background-color: #fff7e6;
- font-size: .22rem;
- line-height: .34rem;
- color: #feb720;
- }
- .teacher .teacher-bd .label .cell~.cell {
- margin-left: .1rem;
- }
- .teacher .teacher-bd .attr {
- margin-top: .09rem;
- font-size: .22rem;
- line-height: .37rem;
- color: #385270;
- }
- .teacher .teacher-bd .iconfont {
- font-size: .2rem;
- color: #999;
- }
- .teacher-section {
- border-top: .14rem solid #f5f5f5;
- }
- .teacher-table {
- display: -webkit-box;
- display: -webkit-flex;
- display: flex;
- -webkit-box-align: center;
- -webkit-align-items: center;
- align-items: center;
- height: 1.5rem;
- }
- .teacher-table .item {
- -webkit-box-flex: 1;
- -webkit-flex: 1;
- flex: 1;
- position: relative;
- min-width: 0;
- font-size: 0.24rem;
- text-align: center;
- color: #999999;
- }
- .teacher-table .item:last-child::before {
- content: "";
- position: absolute;
- top: 50%;
- left: 0;
- width: 0.02rem;
- height: 0.4rem;
- background-color: #e8e8e8;
- -webkit-transform: translateY(-50%);
- transform: translateY(-50%);
- }
- .teacher-table .item .learn {
- font-size: 0;
- }
- .teacher-table .item .learn span {
- font-size: .24rem;
- }
- .teacher-table .item .learn span:nth-child(2) {
- font-weight: bold;
- font-size: .28rem;
- }
- .teacher-table>div:last-child>div:first-child {
- margin-bottom: 0.06rem;
- }
- .teacher-table .num {
- font-size: 0.38rem;
- color: #333333;
- }
- .teacher-table img {
- width: 0.5rem;
- height: 0.5rem;
- border: 2px solid #FFFFFF;
- border-radius: 50%;
- margin-left: -0.15rem;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- background-color: #191C6E;
- vertical-align: middle;
- object-fit: cover;
- pointer-events: none;
- -webkit-touch-callout: none;
- }
- .teacher-detail-wrap {
- padding: 0 0.3rem 0.3rem;
- }
- .teacher-detail-wrap a {
- display: block;
- padding: 0.3rem;
- border-radius: 0.04rem;
- background-color: #f9fafc;
- }
- .teacher-detail-wrap .iconfont {
- color: #666666;
- }
- .teacher-detail-wrap .detail-hd {
- display: -webkit-box;
- display: -webkit-flex;
- display: flex;
- -webkit-box-align: center;
- -webkit-align-items: center;
- align-items: center;
- }
- .teacher-detail-wrap .detail-hd .head {
- width: 0.9rem;
- height: 0.9rem;
- border-radius: 50%;
- overflow: hidden;
- }
- .teacher-detail-wrap .detail-hd img {
- display: block;
- width: 100%;
- height: 100%;
- object-fit: cover;
- }
- .teacher-detail-wrap .detail-hd .text {
- -webkit-box-flex: 1;
- -webkit-flex: 1;
- flex: 1;
- min-width: 0;
- margin: 0 0.18rem;
- font-weight: bold;
- font-size: 0.3rem;
- color: #282828;
- }
- .teacher-detail-wrap .detail-hd span {
- display: inline-block;
- height: 0.34rem;
- padding: 0 0.12rem;
- border-radius: 0.1rem;
- background-color: #FFF0E5;
- font-weight: normal;
- font-size: 0.2rem;
- line-height: 0.34rem;
- color: #FF6B00;
- }
- .teacher-detail-wrap .detail-hd span~span {
- margin-left: .1rem;
- }
- .teacher-detail-wrap .detail-bd {
- margin-top: 0.2rem;
- font-size: 0.26rem;
- line-height: 0.38rem;
- color: #666666;
- }
- .scroll-section {
- display: -webkit-box;
- display: -webkit-flex;
- display: flex;
- -webkit-box-align: center;
- -webkit-align-items: center;
- align-items: center;
- margin-top: 0.14rem;
- background-color: #FFFCF6;
- font-size: 0.24rem;
- }
- .scroll-section .label {
- width: 2rem;
- padding-left: 0.75rem;
- background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAADgklEQVRYR+2ZQXbaMBCG/zFdkFXJCaqcoOkJCpu+mk3TE4ScoOQEISdIcoLQE6Td4Pe6SXKCkhNEvQFZNRuYPsmykRQbY6CVF2UHNvKn8a9/RiPCX/hwIrrMuADhEMAdtXBKH+R0F4+iXQxij8GJOGNg5IzLmNEeDqgnZ9s+b2fAfCs6/IwbAN0iKGJ8pr781ghgI4EbEDoZEANfoSJL+KJ+Y+C8FUs38hvQbx3hAgk8ETCkWI7niRgRcNYI4BIJPFALg2yBNQa4TAJRG0N7YdUF5kQMGLgGY0p76BUt0tqSWCUBX5J1gRcTcQfCez1OCbQG5kQcMzCoXAOMjvHW7FZHAtsC80QcMWmnSZkZV62+HNrjEk/EkAkXlbDeDcoFfAlsC6z+P5+Iy8xZ1HffDmmRiEcAogZw7gJV/6kriWw8RxqAjGJ5kF1TwJx/AXpVEAAkxVKucR82BTYOpJ7x2rdEBziKZe1FuAp8U2AtDcvDVQKK+nJfS8SO8L8C5kQIVRwxYdaK5UnRpHWUf2MKwhsNCpyoZBQE2Il8gRPkLpH5cvrD9yiWR0GAffsqK4z0mwCUKegPtbEfBNhodEzAsWFxnMCWyCIRqo5+m1tcCA1b9iV9jVZ5ebAIa7uyNKoSUSuWL7KtrluAWz0Rxn1o4KVGLeuyo+wBT4MCK7DFROSyKLNVJ7mF1LABzis0auFd0Wb1P3BZel4nNdvFV+Ml4SWGpyiW+SbWynZLlwAegi467w0029ZMcfOYtQbK0rNd0KtWQbAIzxNxTdm2jHEf9WVhA2YxET+zbZmeVAhbszOcKR17FMs7f/E2pviZJyIvfFZ1hJwiPmh5+UMc8hwjZkh/V5y7Q1rALzUesoBfta3KrnlbpF9RX+qNchANVwG/cBAT3cYC284ARh7dFNiqlqpmbmrSGUUY0Ud5VXX/Oqm5oGBf2l26+XQcZOPOjz4KSF9VaY+iLrBvd0UOkvXWBsxr9NbShrXeX+XRJlxSLM+Lol0X2GsGFiaT2o0T04tTnXTdlTHgU3qFE7+WrQts9fkeqI3uTtqtZi+mGiHjvDVquAkY2dGuC6zHvhWdVYc3tSPs7LfSzufLaBNOVardBLhqIW8FnEWEnzEG8MmZDONSLfLGHcrkMk6b0Qp8qW1rBo069nLyf0G0ATxRG6JRB4uOHNLmh5KEssCVxwpVmvWv/wGVY//ZbDJkGgAAAABJRU5ErkJggg==") 0.3rem center/0.26rem 0.22rem no-repeat;
- color: #FEB720;
- }
- .scroll-section .swiper-container {
- position: relative;
- -webkit-box-flex: 1;
- -webkit-flex: 1;
- flex: 1;
- min-width: 0;
- height: 0.62rem;
- padding-left: 0.16rem;
- line-height: 0.62rem;
- }
- .scroll-section .swiper-container::before {
- content: "";
- position: absolute;
- top: 50%;
- left: 0;
- width: 1px;
- height: 0.24rem;
- border-left: 1px solid #999999;
- -webkit-transform: translateY(-50%);
- transform: translateY(-50%);
- }
- .process-section {
- margin-top: .14rem;
- background-color: #FFFFFF;
- }
- .process-section .title {
- display: -webkit-box;
- display: -webkit-flex;
- display: flex;
- -webkit-box-align: center;
- -webkit-align-items: center;
- align-items: center;
- height: .86rem;
- padding-right: .3rem;
- padding-left: .3rem;
- font-size: .28rem;
- color: #282828;
- }
- .process-section .list {
- display: -webkit-box;
- display: flex;
- -webkit-box-pack: justify;
- justify-content: space-between;
- -webkit-box-align: center;
- align-items: center;
- height: 1.1rem;
- padding-right: .3rem;
- padding-left: .3rem;
- border-top: 1px solid #EEEEEE;
- }
- .process-section .list .item {
- padding-right: 0 !important;
- }
- .process-section .list .item~.item {
- padding-left: .67rem;
- border: none !important;
- background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAAoCAYAAACrUDmFAAAGKklEQVRoQ91a3W8U1xX/nXvvrGcnXhwEdgIlKSp22sSO8ceWGKsJS1pBhKhUVeC3PvSp/TP2L8hLnvoQ5SlShJGiSCiv3lAFTDS7yDYmFnaiQojs2vhz2a/ZmXuqY60j4jhpsBdp4nncPXPv/Z3f+b5DiNFz586dRLVaPeC6rtFa16Moqi0tLVXPnj0b7vaYtNsXm/ne2NiYOXLkSLJYLLYrpY4rpVJhGAaO4ywHQfDA87yVq1evhtls1j7tvrEAODMzkyqVSseIqI+ZzzHzrwGUieiutfZTIrrjuu5GT09P8IsEODEx0QGgJ4qiM8z8VwCdAKoA7jLzNQDjxph7xpilp2UyFgz6vv8yEb0J4AyAtwEcBxAx8woRfc3M4wAE6NTTMhkLgIVC4ai19pRS6g8A/sjMXQBaAIjPlffCZCwATkxMPBcEwQtKqd8DuAwgDeAwgCSAcC9MxgIgM6tcLpfwPO+3xpjzzDxMRN0AjuyVyVgAlMgoIG/evPm81volx3HS1to/S1TdK5OxAbgFstlMxgrgs2AydgCbzWQsATaTydgCbBaTsQbYDCYFIGWzWbp48aIuFoucyWQiIuKdilpmpnw+b+S/a9euRT9W3YtcLpfTIpfJZKQa4Z9YU42OjtLly5cxOjqKkZGRTfkn999tniyXyyt05coV3draajo6OtwwDLlSqZR/rP/yfd8B4MnmrutWuru76zsdXNqf9vZ21xhD8/PzdalGdlKcHHxubs5ZX1/XjuNQqVSyDx8+DEZGRqLtCt5NngyC4J4wMmitdYlIkmzAzN8CWFpYWNi4cOFCTTYaGxtzU6nUQSJql+rCWivsPLLWLq2trS2eP3++1DAnMzc351UqlcNRFL0cRdFzjbZnWSn1oK+vb10Uks1m1aVLlwwzH6zVasdlb7EkIloHcD+VSi13dnaK8r7X//1cJoloWowsiqJZAfgegFZmPkpEa9KaWGtva62nBwYGluTgvu8LqLRSqr9RXSSY+WsiKgRBkDt9+vR/RG52dvZAuVwWYP3W2j8R0a8AbACYAPDxxsbGXWFyenraIaLWIAh6rbV/AfAqESlmvsfMn4RhOHHo0KG1rq6uTQVvN9f/V/EAWAYwB2CVfN8vyGYAXiSiR0IYgByA6wMDA/dl8Xw+30lEF5g5A+CUWCgzywIi92E6nZ4SOenroih6Xdoea630dSeI6DGAfzPze8Vi8WYmkwny+bwrJZjW+k1r7T8axbUweBvA+0R03XGc+Z6eHnn3Bw8z68nJSXGpAQB/AyBdiCjzQMOSqg2yasLgQwCJxp8C8AsiyjHzp4ODgwIChULhNQCXGgC7mVmq/HkAnxHRvwYHB/MiNz4+fkxrPaSUkr5OiubfAKgz8+cA3k0mk9dlxpJMJsWPjxljziil/m6tHSDaDOiTRPShrGuM+aq3t3e1GQCvM7P0Xm1KqRVmvk1E0mB+x6Dv+8LEOwCGAPxOGASwII2oMeajvr4+sXlMTU29EASBjB3eICIB+RIzB0opH8AHWmu/t7e3msvlki0tLS8mEolTRCSK6xb6AMwQ0Sda61ue5z3o6uoS896biRYKhX8y8wFmPqaUEpPIh2E4Y639ZmhoaHODycnJg2EYnmBmAdcLQKLpV0T0pdZ66uTJk4sid+PGjaQx5rAx5hVr7TAAGSKJX89GUfR5Op0Wk7eNFOJ6nndCa/2WdPBEpInogSi2ra1tdnV1tZxOpyUCf/fsKsj4vv+6Ukp88GhD2zOlUmmhXq9XttKFjPPET2u1mvhpVyOK3q/VagsAVoaHhytyiq3oGEVRR71ef03ekciotf7vTozcunXrkOM4rzDzYfErIlomopn+/v5H29PPrtOE7/ttURSZlpYWcVrrum5R/OTJvLV18MePH7uJRKJVKUXFYrGsta5uz1sie+7cuRal1OZ8k4jqnudVOzs7ZUr2vfmmKK5UKqW01glZ01obLC4uFrfS0xZ1P5e57aONzUS/kxPH6bfdMPfkcCrWAHfL3JPjxdgC3CtzW1YYS4DNYC62AJvFXCwBNpO52AFsNnOxAvgsmIsVwH0/ut/3ly/7/vps31+A7vsr7H3/EcJWSH8Wn5H8D2fpbyp9zLJtAAAAAElFTkSuQmCC") left center/.28rem .2rem no-repeat;
- }
- .process-section .list .item span {
- display: inline-block;
- box-sizing: border-box;
- vertical-align: middle;
- font-size: .26rem;
- line-height: .37rem;
- color: #282828;
- }
- .process-section .list .item span:first-child {
- width: .28rem;
- height: .28rem;
- border: 1px solid #282828;
- border-radius: 50%;
- margin-right: .06rem;
- font-size: .22rem;
- line-height: .24rem;
- text-align: center;
- color: #282828;
- }
- .thematic-details .poster {
- position: fixed;
- top: 15%;
- left: 15%;
- width: 70%;
- z-index: 60
- }
- .thematic-details .poster img {
- width: 100%
- }
- .thematic-details .poster p {
- color: #eee;
- font-size: 14px;
- margin-left: 25%
- }
- .certificate-image {
- position: fixed;
- top: 50%;
- left: 50%;
- z-index: 56;
- width: 6rem;
- -webkit-transform: translate(-50%, -50%);
- transform: translate(-50%, -50%);
- }
- .evaluate-section .head {
- display: -webkit-box;
- display: flex;
- -webkit-box-pack: justify;
- justify-content: space-between;
- -webkit-box-align: center;
- align-items: center;
- padding: .33rem .3rem .13rem;
- }
- .evaluate-section .score {
- display: -webkit-box;
- display: flex;
- -webkit-box-align: center;
- align-items: center;
- }
- .evaluate-section .score div:first-child {
- font-size: .28rem;
- color: #ff6b00;
- }
- .evaluate-section .score span {
- margin-right: .05rem;
- font-weight: bold;
- font-size: .44rem;
- }
- .evaluate-section .score div:last-child {
- width: 1.7rem;
- height: .42rem;
- border-radius: .21rem;
- margin-left: .15rem;
- background-color: #f5f5f5;
- font-size: .24rem;
- line-height: .42rem;
- text-align: center;
- color: #999;
- }
- .evaluate-section .head button {
- width: 1.6rem;
- height: .56rem;
- border-radius: .28rem;
- background: #191C6E;
- font-size: .26rem;
- color: #fff;
- }
- .dialog {
- position: fixed;
- top: 50%;
- right: .85rem;
- left: .85rem;
- z-index: 56;
- display: none;
- max-height: 90%;
- padding: .5rem 0;
- border-radius: .12rem;
- background-color: #FFFFFF;
- transform: translateY(-50%);
- text-align: center;
- font-size: .3rem;
- color: #333333;
- opacity: 0;
- }
- .dialog.show {
- display: block;
- opacity: 1;
- }
- .dialog img {
- width: 3.54rem;
- height: 3.54rem;
- margin-bottom: .2rem;
- vertical-align: middle;
- object-fit: contain;
- }
- a[href^="tel"] {
- color: #191C6E;
- }
- </style>
- {/block}
- {block name="content"}
- <div v-cloak id="app" class="thematic-details">
- {if !$subscribe && $is_official_account_switch}
- <div class="follow acea-row row-between-wrapper" v-if="topFocus">
- <div class="picTxt">点击“立即关注”即可关注公众号</div>
- <div>
- <div class="followBnt" @click="is_code=true">立即关注</div>
- <span class="iconfont iconguanbi2" @click="topFocus = false"></span>
- </div>
- </div>
- {/if}
- <div class="swiper-details">
- <div class="banner slider-banner">
- <ul class="swiper-wrapper">
- <li class="swiper-slide" v-for="swiper in swiperlist">
- <img :src="swiper" />
- </li>
- </ul>
- <div class="swiper-pagination"></div>
- </div>
- <div class="successTip" v-if="barrageStatus">
- <div class="picTxt acea-row row-middle" v-for="(item,index) in Barragelist" v-show="num==index">
- <div class="pictrue"><img :src="item.avatar"></div>
- <div class="acea-row row-middle" style="flex: 1;overflow: hidden;white-space: nowrap;">
- <div class="name line1">{{item.nickname}}</div>
- <div v-text="item.status_name" style="flex: 1;overflow: hidden;text-overflow: ellipsis;"></div>
- </div>
- </div>
- </div>
- <div class="swiper">
- <div v-if="special_validity == -1" class="validity">
- <template v-if="special.validity">课程有效期为{{ special.validity }}天,过期后需重新购买哦!</template>
- <template v-else>课程永久有效哦!</template>
- </div>
- <div v-else-if="special_validity == 0" class="validity">课程永久有效哦!</div>
- <div v-else-if="special_validity > 0" class="validity">
- 课程有效期剩余{{ special_validity | validityFormat }},过期后需重新购买哦!</div>
- <div class="name" v-text="special.title"
- style="padding:0.25rem 0.3rem 0;font-size:0.32rem;line-height:0.5rem;color:#333333;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;">
- 加载中
- </div>
- <div class="swiper-int">
- <div class="swiper-int-top">
- <div class="swiper-int-top-left">
- <div v-if="special.label.length" class="attr">
- <div v-for="item in special.label">{{item}}</div>
- </div>
- </div>
- <div class="acea-row row-middle" style="margin-top: .14rem;">
- <div class="pin-money" v-if="is_pay==false">
- <span class="price">¥<b>{{ special.is_pink ? special.pink_money : special.money }}</b></span>
- <!-- <span class="vip-price">¥{{ special.member_money }}</span>
- <img class="vip-price-icon" src="{__WAP_PATH}zsff/images/vip.png"> -->
- </div>
- <div class="pin-money" v-else v-show="is_pay==false">拼课价<span class="money">¥{{special.pink_money}}</span></div>
- </div>
- </div>
- <div class="collect" @click="createSharePoster">
- <div class="iconfont iconfenxiang"></div>
- <div>分享</div>
- </div>
- <div class="collect" @click="collect">
- <div :class="['iconfont', special.collect ? 'iconshoucang2' : 'iconshoucang11']"></div>
- <div>{{special.collect ? '已收藏': '收藏'}}</div>
- </div>
- </div>
- </div>
- <!-- <template v-if="special.service_code">
- <div class="pinTip2 acea-row row-between-wrapper" v-if="is_pay || isMember && special.member_pay_type==0">
- <div class="reminder line1">和小伙伴一起学习,有老师答疑哦~</div>
- <div class="chatBnt acea-row row-center-wrapper" @click=" open = false ">加入群聊</div>
- </div>
- </template> -->
- <div class="teacher-section">
- <div class="teacher-table">
- <div class="item">
- <div class="num">{{ count }}</div>
- <div>总节数</div>
- </div>
- <div class="item">
- <div>
- <template v-for="(item, index) in record.record">
- <img v-if="index < 5" :key="index" :src="item.avatar">
- </template>
- </div>
- <div class="learn"><span>已有</span><span>{{ record.recordCoujnt }}</span><span>人学习</span></div>
- </div>
- </div>
- <div v-if="lecturer" class="teacher-detail-wrap">
- <a :href="'{:url('merchant/teacher_detail')}' + '?id=' + special.lecturer_id">
- <div class="detail-hd">
- <div class="head">
- <img :src="lecturer.lecturer_head">
- </div>
- <div class="text">
- <div>{{ lecturer.lecturer_name }}</div>
- <div v-if="lecturer.label.length">
- <template v-for="(item, index) in lecturer.label">
- <span v-if="index < 3" :key="index">{{ item }}</span>
- </template>
- </div>
- </div>
- <div class="iconfont iconxiangyou"></div>
- </div>
- </a>
- </div>
- </div>
- <!-- 关联资料 -->
- <div v-if="materialList.length" class="material">
- <a v-for="item in materialList" :key="item.id" :href="'{:url('special/data_details')}?id=' + item.id">
- <div>
- <img :src="item.image" alt="">
- </div>
- <div>
- <div>{{ item.title }}</div>
- <div v-if="item.pay_type" class="money">¥<span>{{ item.money }}</span></div>
- <div v-else>免费</div>
- <div>
- <div>{{ item.ficti + item.sales }}人已下载</div>
- <button type="button">去下载</button>
- </div>
- </div>
- </a>
- </div>
- <div v-if="pinkIngList.length && is_pay==false" class="scroll-section">
- <div class="label">已拼{{ scrollData.length }}件</div>
- <div id="scroll" class="swiper-container">
- <div class="swiper-wrapper">
- <div v-for="(item, index) in scrollData" :key="index" class="swiper-slide">{{ item.nickname }}拼团成功
- </div>
- </div>
- </div>
- </div>
- <div class="list" v-if="pinkIngList.length && is_pay==false">
- <div class="item acea-row row-middle" v-for="item in pinkIngList">
- <div class="pictrue"><img :src="item.avatar"></div>
- <div class="name line1" v-html="item.nickname"></div>
- <div class="left">
- <div>还差<span>{{item.num}}人</span>成团</div>
- <div class="time">剩余{{item.difftime.hour}}:{{item.difftime.minute}}:{{item.difftime.second}}</div>
- </div>
- <a class="acea-row row-center-wrapper link" href="javascript:;" @click="goPink(item.id,item.uid)">
- 去拼单
- <span class="iconfont iconxiangyou"></span>
- </a>
- </div>
- </div>
- <div v-if="special.is_pink" class="process-section">
- <div class="title">拼团玩法</div>
- <div class="list">
- <div class="item">
- <span>1</span>
- <span>开团/参团</span>
- </div>
- <div class="item">
- <span>2</span>
- <span>邀请好友</span>
- </div>
- <div class="item">
- <span>3</span>
- <span>满员成团</span>
- </div>
- </div>
- </div>
- <!-- 导航栏 -->
- <div ref="list" class="swiper-nav">
- <div class="navCon acea-row row-middle">
- <template v-if="special.type === 4">
- <div v-for="nav in liveNavlist" :key="nav.value" :class="{ on: active === nav.value }" class="item" @click="active = nav.value">
- {{ nav.title }}
- </div>
- </template>
- <template v-else-if="special.type === 5">
- <div v-for="nav in cloumnNavlist" :key="nav.value" :class="{ on: active === nav.value }" class="item" @click="active = nav.value">
- {{ nav.title }}<span v-if="nav.value === 5">({{ evaluateWhole }})</span></div>
- </template>
- <template v-else>
- <div v-for="nav in otherNavlist" :key="nav.value" :class="{ on: active === nav.value }" class="item" @click="active = nav.value">
- {{ nav.title }}<span v-if="nav.value === 5">({{ evaluateWhole }})</span></div>
- </template>
- </div>
- </div>
- <!-- 详情 -->
- <div v-show="active === 2" class="swiper-conter" v-html="special.content"></div>
- <template v-if="special.type === 4">
- <!-- 回放目录 -->
- <div v-show="active === 1" class="replay-directory">
- <ul v-if="liveTaskList.length">
- <li v-for="(item, index) in liveTaskList" :key="index" :class="{ active: RecordId === item.RecordId }" class="item"
- @click="playBackRecord(item.RecordId)">
- <div class="label">回放</div>
- <div class="name">{{ index | serial }} |
- {{ item.playback_name || special.title }}
- </div>
- <div></div>
- </li>
- </ul>
- <div class="foot">
- <span v-show="liveLoading" class="fa fa-spinner loadingpic"></span>
- </div>
- </div>
- </template>
- <template v-else>
- <div v-show="active === 1">
- <div ref="list">
- <div v-if="special.sum && special.type != 5" class="special-tip">
- 已更新至{{ special.quantity }}节/共{{ special.sum }}节</div>
- <!-- 专栏目录 -->
- <ul v-if="special.type === 5" class="parent-catalogue">
- <template v-for="specialItem in otherTaskList">
- <li :key="specialItem.id" :class="{ active: specialItem.active }" @click="show(specialItem)">
- <div class="parent-title">
- <div class="name">{{ specialItem.title }}</div>
- <div :class="[specialItem.active ? 'iconxiangshang' : 'iconxiangxia', 'iconfont']">
- </div>
- </div>
- <ul v-if="specialItem.special_task.length" class="catalogue">
- <li v-for="(item, index) in specialItem.special_task" :key="item.id" @click.stop="play(item)">
- <div>
- <img v-if="item.type == 1 || item.light_type == 1" src="{__WAP_PATH}zsff/images/media1.png">
- <img v-else-if="item.type == 2 || item.light_type == 2" src="{__WAP_PATH}zsff/images/media2.png">
- <img v-else-if="item.type == 3 || item.light_type == 3" src="{__WAP_PATH}zsff/images/media3.png">
- </div>
- <div class="text">
- <div class="title">{{ index >= 9 ? index + 1 : '0' + (index + 1) }} |
- {{ item.title }}</div>
- <div class="try-progress">
- <div v-if="!is_pay && (special.member_pay_type || !isMember) && item.is_free && item.is_try"
- class="try">试看</div>
- <template v-if="isLogin && (is_pay || (!special.member_pay_type && isMember))">
- <div v-if="item.watch && item.watch.percentage" class="progress">
- 已学习{{ item.watch.percentage }}%</div>
- <div v-else class="progress no">未学习</div>
- </template>
- </div>
- </div>
- <div class="status">
- <i v-if="item.is_free" :class="[item.pay_status ? 'iconsuozi' : 'iconziyuan2', 'iconfont']"></i>
- <span v-else class="free">免费</span>
- </div>
- </li>
- </ul>
- </li>
- </template>
- </ul>
- <!-- 专题目录 -->
- <ul v-else class="catalogue">
- <li v-for="(item, index) in otherTaskList" :key="item.id" @click="play(item)">
- <div>
- <img v-if="item.type == 1" src="{__WAP_PATH}zsff/images/media1.png">
- <img v-else-if="item.type == 2" src="{__WAP_PATH}zsff/images/media2.png">
- <img v-else-if="item.type == 3" src="{__WAP_PATH}zsff/images/media3.png">
- </div>
- <div class="text">
- <div class="title">{{ index >= 9 ? index + 1 : '0' + (index + 1) }} | {{ item.title }}
- </div>
- <div class="try-progress">
- <div v-if="!is_pay && (special.member_pay_type || !isMember) && item.is_free && item.is_try" class="try">试看</div>
- <template v-if="isLogin && (is_pay || (!special.member_pay_type && isMember))">
- <div v-if="item.watch && item.watch.percentage" class="progress">
- 已学习{{ item.watch.percentage }}%</div>
- <div v-else class="progress no">未学习</div>
- </template>
- </div>
- </div>
- <div class="status">
- <i v-if="item.is_free" :class="[item.pay_status ? 'iconsuozi' : 'iconziyuan2', 'iconfont']"></i>
- <span v-else class="free">免费</span>
- </div>
- </li>
- </ul>
- </div>
- <p class="loading-line" style="background-color: #ffffff">
- <span v-show="otherLoading==true" class="fa fa-spinner loadingpic" style="font-size: 0.4rem"></span>
- <span v-text="otherLoadTitle">加载更多</span>
- </p>
- </div>
- </template>
- <!-- 专栏套餐 -->
- <template v-if="special.type === 5">
- <div v-show="active === 6" class="video-list" style="-webkit-overflow-scrolling: touch;">
- <div v-if="columnTaskList.length" ref="list">
- <div class="video-listn" style="padding:0.3rem 0;">
- <div class="item acea-row row-between-wrapper" v-for="vo in columnTaskList" @click="setMeal(vo)">
- <div class="pictrue" @click="play(vo)" style="position: relative">
- <img :src="vo.image" alt="">
- <div class="label">{{specialType[vo.type]}}</div>
- </div>
- <div class="underline">
- <div class="text acea-row row-between row-column">
- <div class="name line1" v-text="vo.title" @click="setMeal(vo)"></div>
- <div v-if="vo.label.length" class="attr">
- <div v-for="item in vo.label">{{item}}</div>
- </div>
- <template v-if="special.pay_type">
- <template v-if="vo.pay_status">
- <template v-if="isMember">
- <div v-if="vo.member_pay_type" class="price">
- ¥{{vo.member_money === '0.00' ? vo.money : vo.member_money}}
- </div>
- <div v-else class="free">去学习</div>
- </template>
- <div v-else class="price">¥<span>{{vo.money}}</span></div>
- </template>
- <div v-else class="free">去学习</div>
- </template>
- <div v-else class="free">去学习</div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <p class="loading-line" style="background-color: #ffffff">
- <span v-show="columnLoading==true" class="fa fa-spinner loadingpic" style="font-size: 0.4rem"></span>
- <span v-text="columnLoadTitle">加载更多</span>
- </p>
- </div>
- </template>
- <template v-if="special.type !== 4">
- <!-- 练习 -->
- <div v-show="active === 3" class="problem-section">
- <ul v-if="problemList.length">
- <li v-for="item in problemList" :key="item.id">
- <div :class="{ lock: !is_pay }" class="title">{{ item.title }}</div>
- <div class="group">
- <div class="progress">
- <div :style="{ width: item.rate + '%' }"></div>
- </div>
- <div class="people"><span>{{ item.rate + '%' }}</span>{{ item.answer }}人已答题</div>
- <a href="javascript:" @click="goQuestion(item)">
- <img src="{__WAP_PATH}zsff/images/question07.png">练习
- </a>
- </div>
- </li>
- </ul>
- </div>
- <!-- 考试 -->
- <div v-show="active === 4" class="question-section">
- <ul v-if="questionList.length">
- <li v-for="(item, index) in questionList" :key="item.id" @click="goQuestion(item)">
- <div>
- <img :src="item.image" alt="">
- </div>
- <div>
- <div>{{ item.title }}</div>
- <div>
- <div>共{{ item.item_number }}题</div>
- <div v-if="is_pay" class="btn">
- <img src="{__WAP_PATH}zsff/images/question07.png" alt="">答题
- </div>
- <div v-else>
- <img class="lock" src="{__WAP_PATH}zsff/images/question06.png" alt="">
- </div>
- </div>
- </div>
- </li>
- </ul>
- </div>
- <!-- 评价 -->
- <div v-show="active === 5" class="evaluate-section">
- <div class="head">
- <div class="score">
- <div><span>{{ evaluateScore }}</span>分</div>
- <div>课程评分</div>
- </div>
- <button type="button" @click="userEvaluate">我要答题</button>
- </div>
- <evaluate-list :evaluate-list="evaluateList"></evaluate-list>
- <div v-if="evaluateLoading" class="loading">
- <i class="fa fa-spinner fa-spin"></i>
- </div>
- <div v-if="evaluateFinished && evaluateList.length" class="finished">已全部加载完</div>
- <div v-if="evaluateFinished && !evaluateList.length" class="empty">
- <img src="{__WAP_PATH}zsff/images/empty.png" alt="暂无评价">
- <div>暂无评价</div>
- </div>
- </div>
- </template>
- </div>
- <footer class="acea-row row-middle" ref="storeMenu" v-if="is_pay==false && is_gift==false && isPink==false">
- <a class="link" href="{:Url('wap/index/index')}">
- <div class="cont">
- <img src="{__WAP_PATH}zsff/images/special01.png">
- <div>首页</div>
- </div>
- </a>
- <a class="link" href="javascript:" @click="customerService">
- <div class="cont">
- <img src="{__WAP_PATH}zsff/images/special02.png">
- <div>客服</div>
- </div>
- </a>
- <!-- <a v-if="(special.pay_type == 1 && special.type == 4) || special.money > 0" class="link" href="javascript:;" @click="OpenPay(1)">
- <div class="cont">
- <img src="{__WAP_PATH}zsff/images/special03.png">
- <div>送朋友</div>
- </div>
- </a> -->
- <div class="wrap">
- <div class="video_footer_btn acea-row" :class="special.pay_type == 1 ? '': 'item2'">
- <div class="video_footer_btn_left acea-row row-column row-center-wrapper"
- v-if="(special.is_pink && ((special.member_pay_type == 1 && isMember == 1) || isMember == 0))" @click="OpenPay(3)">
- <span class="video_footer_btn_left_pic">¥{{special.pink_money}}</span>
- <span class="video_footer_btn_left_num">{{special.pink_number}}人团</span>
- </div>
- <div class="video_footer_btn_right acea-row"
- :class="(special.is_pink == 0 || (special.is_pink && isMember == 1 && special.member_pay_type == 0)) ? 'on':''"
- v-if="special.type == 4">
- <span class="acea-row row-center-wrapper video_footer_btn_left_pic" style="flex: 1;" @click="OpenPay(6)"
- v-if="special.pay_type == 0 || (special.member_pay_type == 0 && isMember) || is_pay">进入直播间</span>
- <!-- <span class="acea-row row-center-wrapper video_footer_btn_left_pic" style="flex: 1;" @click="OpenPay(2)"
- v-if="isMember == 1 && special.member_pay_type == 1">¥{{special.member_money}}</span> -->
- <span class="acea-row row-center-wrapper video_footer_btn_left_pic" style="flex: 1;" @click="OpenPay(2)"
- v-if="isMember == 0 && special.pay_type == 1">去学习</span>
- <!-- ¥{{special.money}} -->
- </div>
- <div class="video_footer_btn_right acea-row"
- :class="(special.is_pink == 0 || (special.is_pink && isMember == 1 && special.member_pay_type == 0)) ? 'on':''"
- v-if="special.type != 4">
- <span v-if="special.pay_type == 0 || (special.member_pay_type == 0 && isMember) || is_pay" @click="OpenPay(5)"
- class="acea-row row-center-wrapper video_footer_btn_left_pic" style="flex: 1;">免费学习</span>
- <!-- <span v-if="isMember == 1 && special.member_pay_type == 1" @click="OpenPay(2)"
- class="acea-row row-center-wrapper video_footer_btn_left_pic" style="flex: 1;">¥{{special.member_money}}</span> -->
- <span v-if="isMember == 0 && special.pay_type == 1" @click="OpenPay(2)"
- class="acea-row row-center-wrapper video_footer_btn_left_pic" style="flex: 1;">去学习</span>
- <!-- ¥{{special.money}} -->
- </div>
- </div>
- </div>
- </footer>
- <footer class="acea-row row-wrap-all" ref="storeMenu" v-if="is_pay==true && is_gift==false && paid && isPink==false">
- <a class="link" href="{:Url('wap/index/index')}">
- <div class="cont">
- <img src="{__WAP_PATH}zsff/images/special01.png">
- <div>首页</div>
- </div>
- </a>
- <a class="link" href="javascript:;" @click="customerService">
- <div class="cont">
- <img src="{__WAP_PATH}zsff/images/special02.png">
- <div>客服</div>
- </div>
- </a>
- <!-- <a v-if="(special.pay_type == 1 && special.type == 4) || special.money > 0" class="link" href="javascript:;" @click="OpenPay(1)">
- <div class="cont">
- <img src="{__WAP_PATH}zsff/images/special03.png">
- <div>送朋友</div>
- </div>
- </a> -->
- <div class="wrap">
- <div class="video_footer_btn acea-row">
- <div class="video_footer_btn_right acea-row row-column row-center-wrapper on" v-if="special.type != 4" @click="OpenPay(5)">
- <span class="video_footer_btn_left_pic">去学习</span>
- </div>
- <div class="video_footer_btn_right acea-row row-column row-center-wrapper on" v-if="special.type == 4" @click="OpenPay(6)">
- <span class="video_footer_btn_left_pic">进入直播间</span>
- </div>
- </div>
- </div>
- </footer>
- <footer class="acea-row row-wrap-all" v-if="isPink" ref="storeMenu">
- <a class="link" href="{:Url('wap/index/index')}">
- <div class="cont">
- <img src="{__WAP_PATH}zsff/images/special01.png">
- <div>首页</div>
- </div>
- </a>
- <a class="link" href="javascript:;" @click="customerService">
- <div class="cont">
- <img src="{__WAP_PATH}zsff/images/special02.png">
- <div>客服</div>
- </div>
- </a>
- <!-- <a class="link" href="javascript:;" @click="OpenPay(1)">
- <div class="cont">
- <img src="{__WAP_PATH}zsff/images/special03.png">
- <div>送朋友</div>
- </div>
- </a> -->
- <div class="wrap">
- <div class="video_footer_btn acea-row">
- <a class="video_footer_btn_right acea-row row-column row-center-wrapper on" href="javascript:;" @click="goPink(0,uid)">
- <span class="video_footer_btn_left_pic">查看拼课详情</span>
- </a>
- </div>
- </div>
- </footer>
- <footer class="acea-row row-middle" v-if="is_gift" ref="storeMenu">
- <a class="link" href="{:Url('wap/index/index')}">
- <div class="cont">
- <img src="{__WAP_PATH}zsff/images/special01.png">
- <div>首页</div>
- </div>
- </a>
- <a class="link" href="javascript:;" @click="customerService">
- <div class="cont">
- <img src="{__WAP_PATH}zsff/images/special02.png">
- <div>客服</div>
- </div>
- </a>
- <div class="wrap">
- <div class="video_footer_btn acea-row">
- <div class="video_footer_btn_right acea-row row-column row-center-wrapper on" @click="OpenPay(4)">
- <span class="video_footer_btn_left_pic">领取课程</span>
- </div>
- </div>
- </div>
- </footer>
- <!-- 遮罩层 -->
- <div :class="{ mask: dialogShow || password || is_poster || imgSrc || !open }" @touchmove.prevent @click="maskClick"></div>
- <!-- 加入群聊弹窗 -->
- <div :class="{ show: !open }" class="dialog">
- <img :src="special.service_code">
- <div>长按扫一扫</div>
- <div>加客服好友进群哦</div>
- </div>
- <!-- 关注公众号弹窗 -->
- <div class="mask" style="align-items:center;display: flex;" v-show="is_code" @click="is_code=false">
- <img :src="wechat_qrcode" alt="" style="width: 5rem;height: 5rem;margin: 0 auto;">
- </div>
- <!-- 支付弹窗 -->
- <pay-dialog :open.sync="payDialogOpen" :money="money" :now_money="now_money" :special_id="special.id" :link_pay_uid="link_pay_uid"
- :pay_type_num="pay_type_num" :pink-id="pinkId" :is-wechat="isWechat" :is-alipay="is_alipay" :is-balance="is_yue"
- :template-id="templateId" :wxpay-h5="wxpayH5" :is-member="isMember" :member-money="special.member_money" :member-link="memberLink" @change="changeVal">
- </pay-dialog>
- <!-- 登录弹窗 -->
- <base-login :login-show="loginShow" :site-name="site_name" @login-close="loginClose"></base-login>
- <!-- 直播间密码弹窗 -->
- <div :class="{ on: password }" class="password">
- <div class="title">请输入密码</div>
- <input type="password" v-model="qr_password" autocomplete="off">
- <input type="hidden" v-model="studio_pwd" autocomplete="off">
- <div class="psdBnt" @click="goLive">确定</div>
- </div>
- <!-- 分享海报 -->
- <div v-show="is_poster" class="poster">
- <img :src="filename" />
- <p v-show="filename">长按保存,分享朋友</p>
- </div>
- <!-- 完课证书 -->
- <img v-if="imgSrc" :src="imgSrc" class="certificate-image">
- <!-- 评价弹窗 -->
- <evaluate-dialog :dialog-show="dialogShow" :rate-value="rateValue" :image-list="imageList" @rate-change="rateChange" @image-upload="imageUpload"
- @image-delete="imageDelete" @evaluate-submit="evaluateSubmit">
- </evaluate-dialog>
- <!-- 兑换码 -->
- <exchange-guide v-if="isBatch && !is_pay" :href="'{:url('special/exchange')}?special_id=' + special.id">
- </exchange-guide>
- <!-- 分享返佣 -->
- <rebate-guide v-if="rebateMoney && isShareDisplaySwitch" :rebate-money="rebateMoney" @rebate-action="rebateAction">
- </rebate-guide>
- </div>
- {/block}
- {block name='foot'}
- <script type="text/javascript">
- window.overallShare = false;
- require([
- 'vue',
- 'helper',
- 'store',
- 'special-type',
- 'layer',
- 'axios',
- 'components/pay-dialog/index',
- 'swiper',
- 'moment',
- 'components/evaluate-list/index',
- 'components/evaluate-dialog/index',
- 'components/exchange-guide/index',
- 'components/base-login/index',
- 'components/rebate-guide/index',
- 'reg-verify',
- 'quick',
- 'qrcode'
- ], function (Vue, $h, app, specialType, layer, axios, PayDialog, Swiper, moment, evaluateList, evaluateDialog, exchangeGuide, BaseLogin, RebateGuide) {
- var swiperlist = {$swiperlist};
- var special = {$special};
- var pinkId = {$pinkId};
- var site_url = "{$site_url}";
- var orderId = '{$orderId ? $orderId : ""}';
- var link_pay_uid = {$link_pay_uid};
- var wechat_qrcode = '{$code_url}';
- var is_yue = {$is_yue? 'true': 'false'};
- var is_alipay = {$is_alipay? 'true': 'false'};
- var isWechat = {$isWechat? 'true': 'false'};
- var isPay = {$isPay? 'true': 'false'};
- var gift = {$gift};
- var now_money = {$now_money};
- var link_pay = {$link_pay};
- var isPink = {$isPink? 'true': 'false'};
- var BarrageShowTime = {$BarrageShowTime? $BarrageShowTime: 5};
- var barrage_index = {$barrage_index? $barrage_index: 0};
- var uid = {$userInfo['uid']? $userInfo['uid'] : 0};
- var liveInfo = {$liveInfo};
- // 站点名称
- var site_name = '{$Auth_site_name}';
- // 是否是会员
- var isMember = {$is_member};
- // H5微信支付是否开启
- var wxpayH5 = {$is_h5_wechat_payment_switch? 'true': 'false'};
- // H5微信支付回调
- var callback_url = '{$callback_url}';
- // 是否兑换
- var isBatch = {$isBatch? 'true': 'false'};
- var options = {
- captionEl: false,
- fullscreenEl: false,
- zoomEl: false,
- arrowEl: false
- };
- var comment_switch = {$comment_switch};
- var memberLink = "{:url('special/member_recharge')}";
- Vue.use(vuePhotoPreview, options);
- new Vue({
- el: '#app',
- components: {
- 'pay-dialog': PayDialog,
- 'evaluate-list': evaluateList,
- 'evaluate-dialog': evaluateDialog,
- 'exchange-guide': exchangeGuide,
- 'base-login': BaseLogin,
- 'rebate-guide': RebateGuide
- },
- filters: {
- serial: function (value) {
- return value < 9 ? '0' + (value + 1) : value + 1;
- },
- validityFormat: function (value) {
- var result = '';
- var days = Math.floor(value / 60 / 60 / 24);
- var hours = Math.floor(value / 60 / 60 % 24);
- var minutes = Math.floor(value / 60 % 60);
- if (days) {
- result += days + '天';
- }
- if (hours) {
- result += hours + '小时';
- }
- return result + minutes + '分钟';
- }
- },
- data: {
- parentActive: 0,
- site_name: site_name,
- RecordId: '',
- count: 0,
- special: special,
- swiperlist: swiperlist,
- pinkIngList: [],
- otherTaskList: [],
- columnTaskList: [],
- liveTaskList: [],
- cloumnNavlist: [
- {
- title: '目录',
- value: 1
- },
- {
- title: '套餐',
- value: 6
- },
- {
- title: '详情',
- value: 2
- },
- {
- title: '答题',
- value: 5
- }
- ],
- otherNavlist: [
- {
- title: '目录',
- value: 1
- },
- {
- title: '详情',
- value: 2
- },
- {
- title: '答题',
- value: 5
- }
- ],
- liveNavlist: [
- {
- title: '回放目录',
- value: 1
- },
- {
- title: '直播介绍',
- value: 2
- }
- ],
- active: 1,
- open: true,
- payDialogOpen: false, // 是否显示支付弹窗
- loginShow: false,
- is_pay: isPay,
- isMember: isMember,
- otherLoading: false,
- columnLoading: false,
- liveLoading: false,
- otherLoadend: false,
- columnLoadend: false,
- liveLoadend: false,
- otherLoaded: false,
- columnLoaded: false,
- liveLoaded: false,
- pay_type_num: -1,
- pinkId: pinkId || 0,
- pinkInfo: {
- pinkT: {
- difftime: {hour: "00", minute: "00", second: "00"}
- }
- },
- Barragelist: [],
- otherLoadTitle: '上拉加载更多',
- columnLoadTitle: '上拉加载更多',
- liveLoadTitle: '上拉加载更多',
- money: special.money,
- where: {
- page: 1,
- limit: 16,
- special_id: special.id || 0,
- source_id: 0,
- },
- where2: {
- page: 1,
- limit: 16,
- special_id: special.id || 0,
- source_id: 0,
- },
- orderId: null,
- is_gift: false,
- paid: isPay,
- link_pay_uid: 0,
- uid: uid,
- wechat_qrcode: wechat_qrcode,
- is_code: false,
- isWechat: isWechat,
- is_live: special.is_live,
- url: isWechat ? $h.U({c: 'index', a: 'login'}) : $h.U({c: 'login', a: 'phone_check'}),
- isPink: isPink,
- barrageStatus: true,
- num: barrage_index,
- stream_name: liveInfo.stream_name || '',
- password: false,
- liveInfo: liveInfo,
- qr_password: '',
- studio_pwd: liveInfo.studio_pwd,
- is_alipay: is_alipay, //支付宝是否开启
- is_yue: is_yue, //余额是否开启
- now_money: now_money, //余额
- lecturer: null,
- specialType: specialType,
- topFocus: true,
- record: {
- recordCoujnt: 0
- },
- scrollData: [],
- templateId: '',
- problemList: [],
- questionList: [],
- is_poster: false,
- filename: '',
- imgSrc: '',
- wxpayH5: wxpayH5,
- dialogShow: false,
- rateValue: 5, // 评价打分
- imageList: [], // 评价上传图片
- evaluateList: [],
- evaluateLoading: false,
- evaluateFinished: false,
- evaluatePage: 1,
- evaluateLimit: 10,
- evaluateWhole: 0,
- evaluateScore: 0,
- isBatch: isBatch,
- materialList: [],
- isLogin: false,
- special_validity: -1, // -1 未购买显示课程有效期 0 已购买并永久 >0 已购买并有有效期
- rebateMoney: 0,
- isShareDisplaySwitch: {$is_share_display_switch},
- memberLink: memberLink
- },
- watch: {
- pay_type_num: function () {
- this.getSubscribeId();
- }
- },
- created: function () {
- this.userLogin();
- this.getNumberCourses();
- this.addLearningRecords();
- this.getLecturer();
- this.getPinkIngLists();
- this.getProblem();
- this.getSubscribeId();
- this.specialMaterial();
- this.rebateAmount();
- if (this.special.type != 4) {
- if (comment_switch) {
- this.getEvaluateStatus();
- this.getEvaluateList();
- } else {
- if (this.special == 5) {
- for (let i = 0; i < this.cloumnNavlist.length; i++) {
- if (this.cloumnNavlist[i].value == 5) {
- this.cloumnNavlist.splice(i, 1);
- break;
- }
- }
- } else {
- for (let j = 0; j < this.otherNavlist.length; j++) {
- if (this.otherNavlist[j].value == 5) {
- this.otherNavlist.splice(j, 1);
- break;
- }
- }
- }
- }
- }
- },
- mounted: function () {
- var that = this;
- this.$nextTick(function () {
- $h.EventUtil.listenTouchDirection(document, function () {
- if (this.active === 1) {
- if (this.special.type === 4) {
- this.getLiveTask();
- } else {
- this.getCourseList();
- }
- }
- if (this.active === 6) {
- this.getCloumnTask();
- }
- if (this.active === 5) {
- this.getEvaluateList();
- }
- }.bind(this));
- mapleWx($jssdk(), function () {
- this.onMenuShareAll({
- title: that.special.title,
- desc: that.special.abstract,
- imgUrl: that.special.image,
- link: location.href.indexOf('?') == -1 ? location.href + '?spread_uid=' + uid : location.href + '&spread_uid=' + uid,
- });
- });
- setTimeout(function () {
- new Swiper('.banner', {
- pagination: {
- el: '.swiper-pagination'
- },
- autoplay: true,
- observer: true,
- observeParents: true
- });
- }, 500);
- switch (location.hash) {
- case '#tash':
- if (that.special.type != 4) that.active = 1;
- $('body,html').animate({scrollTop: $(that.$refs.list).offset().top}, 800);
- break;
- case '#act1':
- that.active = 0;
- $('body,html').animate({scrollTop: $(that.$refs.list).offset().top}, 800);
- break;
- case '#act2':
- if (that.special.type != 4) that.active = 1;
- $('body,html').animate({scrollTop: $(that.$refs.list).offset().top}, 800);
- break;
- case '#gift':
- that.is_gift = true;
- break;
- case '#link_pay':
- that.link_pay_uid = link_pay_uid;
- break;
- }
- if (gift) that.is_gift = true;
- if (link_pay) that.link_pay_uid = link_pay_uid;
- that.barrage();
- });
- switch (this.special.type) {
- case 5:
- this.getCourseList();
- this.getCloumnTask();
- break;
- case 4:
- this.getLiveTask();
- break;
- case 1:
- case 2:
- case 3:
- case 6:
- this.getCourseList();
- break;
- }
- if (that.pinkId) {
- app.baseGet($h.U({c: 'special', a: 'get_pink_info', q: {pinkId: that.pinkId}}), function (res) {
- that.pinkInfo = res.data.data;
- that.CountDown({name: 'pinkInfo.pinkT', time_name: 'stop_time'});
- }, function (msg) {
- $h.showMsg(msg, function () {
- window.location.href = $h.U({c: 'special', a: 'details', q: {id: that.special.id}});
- });
- });
- }
- app.baseGet($h.U({c: 'special', a: 'groupLists', q: {special_id: special.id}}), function (res) {
- that.scrollData = res.data.data;
- that.$nextTick(function () {
- new Swiper('#scroll', {
- direction: "vertical",
- autoplay: true,
- loop: true,
- observer: true,
- observeParents: true
- });
- });
- }, function (err) {
- console.error(err);
- });
- var width = $('.swiper-conter').width();
- $('.video-ue').each(function (index) {
- var id = "video-ue-" + index, videoUrl = $(this).attr('src');
- $(this).attr('id', id);
- $(this).children('video').attr('src', videoUrl);
- $(this).append("<source src='" + videoUrl + "' type='video/mp4' />")
- $(this).addClass("video-js");
- videojs(id, {}, function () {
- this.width(width);
- this.src(videoUrl);
- });
- });
- if (this.special.type != 4) {
- this.getInspect();
- }
- },
- updated: function () {
- this.$nextTick(function () {
- this.$previewRefresh();
- });
- },
- methods: {
- // 获取登录状态
- userLogin: function () {
- var vm = this;
- app.baseGet($h.U({
- c: 'index',
- a: 'user_login',
- }), function () {
- vm.isLogin = true;
- }, false, true);
- app.baseGet($h.U({
- c: 'special',
- a: 'special_validity',
- q: {
- id: special.id
- }
- }), function (res) {
- vm.special_validity = res.data.data.validity;
- }, function () {
- }, true);
- },
- // 点击我要评价
- userEvaluate: function () {
- var vm = this;
- app.baseGet($h.U({
- c: 'index',
- a: 'user_login',
- }), function () {
- if (!(vm.is_pay || (!vm.special.member_pay_type && vm.isMember))) {
- layer.confirm('购买后即可进行评价,是否购买?', {
- title: false,
- btn: ['购买', '取消'],
- closeBtn: false,
- shadeClose: true,
- scrollbar: false
- }, function (index) {
- vm.payDialogOpen = true;
- layer.close(index);
- });
- return;
- }
- vm.dialogShow = true;
- }, function () {
- layer.confirm('登录后即可操作,是否登录?', {
- title: false,
- btn: ['登录', '取消'],
- closeBtn: false,
- shadeClose: true,
- scrollbar: false
- }, function (index) {
- vm.loginShow = true;
- layer.close(index);
- });
- }, true);
- },
- // 获取评价状态
- getEvaluateStatus: function () {
- app.baseGet($h.U({
- c: 'special',
- a: 'special_reply_data',
- q: {
- special_id: this.special.id
- }
- }), function (res) {
- var resData = res.data;
- if (resData.code === 200) {
- var data = resData.data;
- this.evaluateWhole = data.whole;
- this.evaluateScore = data.score;
- } else {
- $h.pushMsg(resData.msg);
- }
- }.bind(this));
- },
- // 获取评价列表
- getEvaluateList: function () {
- if (this.evaluateLoading || this.evaluateFinished) {
- return;
- }
- this.evaluateLoading = true;
- app.baseGet($h.U({
- c: 'special',
- a: 'special_reply_list',
- q: {
- special_id: this.special.id,
- page: this.evaluatePage++,
- limit: this.evaluateLimit
- }
- }), function (res) {
- var resData = res.data;
- this.evaluateLoading = false;
- if (resData.code === 200) {
- var data = resData.data;
- this.evaluateList = this.evaluateList.concat(data);
- this.evaluateFinished = this.evaluateLimit > data.length;
- } else {
- $h.pushMsg(resData.msg);
- }
- }.bind(this), function () {
- this.evaluateLoading = false;
- }.bind(this));
- },
- // 点击遮罩层
- maskClick: function () {
- this.dialogShow = false;
- this.password = false;
- this.is_poster = false;
- this.open = true;
- this.imgSrc = '';
- },
- // 提交评价
- evaluateSubmit: function (text) {
- var that = this;
- $h.loadFFF();
- app.basePost($h.U({
- c: 'special',
- a: 'user_comment_special',
- q: {
- special_id: this.special.id
- }
- }), {
- satisfied_score: this.rateValue,
- comment: text.trim(),
- pics: this.imageList
- }, function (res) {
- $h.loadClear();
- $h.pushMsg(res.data.msg, function () {
- that.dialogShow = false;
- that.getEvaluateStatus();
- that.evaluateFinished = false;
- that.evaluatePage = 1;
- that.evaluateList = [];
- that.getEvaluateList();
- });
- }, function () {
- $h.loadClear();
- });
- },
- // 删除图片
- imageDelete: function (index) {
- this.imageList.splice(index, 1);
- },
- // 上传图片
- imageUpload: function (file) {
- var formData = new FormData();
- formData.append('file', file);
- $h.loadFFF();
- axios.post("{:url('auth_api/upload')}", formData).then(function (res) {
- var resData = res.data;
- if (resData.code === 200) {
- $h.loadClear();
- this.imageList.push(resData.data.url);
- } else {
- $h.loadClear();
- layer.msg(resData.msg);
- }
- }.bind(this)).catch(function () {
- $h.loadClear();
- });
- },
- // 评分
- rateChange: function (value) {
- this.rateValue = value;
- },
- // 生成分享海报
- createSharePoster: function () {
- var vm = this;
- if (this.filename) {
- this.is_poster = true;
- return;
- }
- Promise.all([
- new Promise(function (resolve, reject) {
- var image = new Image();
- image.crossOrigin = 'anonymous';
- image.src = special.poster_image + '?t=' + new Date().getTime();
- image.onload = function () {
- resolve(image);
- };
- image.onerror = function () {
- reject(new Error('image error'));
- };
- }),
- new Promise(function (resolve, reject) {
- try {
- resolve(new QRCode(document.createElement('div'), site_url));
- } catch (error) {
- reject(error);
- }
- })
- ]).then(function (data) {
- var canvas = document.createElement('canvas');
- var context = canvas.getContext('2d');
- canvas.width = 600;
- canvas.height = 960;
- context.fillStyle = '#FFFFFF';
- context.fillRect(0, 0, 600, 960);
- context.drawImage(data[0], 0, 0, 600, 740);
- context.drawImage(data[1]._el.firstChild, 118, 785, 130, 130);
- context.font = '22px sans-serif';
- context.fillStyle = '#999999';
- var text = '邀您加入' + site_name;
- var list = [];
- var start = 0;
- for (var i = 0; i <= text.length; i++) {
- if (context.measureText(text.slice(start, i)).width > 198) {
- list.push(text.slice(start, i - 1));
- start = i - 1;
- }
- }
- if (start !== text.length) {
- list.push(text.slice(start));
- }
- if (list.length > 3) {
- list.length = 3;
- for (var j = 0; j <= list[2].length; j++) {
- if (context.measureText(list[2].slice(0, j) + '……').width > 198) {
- list[2] = list[2].slice(0, j - 1) + '……';
- break;
- }
- }
- }
- list.push('长按识别或扫码进入');
- for (var k = 0; k < list.length; k++) {
- context.fillText(list[k], 284, 785 + (130 / list.length / 2) + (130 / list.length) * k);
- }
- vm.filename = canvas.toDataURL('image/jpeg');
- vm.is_poster = true;
- canvas = null;
- }).catch(function (error) {
- console.error(error);
- });
- },
- // 是否可以发放证书
- getInspect: function () {
- var that = this;
- $h.loadFFF();
- axios.get($h.U({
- c: 'special',
- a: 'inspect',
- q: {
- special_id: this.special.id
- }
- })).then(function (res) {
- $h.loadClear();
- if (200 == res.data.code) {
- layer.confirm('恭喜您已达到证书发放标准,是否领取?', {
- title: false,
- closeBtn: false,
- btn: ['领取', '取消']
- }, function (index) {
- that.getCertificate();
- layer.close(index);
- });
- }
- }).catch(function () {
- $h.loadClear();
- });
- },
- // 领取证书
- getCertificate: function () {
- $h.loadFFF();
- app.baseGet($h.U({
- c: 'special',
- a: 'getTheCertificate',
- q: {
- special_id: this.special.id
- }
- }), function (res) {
- $h.loadClear();
- layer.msg('领取成功<br>证书制作中…', function () {
- this.getCertificateInfo(res.data.msg);
- }.bind(this));
- }.bind(this), function () {
- $h.loadClear();
- });
- },
- // 获取证书信息
- getCertificateInfo: function (id) {
- $h.loadFFF();
- app.baseGet($h.U({
- c: 'topic',
- a: 'viewCertificate',
- q: {
- id: id,
- obtain: 1
- }
- }), function (res) {
- $h.loadClear();
- this.createCertificate(res.data.data);
- }.bind(this), function (err) {
- $h.loadClear();
- console.error(err);
- });
- },
- // 加载图片
- loadImage: function (path) {
- return new Promise(function (resolve, reject) {
- var image = new Image();
- image.crossOrigin = 'anonymous';
- image.onload = function () {
- resolve(image);
- };
- image.onerror = function () {
- reject('error-image');
- };
- image.src = path + '?' + new Date().getTime();
- });
- },
- // 生成证书图片
- createCertificate: function (certificate) {
- $h.loadFFF();
- Promise.all([
- this.loadImage(certificate.certificate.background),
- this.loadImage(certificate.certificate.qr_code)
- ]).then(function (images) {
- var canvas = document.createElement('canvas');
- var context = canvas.getContext('2d');
- canvas.width = images[0].width;
- canvas.height = images[0].height;
- context.drawImage(images[0], 0, 0);
- context.drawImage(images[1], 220, 557, 160, 160);
- context.fillStyle = 'rgba(255, 255, 255, 1)';
- context.fillRect(220, 724, 160, 36);
- context.font = '20px sans-serif';
- context.textAlign = 'center';
- context.fillStyle = '#666666';
- context.fillText('长按二维码查看', 300, 748);
- context.font = 'bold 34px sans-serif';
- context.fillStyle = '#29466D';
- context.fillText(certificate.realname, 300, 296);
- context.font = '24px sans-serif';
- context.fillText('颁发时间:' + moment(certificate.add_time * 1000).format('YYYY.MM.DD'), 300, 481);
- context.font = '28px sans-serif';
- context.textAlign = 'start';
- context.fillStyle = '#333333';
- for (var i = Math.ceil(certificate.certificate.explain.length % 16); i--;) {
- context.fillText(certificate.certificate.explain.substr(i * 16, 16), 83, i * 40 + 370);
- }
- this.imgSrc = canvas.toDataURL('image/jpeg');
- canvas = null;
- $h.loadClear();
- }.bind(this)).catch(function (error) {
- $h.loadClear();
- console.error(error);
- });
- },
- // 去练习、答题
- goQuestion: function (question) {
- var vm = this;
- app.baseGet($h.U({c: 'index', a: 'user_login'}), function () {
- if (question.is_pay || vm.is_pay) {
- if (question.type == 1) {
- window.location = "{:url('topic/problem_index')}?id=" + question.id;
- } else {
- window.location = "{:url('special/question_index')}?id=" + question.id;
- }
- } else {
- vm.payDialogOpen = true;
- }
- }, function () {
- vm.loginShow = true;
- });
- },
- // 获取练习
- getProblem: function () {
- var that = this;
- $h.loadFFF();
- app.basePost($h.U({
- c: 'Topic',
- a: 'specialTestPaper'
- }), {
- special_id: this.special.id,
- type: 1
- }, function (res) {
- $h.loadClear();
- var questions = res.data.data;
- if (questions.length) {
- if (that.special.type === 5) {
- that.cloumnNavlist.splice(that.cloumnNavlist.length - 1, 0, {
- title: '练习',
- value: 3
- });
- } else {
- that.otherNavlist.splice(that.otherNavlist.length - 1, 0, {
- title: '练习',
- value: 3
- });
- }
- for (var i = questions.length; i--;) {
- questions[i].rate = Math.floor(questions[i].done / questions[i].item_number * 100);
- }
- that.problemList = questions;
- }
- that.getQuestion();
- }, function () {
- $h.loadClear();
- that.getQuestion();
- });
- },
- // 获取考试
- getQuestion: function () {
- var that = this;
- $h.loadFFF();
- app.basePost($h.U({
- c: 'Topic',
- a: 'specialTestPaper'
- }), {
- special_id: this.special.id,
- type: 2
- }, function (res) {
- $h.loadClear();
- var questions = res.data.data;
- if (questions.length) {
- if (that.special.type === 5) {
- that.cloumnNavlist.splice(that.cloumnNavlist.length - 1, 0, {
- title: '考试',
- value: 4
- });
- } else {
- that.otherNavlist.splice(that.otherNavlist.length - 1, 0, {
- title: '考试',
- value: 4
- });
- }
- }
- that.questionList = questions;
- }, function () {
- $h.loadClear();
- });
- },
- // 获取订阅通知模板id
- getSubscribeId: function () {
- if (!this.isWechat) {
- return;
- }
- $h.loadFFF();
- app.baseGet($h.U({
- c: 'special',
- a: 'getTemplateIds',
- q: {
- pay_type_num: this.pay_type_num,
- special_id: this.special.id
- }
- }), function (res) {
- $h.loadClear();
- this.templateId = res.data.msg;
- }.bind(this), function () {
- $h.loadClear();
- });
- },
- show: function (special) {
- // if (special.is_light) {
- // window.location.href = "{:url('special/single_details')}?id=" + special.id;
- // } else {
- // special.active = !special.active;
- // }
- special.active = !special.active;
- },
- // 讲师详情
- getLecturer: function () {
- $h.loadFFF();
- app.baseGet($h.U({
- c: 'auth_api',
- a: 'getLecturer',
- q: {
- mer_id: this.special.mer_id
- }
- }), function (res) {
- $h.loadClear();
- this.lecturer = res.data.data;
- }.bind(this), function () {
- $h.loadClear();
- });
- },
- // 获取浏览人数
- getLearningRecords: function () {
- $h.loadFFF();
- app.baseGet($h.U({
- c: 'Special',
- a: 'learningRecords',
- q: {
- id: this.special.id
- }
- }), function (res) {
- $h.loadClear();
- this.record = res.data.data;
- }.bind(this), function () {
- $h.loadClear();
- });
- },
- // 记录浏览人数
- addLearningRecords: function () {
- $h.loadFFF();
- app.baseGet($h.U({
- c: 'Special',
- a: 'addLearningRecords',
- q: {
- id: this.special.id
- }
- }), function (res) {
- $h.loadClear();
- this.getLearningRecords();
- }.bind(this), function () {
- $h.loadClear();
- });
- },
- // 拼团列表
- getPinkIngLists: function () {
- if (!this.special.is_pink) return;
- $h.loadFFF();
- app.baseGet($h.U({
- c: 'Special',
- a: 'pinkIngLists',
- q: {
- id: this.special.id,
- pinkId: 0
- }
- }), function (res) {
- $h.loadClear();
- this.pinkIngList = res.data.data;
- this.CountDown({name: 'pinkIngList', time_name: "stop_time"});
- }.bind(this), function () {
- $h.loadClear();
- });
- },
- // 专题下章节数量
- getNumberCourses: function () {
- $h.loadFFF();
- app.baseGet($h.U({
- c: 'Special',
- a: 'numberCourses',
- q: {
- id: this.special.id
- }
- }), function (res) {
- $h.loadClear();
- this.count = res.data.data;
- }.bind(this), function () {
- $h.loadClear();
- });
- },
- goLive: function () {
- if (!this.qr_password) return $h.showMsg('请输入密码');
- if (this.qr_password != this.studio_pwd) return $h.showMsg('密码不正确');
- document.cookie = this.stream_name + "studio_pwd" + "=" + this.studio_pwd + ";expires=7200" + ";path=/";
- window.location.href = $h.U({
- c: 'live',
- a: 'index',
- q: {stream_name: this.stream_name, record_id: this.RecordId}
- });
- },
- barrage: function () {
- var that = this;
- if (typeof BarrageShowTime == 'string') BarrageShowTime = parseInt(BarrageShowTime);
- BarrageShowTime = BarrageShowTime * 1000;
- app.baseGet($h.U({
- c: 'special',
- a: 'get_barrage_list',
- q: {special_id: special.id}
- }), function (res) {
- that.$set(that, 'Barragelist', res.data.data);
- that.Barragelist = that.Barragelist || [];
- var len = that.Barragelist.length;
- if (!len) return;
- setInterval(function () {
- that.num = that.num + 1;
- that.num = that.num >= len ? 0 : that.num;
- that.num = that.num < 0 ? 0 : that.num;
- that.barrageStatus = !that.barrageStatus;
- app.baseGet($h.U({c: 'special', a: 'set_barrage_index', q: {index: that.num}}));
- }, BarrageShowTime);
- });
- },
- goPink: function (pink_id, uid) {
- if (uid == this.uid && isPink) {
- window.location.href = $h.U({
- c: 'special',
- a: 'pink',
- q: {pink_id: pinkId, special_id: this.special.id, is_help: 0}
- });
- } else {
- window.location.href = $h.U({
- c: 'special',
- a: 'pink',
- q: {pink_id: pink_id > 0 ? pink_id : pinkId, special_id: this.special.id, is_help: 1}
- });
- }
- },
- follow: function () {
- return $h.openImage(wechat_qrcode);
- },
- getPartakePinkUrl: function () {
- return $h.U({c: 'special', a: 'details', q: {id: this.special.id}});
- },
- pay_order: function (data) {
- this.orderId = data.data.result.orderId || '';
- switch (data.data.status) {
- case "PAY_ERROR":
- case 'ORDER_EXIST':
- case 'ORDER_ERROR':
- this.extendOrder(data.msg);
- break;
- case 'WECHAT_PAY':
- this.wechatPay(data.data.result.jsConfig);
- break;
- case 'WECHAT_H5_PAY':
- this.payDialogOpen = false;
- var callbackUrl = callback_url + '?type=1&id=' + this.special.id;
- var mwebUrl = data.data.result.jsConfig.mweb_url + '&redirect_url=' + encodeURIComponent(callbackUrl);
- window.location.href = mwebUrl;
- break;
- case 'SUCCESS':
- this.successOrder(data.msg);
- break;
- case 'ZHIFUBAO_PAY':
- window.location.href = $h.U({
- m: 'wap',
- c: 'alipay',
- a: 'index',
- q: {info: data.data.result, params: 'special'}
- });
- break;
- }
- },
- wechatPay: function (config) {
- var that = this;
- mapleWx($jssdk(), function () {
- this.chooseWXPay(config, function () {
- that.successOrder();
- }, {
- fail: that.extendOrder,
- cancel: that.extendOrder
- });
- });
- },
- successOrder: function (msg) {
- var that = this;
- $h.showMsg({
- title: msg ? msg : '支付成功',
- icon: 'success',
- success: function () {
- switch (parseInt(that.pay_type_num)) {
- case 1:
- window.location.assign($h.U({
- c: 'special',
- a: 'gift_special',
- q: {
- orderId: that.orderId
- }
- }));
- break;
- case 2:
- that.paid = true;
- that.is_pay = true;
- that.payDialogOpen = false;
- that.updateMaterialStatus();
- break;
- case 3:
- window.location.href = $h.U({c: 'special', a: 'pink', q: {orderId: that.orderId}});
- break;
- }
- }
- });
- app.baseGet($h.U({
- c: 'special',
- a: 'special_validity',
- q: {
- id: special.id
- }
- }), function (res) {
- that.special_validity = res.data.data.validity;
- }, function () {
- }, true);
- },
- updateMaterialStatus: function () {
- var that = this;
- that.otherLoading = false;
- that.otherLoaded = false;
- that.where.page = 1;
- that.$set(that, 'otherTaskList', []);
- that.getCourseList();
- },
- extendOrder: function (msg) {
- var that = this;
- if (typeof msg === 'object') {
- if (msg.errMsg === 'chooseWXPay:cancel') {
- msg = '微信支付取消';
- } else {
- msg = '支付失败';
- }
- } else {
- msg = '支付失败';
- }
- $h.pushMsg(msg, function () {
- that.payDialogOpen = false;
- if (that.orderId) {
- app.baseGet($h.U({c: 'special', a: 'del_order', q: {orderId: that.orderId}}));
- }
- });
- },
- setMeal: function (item) {
- var that = this;
- if (that.special.type == 5) {
- location.href = (item.is_light ? "{:url('special/single_details')}" : "{:url('special/details')}") + '?id=' + item.id;
- }
- },
- // 点击专题目录
- play: function (item) {
- var vm = this;
- if (vm.active == 6) {
- window.location.assign($h.U({
- c: 'special',
- a: 'details',
- q: {
- id: item.id
- }
- }));
- } else {
- app.baseGet($h.U({
- c: 'index',
- a: 'user_login',
- }), function () {
- if (!item.is_free || item.is_try || vm.is_pay || (!vm.special.member_pay_type && vm.isMember)) {
- vm.goPlayTsak(item);
- } else {
- layer.confirm('购买后可操作,是否购买?', {
- title: false,
- btn: ['购买', '取消'],
- closeBtn: false,
- shadeClose: true,
- scrollbar: false
- }, function (index) {
- vm.payDialogOpen = true;
- vm.pay_type_num = 2;
- layer.close(index);
- });
- }
- }, function () {
- layer.confirm('登录后可操作,是否登录?', {
- title: false,
- btn: ['登录', '取消'],
- closeBtn: false,
- shadeClose: true,
- scrollbar: false
- }, function (index) {
- vm.loginShow = true;
- layer.close(index);
- });
- }, true);
- }
- },
- // 专题列表
- getCourseList: function () {
- var that = this;
- if (this.otherLoading) return;
- if (this.otherLoaded) return;
- this.otherLoadTitle = '';
- this.otherLoading = true;
- app.baseGet($h.U({c: 'special', a: 'get_course_list', q: this.where}), function (res) {
- var data = res.data.data,
- list = data.list || [],
- taskList = [];
- list.forEach(function (item) {
- item.active = false;
- });
- taskList = $h.SplitArray(list, that.otherTaskList);
- taskList.forEach(function (item, index) {
- item.active = !index;
- });
- that.where.page = data.page;
- that.otherLoaded = list.length < that.where.limit;
- that.otherLoadTitle = that.otherLoaded ? '我也是有底线的' : '上拉加载更多';
- that.otherLoading = false;
- that.$set(that, 'otherTaskList', taskList);
- }, function (res) {
- that.otherLoading = false;
- that.otherLoadTitle = '加载更多';
- });
- },
- // 套餐列表
- getCloumnTask: function () {
- var that = this;
- if (this.columnLoading) return;
- if (this.columnLoaded) return;
- this.columnLoadTitle = '';
- this.columnLoading = true;
- app.baseGet($h.U({c: 'special', a: 'get_cloumn_task', q: this.where2}), function (res) {
- var data = res.data.data;
- var list = data.list || [];
- var taskList = $h.SplitArray(list, that.columnTaskList);
- that.where2.page = data.page;
- that.columnLoaded = list.length < that.where2.limit;
- that.columnLoadTitle = that.columnLoaded ? '我也是有底线的' : '上拉加载更多';
- that.columnLoading = false;
- that.$set(that, 'columnTaskList', taskList);
- }, function (res) {
- that.columnLoading = false;
- that.columnLoadTitle = '加载更多';
- });
- },
- // 直播回放列表
- getLiveTask: function () {
- var that = this;
- if (this.liveLoading) return;
- if (this.liveLoaded) return;
- this.liveLoadTitle = '';
- this.liveLoading = true;
- app.baseGet($h.U({
- c: 'live',
- a: 'get_live_record_list',
- q: {special_id: that.special.id, page: that.where.page, limit: that.where.limit}
- }), function (res) {
- var data = res.data.data.data;
- var list = data || [];
- var taskList = $h.SplitArray(list, that.liveTaskList);
- that.where.page = that.where.page + 1;
- that.liveLoaded = list.length < that.where.limit;
- that.liveLoadTitle = that.liveLoaded ? '我也是有底线的' : '上拉加载更多';
- that.liveLoading = false;
- that.$set(that, 'liveTaskList', taskList);
- }, function (res) {
- that.liveLoading = false;
- that.liveLoadTitle = '加载更多';
- });
- },
- //播放素材
- goPlayTsak: function (item) {
- var that = this;
- if (item.is_light) {
- window.location.assign("{:url('special/single_details')}?id=" + item.id);
- return;
- }
- app.baseGet($h.U({
- c: 'special',
- a: 'get_task_link',
- q: {
- task_id: item.id,
- special_id: item.special_id
- }
- }), function () {
- app.baseGet($h.U({
- c: 'special',
- a: 'play_num',
- q: {
- task_id: item.id,
- special_id: item.special_id
- }
- }), function () {
- window.location.assign($h.U({
- c: 'special',
- a: that.special.type == 1 || item.type == 1 ? 'task_text_info' : 'task_info',
- q: {
- id: item.id,
- specialId: item.special_id,
- viewing_time: item.watch && item.watch.viewing_time || 0
- }
- }));
- });
- });
- },
- //滑动底部加载
- bScrollInit: function () {
- var that = this;
- $h.EventUtil.listenTouchDirection(document, function () {
- if (that.special.type == 5) {
- that.columnLoading == false && that.getCloumnTask();
- } else {
- that.otherLoading == false && that.getCourseList();
- }
- }, false);
- },
- // 点击收藏
- collect: function () {
- var vm = this;
- app.baseGet($h.U({
- c: 'index',
- a: 'user_login',
- }), function () {
- $h.loadFFF();
- app.baseGet($h.U({
- c: 'special',
- a: 'collect',
- q: {
- id: vm.special.id
- }
- }), function (res) {
- $h.loadClear();
- vm.special.collect = !vm.special.collect;
- layer.msg(vm.special.collect ? '收藏成功' : '取消收藏成功');
- }, function () {
- $h.loadClear();
- });
- }, function () {
- layer.confirm('登录后即可操作,是否登录?', {
- title: false,
- btn: ['登录', '取消'],
- closeBtn: false,
- shadeClose: true,
- scrollbar: false
- }, function (index) {
- vm.loginShow = true;
- layer.close(index);
- });
- }, true);
- },
- // 点击客服
- customerService: function () {
- app.baseGet($h.U({
- c: 'public_api',
- a: 'public_data'
- }), function (res) {
- var data = res.data.data;
- if (data.customer_service === '3') {
- if (data.site_service_phone) {
- layer.confirm('是否拨打 <a href="tel:' + data.site_service_phone + '">' + data.site_service_phone + '</a> 进行咨询?', {
- title: false,
- closeBtn: false,
- btn: ['拨打', '取消']
- }, function (index) {
- window.location.assign('tel:' + data.site_service_phone);
- layer.close(index);
- });
- } else {
- layer.msg('抱歉,无法联系客服');
- }
- } else {
- window.location.assign($h.U({
- c: 'service',
- a: 'service_list'
- }));
- }
- });
- },
- //打开支付插件,并检测登录状态,没有登录,打开登录插件
- OpenPay: function (is_pink) {
- var vm = this;
- this.pay_type_num = is_pink;
- app.baseGet($h.U({c: 'index', a: 'user_login'}), function (res) {
- switch (is_pink) {
- case 1:
- if (!this.special.pay_type) {
- return $h.pushMsg('免费的不可以赠送哦');
- }
- if (this.isMember && !this.special.member_pay_type) {
- return $h.pushMsg('会员价免费的不可以赠送哦');
- }
- this.money = this.special.money;
- this.payDialogOpen = true;
- break;
- case 2:
- if (this.isMember) {
- this.money = this.special.member_pay_type ? this.special.member_money : 0;
- } else {
- this.money = this.special.money;
- }
- this.payDialogOpen = true;
- break;
- case 3:
- this.money = this.special.pink_money;
- this.payDialogOpen = true;
- break;
- case 4:
- this.payDialogOpen = false;
- app.baseGet($h.U({
- c: 'special',
- a: 'receive_gift',
- q: {orderId: orderId}
- }), function (res) {
- $h.showMsg({
- title: res.data.msg,
- icon: 'success',
- success: function () {
- window.location.href = $h.U({c: 'special', a: 'grade_list'});
- }
- })
- });
- break;
- case 5:
- // location.hash = '#tash';
- // $('body,html').animate({scrollTop: $(this.$refs.list).offset().top}, 800);
- // this.is_pay = true;
- // this.paid = false;
- // this.active = 1;
- var opt = {
- c: 'special',
- a: 'single_details',
- q: {
- id: 0
- }
- };
- var task = this.otherTaskList[0];
- if (!task) {
- $h.pushMsg('课程信息错误,无法购买。');
- return true;
- }
- if (task.special_task) {
- task = task.special_task[0];
- }
- if (task.is_light) {
- if (task.light_type === 1) {
- opt.a = 'single_text_detail';
- }
- } else {
- opt.a = task.type === 1 ? 'task_text_info' : 'task_info';
- opt.q.specialId = task.special_id;
- opt.q.viewing_time = task.watch && task.watch.viewing_time || 0;
- }
- opt.q.id = task.id;
- window.location.assign($h.U(opt));
- break;
- case 6:
- if (this.liveInfo.studio_pwd && this.special.pay_type == 2) {
- this.password = true;
- return;
- }
- window.location.assign($h.U({
- c: 'live',
- a: 'index',
- q: {
- stream_name: this.stream_name,
- record_id: this.RecordId
- }
- }));
- break;
- }
- }.bind(this), function () {
- vm.loginShow = true;
- });
- },
- ReceiveGift: function () {
- var that = this;
- if (!orderId) return;
- app.baseGet($h.U({c: 'special', a: 'receive_gift', q: {orderId: orderId}}), function (res) {
- $h.showMsg({
- title: res.data.msg,
- icon: 'success',
- success: function () {
- window.location.href = $h.U({c: 'index', a: 'index'});
- }
- })
- });
- },
- //关闭登录
- loginClose: function (val) {
- this.loginShow = false;
- val && this.logComplete();
- },
- //登录完成回调事件
- logComplete: function () {
- var that = this;
- that.isLogin = true;
- that.otherLoaded = false;
- that.where.page = false;
- that.otherTaskList = [];
- that.getCourseList();
- app.baseGet($h.U({c: 'special', a: 'isMember'}), function (res) {
- var isMember = res.data.data.is_member;
- that.isMember = isMember;
- that.now_money = res.data.data.now_money;
- switch (that.pay_type_num) {
- case 1:
- that.money = (isMember && that.special.member_pay_type == 1) ? that.special.member_money : that.special.money;
- break;
- case 2:
- if (isMember) {
- that.money = that.special.member_pay_type ? that.special.member_money : 0;
- } else {
- that.money = that.special.money;
- }
- break;
- case 3:
- that.money = that.special.pink_money;
- break;
- }
- });
- app.baseGet($h.U({
- c: 'special',
- a: 'special_validity',
- q: {
- id: special.id
- }
- }), function (res) {
- that.special_validity = res.data.data.validity;
- }, function () {
- }, true);
- },
- //所有插件回调处理事件
- changeVal: function (opt) {
- if (typeof opt != 'object') opt = {};
- var action = opt.action || '';
- var value = opt.value || '';
- this[action] && this[action](value);
- },
- CountDown: function (opt, that) {
- if (typeof opt != 'object') opt = {};
- var name = opt.name || '', value = null, that = that ? that : this;
- if (name.indexOf('.') === -1)
- value = that[name];
- else {
- var nameArray = name.split('.');
- value = that[nameArray[0]][nameArray[1]];
- }
- var tiem = opt.time || 1000, timeName = opt.time_name || 'datatime',
- strName = {hour: "00", minute: "00", second: "00"},
- outputName = opt.output || 'difftime';
- if (!name) return false;
- if (value === undefined) return false;
- opt.nowTime = function () {
- if (Array.isArray(value)) {
- for (var i = 0; i < value.length; i++) {
- var intDiff = value[i][timeName] - Date.parse(new Date()) / 1000;//获取数据中的时间戳的时间差;
- var days = 0, hour = 0, minute = 0, second = 0;
- if (intDiff > 0) {
- hour = Math.floor(intDiff / (60 * 60)) - (days * 24);
- minute = Math.floor(intDiff / 60) - (hour * 60);
- second = Math.floor(intDiff) - (hour * 60 * 60) - (minute * 60);
- if (hour <= 9) hour = '0' + hour;
- if (minute <= 9) minute = '0' + minute;
- if (second <= 9) second = '0' + second;
- strName = {
- hour: hour,
- minute: minute,
- second: second
- };
- } else {
- strName = {
- hour: "00",
- minute: "00",
- second: "00"
- };
- }
- value[i][outputName] = strName;
- }
- that.$set(that, name, value);
- } else {
- var intDiff = value[timeName] - Date.parse(new Date()) / 1000;
- var days = 0, hour = 0, minute = 0, second = 0;
- if (intDiff > 0) {
- hour = Math.floor(intDiff / (60 * 60)) - (days * 24);
- minute = Math.floor(intDiff / 60) - (hour * 60);
- second = Math.floor(intDiff) - (hour * 60 * 60) - (minute * 60);
- if (hour <= 9) hour = '0' + hour;
- if (minute <= 9) minute = '0' + minute;
- if (second <= 9) second = '0' + second;
- strName = {
- hour: hour,
- minute: minute,
- second: second
- };
- } else {
- strName = {
- hour: "00",
- minute: "00",
- second: "00"
- };
- }
- if (name.indexOf('.') === -1)
- that.$set(that[name], outputName, strName);
- else {
- var nameArray = name.split('.');
- that.$set(that[nameArray[0]][nameArray[1]], outputName, strName);
- }
- }
- };
- opt.nowTime();
- setInterval(opt.nowTime, tiem);
- },
- //播放回放
- playBackRecord: function (item) {
- this.RecordId = item;
- this.OpenPay(6);
- },
- // 关联资料
- specialMaterial: function () {
- app.baseGet($h.U({
- c: 'special',
- a: 'SpecialDataDownload',
- q: {
- special_id: this.special.id
- }
- }), function (res) {
- this.materialList = res.data.data;
- }.bind(this));
- },
- // 获取返佣金额
- rebateAmount: function () {
- var vm = this;
- app.baseGet($h.U({
- c: 'auth_api',
- a: 'rebateAmount',
- p: {
- id: this.special.id
- }
- }), function (res) {
- vm.rebateMoney = parseFloat(res.data.data.brokeragePrice);
- });
- },
- rebateAction: function (value) {
- switch (value) {
- case 'close':
- this.rebateMoney = 0;
- break;
- case 'share':
- this.createSharePoster();
- break;
- }
- }
- },
- });
- })
- </script>
- {/block}
|