video.js 17 KB

1
  1. "use strict";var v=Object.defineProperty,w=Object.defineProperties;var I=Object.getOwnPropertyDescriptors;var p=Object.getOwnPropertySymbols;var m=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable;var y=(e,t,l)=>t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,a=(e,t)=>{for(var l in t||(t={}))m.call(t,l)&&y(e,l,t[l]);if(p)for(var l of p(t))T.call(t,l)&&y(e,l,t[l]);return e},d=(e,t)=>w(e,I(t));var x=(e,t)=>{var l={};for(var n in e)m.call(e,n)&&t.indexOf(n)<0&&(l[n]=e[n]);if(e!=null&&p)for(var n of p(e))t.indexOf(n)<0&&T.call(e,n)&&(l[n]=e[n]);return l};var s=require("../common/vendor.js"),b=require("../utils/throttle.js"),_=require("../utils/common.js"),h=require("../api/course.js");require("../api/user.js");require("../common/request.js");require("../common/request1.js");const L={data(){return{baseUrl:s.index.getStorageSync("requestPath"),rewardType:[{name:"\u7EA2\u5305\u5956\u52B1",value:1},{name:"\u79EF\u5206\u5956\u52B1",value:2}],currentReward:1,player:null,loading:!0,progress:0,code:null,statusBarHeight:s.index.getSystemInfoSync().statusBarHeight,scrollTop:0,height:"0px",isLogin:!0,videoUrl:"",videoId:"",playTime:0,duration:0,playDuration:0,playDurationSeek:0,tipsTime:0,tipsOpen:!1,config:{},courseInfo:{},quesList:[],lineList:[],errQues:[],remain:0,errTitle:"",errDesc:"",showPlay:!0,showControls:!1,playStatus:"",isFullscreen:!1,isAddKf:0,lineIndex:0,isExpand:!0,textHeight:0,qwUserId:"",qrcode:"",corpId:"",qrcodeMsg:"",urlOption:{},bufferRate:0,uuId:"",isEnded:!1,linkType:0,ip:null,checked:!0,isFinish:0,interval:null,intervalIntegral:null,options:{sources:[{src:""}],poster:"",live:!1,controls:!0,autoplay:!1,licenseUrl:"https://license.vod2.myqcloud.com/license/v2/1323137866_1/v_cube.license",LicenseKey:"bcc5bd9a14b798b48c52ff005a21d926",controlBar:{volumePanel:!1,playbackRateMenuButton:!1,QualitySwitcherMenuButton:!1},plugins:{ContextMenu:{statistic:!1}}},errorCount:0,answerPopup:!1,sortLink:"",isExpire:!0}},filters:{numberToChinese(e){return e?["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D"][e-1]:""}},computed:{isAnswer(){return(e,t)=>e.type==1?e.answer==t:e.type==2?e.answer.split(",").some(n=>n==t):!1}},onLoad(e){this.code=e.code,this.urlOption=e.course?JSON.parse(e.course):{},this.videoId=this.urlOption.videoId,this.qwUserId=this.urlOption.qwUserId||"",this.corpId=this.urlOption.corpId||"",this.linkType=this.urlOption.linkType||0,this.sortLink=this.urlOption.link||""},onShow(){this.tipsOpen=!1,this.isExpand=!0,this.uuId=_.generateRandomString(16),this.videoId&&this.getH5CourseByVideo(),this.sortLink?this.getLink():s.index.showToast({title:"sortLink is not found",icon:"none"})},mounted(){this.getIP(),this.getHeight()},onHide(){this.player&&this.player.pause()},onUnload(){this.interval!=null&&(clearInterval(this.interval),this.interval=null),this.clearIntegral()},beforeDestroy(){this.player=s.index.createVideoContext("video-content-box"),this.player&&(this.player.stop(),this.player=null),this.interval!=null&&(clearInterval(this.interval),this.interval=null),this.clearIntegral()},methods:{onTimeUpdate(e){b.throttle(this.changeTime(this,e),1e3,!1)},changeTime(e,t){let l=Math.round(t.detail.currentTime);e.playDurationSeek>0?(e.playTime=e.playDurationSeek,setTimeout(()=>{this.playDurationSeek=0},1e3)):(e.linkType!=1&&(l-e.playTime>2||l-e.playTime<-2)&&e.isFinish!=1&&(s.index.showToast({title:"\u4E0D\u80FD\u5FEB\u8FDB\u54E6",icon:"none"}),l=e.playTime,e.player.seek(e.playTime)),e.playTime=l)},videoErrorCallback(e){this.clearIntegral(),this.errorCount++,!(this.errorCount>3)&&(console.log(e),this.getErrMsg(e.target.errMsg),this.getH5CourseVideoDetails("error"))},getPlay(){this.errorCount=0,this.judgeDuration()},getPause(){this.clearIntegral()},getEnded(){this.clearIntegral(),this.isEnded=!0,this.getFinishCourseVideo()},getIP(){s.index.request({url:"https://ipinfo.io/json",method:"GET",success:e=>{this.ip=e.data.ip}})},getHeight(){this.$nextTick(()=>{s.index.createSelectorQuery().in(this).select("#title-content").boundingClientRect(t=>{this.height=`calc(100vh - ${t.height}px - 420rpx - ${this.statusBarHeight}px - 164rpx)`}).exec()})},getDescHeight(){this.$nextTick(()=>{s.index.createSelectorQuery().in(this).select("#descbox-desc").boundingClientRect(t=>{this.textHeight=t.height}).exec()})},numberToLetter(e){let t=e+65;return String.fromCharCode(t)},updateTime(){var e=this;this.interval!=null&&clearInterval(this.interval),this.interval=setInterval(function(){e.getFinishCourseVideo(),e.getInternetTraffic()},6e4)},judgeDuration(){var e=this;this.intervalIntegral!=null&&(clearInterval(this.intervalIntegral),this.intervalIntegral=null),this.intervalIntegral=setInterval(function(){e.getIntegralByH5Video()},6e5)},clearIntegral(){this.intervalIntegral!=null&&(clearInterval(this.intervalIntegral),this.intervalIntegral=null)},handleExpand(){this.isExpand=!this.isExpand},getH5CourseByVideo(){this.loading=!0,h.getH5CourseByVideoId({videoId:this.videoId}).then(e=>{this.loading=!1,e.code==200&&(this.courseInfo=e.data,s.index.setNavigationBarTitle({title:this.courseInfo&&this.courseInfo.title?this.courseInfo.title:""})),this.getHeight(),this.getDescHeight()},e=>{this.loading=!1}).catch(()=>{this.loading=!1})},getH5CourseVideoDetails(e){h.getH5CourseVideoDetails(this.urlOption).then(t=>{if(t.code==200){this.config=t.config||{},this.isFinish=t.isFinish||0,this.duration=t.course&&t.course.duration?t.course.duration:0,this.playDuration=t.playDuration||0,this.playDurationSeek=t.playDuration||0,this.tipsTime=t.tipsTime||0;let l=[];t.course&&t.course.lineOne&&l.push(t.course.lineOne),t.course&&t.course.lineTwo&&l.push(t.course.lineTwo),t.course&&t.course.lineThree&&l.push(t.course.lineThree),this.lineList=l,!this.player||e=="error"?(this.lineIndex=this.config.defaultLine,this.lineIndex=1,this.videoUrl=l[this.lineIndex],this.poster=t.course&&t.course.imgUrl?t.course.imgUrl:"",this.playTime=this.playDuration>=this.duration?0:this.playDuration,setTimeout(()=>{this.player=s.index.createVideoContext("video-content-box"),this.player.seek(this.playTime),this.player.play()},500)):(this.playTime=this.playTime>this.playDuration?this.playTime:this.playDuration>=this.duration?0:this.playDuration,this.player.seek(this.playTime),this.player.play()),this.updateTime(),this.quesList=t.questions&&t.questions.length>0?t.questions:[],this.quesList=this.quesList.map(n=>d(a({},n),{questionOption:JSON.parse(n.question),answer:""}))}this.getHeight(),this.getDescHeight()},t=>{})},handleAnswer(e,t,l){let n=this.playTime;if(this.isEnded?n=this.duration:n<this.playDuration&&this.isFinish!=1&&(n=this.playDuration),Number(this.duration||0)==0||n<this.duration-60){s.index.showToast({title:"\u8BF7\u5148\u89C2\u770B\u5B8C\u6574\u8BFE\u7A0B\u518D\u7B54\u9898\u54E6\uFF5E",icon:"none"});return}if(e.type==1)e.answer=t.name;else if(e.type==2){let i=e.answer?e.answer.split(","):[];i.indexOf(t.name)===-1?(i.push(t.name),e.answer=i.join(",")):(i.splice(i.indexOf(t.name),1),e.answer=i.join(","))}},submit(){if(this.isExpire){s.index.showToast({title:"\u8BFE\u7A0B\u5DF2\u8FC7\u671F\u6216\u94FE\u63A5\u65E0\u6548",icon:"none"});return}this.$isLoginCourse().then(e=>{e?this.isAddKf==1?this.courseAnswer():this.videoId&&this.qwUserId?this.getIsAddKf():s.index.showToast({title:"\u8BF7\u6DFB\u52A0\u5BA2\u670D",icon:"none"}):this.goLogin()},e=>{})},courseAnswer(){let e=this.playTime;if(this.isEnded?e=this.duration:e<this.playDuration&&this.isFinish!=1&&(e=this.playDuration),Number(this.duration||0)==0||e<this.duration-60){s.index.showToast({title:"\u8BF7\u5148\u89C2\u770B\u5B8C\u6574\u8BFE\u7A0B\u518D\u7B54\u9898\u54E6\uFF5E",icon:"none"});return}if(this.quesList.some(n=>!n.answer)){s.index.showToast({title:"\u8BF7\u786E\u8BA4\u662F\u5426\u7B54\u5B8C\u6240\u6709\u9898\u76EE",icon:"none"});return}const t=this.quesList.map(n=>{const r=n,{questionOption:i}=r;return x(r,["questionOption"])}),l=d(a({},this.urlOption),{questions:t,videoId:this.videoId,duration:this.playTime});this.errTitle="",this.errDesc="",this.errQues=[],h.courseAnswer(l).then(n=>{n.code==200?n.incorrectQuestions?(n.incorrectQuestions.length>0&&(this.errQues=n.incorrectQuestions),this.remain=n.remain||0,n.remain>0&&(this.errTitle="\u5F88\u9057\u61BE\u7B54\u9519\u4E86",this.errDesc=`<span style="color:#FF5C03">\u8FD8\u6709${n.remain}\u6B21\u673A\u4F1A\uFF0C\u7EE7\u7EED\u52A0\u6CB9</span>`,this.$refs.answerPopup.open("center"))):(this.errTitle="\u606D\u559C\u4F60\uFF0C\u56DE\u7B54\u6B63\u786E",this.errDesc="\u8BF7\u9009\u62E9\u5956\u52B1",this.$refs.answerPopup.open("center")):n.msg=="\u8BE5\u8BFE\u9898\u5230\u8FBE\u7B54\u9519\u6B21\u6570\u9650\u5236"?(this.errTitle="\u7B54\u9898\u6B21\u6570\u8D85\u8FC7\u9650\u5236",this.errDesc="\u4EE5\u540E\u7684\u8BFE\u7A0B\u8981\u8BA4\u771F\u5B66\u4E60\u54E6",this.$refs.answerPopup.open("center")):s.index.showToast({title:n.msg,icon:"none"})},n=>{})},rewardChange(e){this.currentReward=e.detail.value},closeAnswerPopup(){if(this.$refs.answerPopup.close(),this.errTitle=="\u606D\u559C\u4F60\uFF0C\u56DE\u7B54\u6B63\u786E"){const e=d(a({},this.urlOption),{rewardType:Number(this.currentReward),source:2});h.sendReward(e).then(t=>{t.code==200||s.index.showToast({title:t.msg,icon:"none"})})}},openPop(){this.$refs.popup.open("bottom")},close(){this.$refs.popup.close()},handleLine(e){var t=this;if(this.lineIndex==e&&this.videoUrl==this.lineList[e]){this.close();return}else this.lineIndex=e,this.videoUrl=this.lineList[e],this.tipsOpen=!1,this.playDurationSeek=this.playTime||0,this.player=s.index.createVideoContext("video-content-box"),setTimeout(function(){t.player.seek(t.playDurationSeek),t.player.play()},500),this.close()},openTipsPop(){this.$refs.tipsPopup.open(),this.tipsOpen=!0,this.pause()},closeTipsPop(){this.$refs.tipsPopup.close()},getIsAddKf(){this.qrcode="",this.qrcodeMsg="",this.isAddKf=0,h.getIsAddKf(this.urlOption).then(e=>{e.code==200?(this.isAddKf=1,this.getH5CourseVideoDetails()):e.code==400?(this.isAddKf=0,this.qrcode=e.qrcode,this.qrcodeMsg=e.msg,this.$refs.kfPopup.open()):e.code==504||(this.isAddKf=0,s.index.showToast({title:e.msg,icon:"none"}))},e=>{})},closeKFPop(){this.$refs.kfPopup.close()},getFinishCourseVideo(){if(!this.playTime)return;const e=a({duration:this.playTime},this.urlOption);h.getFinishCourseVideo(e)},getIntegralByH5Video(){const e=a({duration:this.playTime},this.urlOption);h.getIntegralByH5Video(e).then(t=>{t.code==200&&s.index.showToast({title:"\u79EF\u5206+10",icon:"none"})})},progressChange(e){this.bufferRate=Math.ceil(e.detail.buffered)},getInternetTraffic(){const e=Math.ceil(this.playTime/this.duration*100);if((this.bufferRate==0||this.bufferRate<e)&&(this.bufferRate=e),this.bufferRate==0||Number(this.bufferRate.toFixed(2))==0)return;const t=a({uuId:s.dayjs().format("YYYYMMDD")+this.uuId,duration:this.playTime,bufferRate:Number(this.bufferRate.toFixed(2))},this.urlOption);h.getInternetTraffic(t)},getErrMsg(e){let t={videoUrl:this.videoUrl,lineIndex:this.lineIndex,errTime:new Date,ip:this.ip,errMsg:e};h.getErrMsg({msg:JSON.stringify(t)})},goLogin(){this.$getProvider().then(e=>{console.log("\u5F53\u524D\u7684\u73AF\u5883\u5546",e),e||reject(),s.index.login({provider:e,success:async t=>{console.log(t),s.index.getUserInfo({provider:e,success:l=>{s.index.showToast({title:"\u5904\u7406\u4E2D...",icon:"loading"}),h.loginByMp({code:t.code,encryptedData:l.encryptedData,iv:l.iv}).then(n=>{s.index.hideLoading(),n.code==200?(s.index.setStorageSync("AppTokenmini_RTCourse",n.token),s.index.setStorageSync("userInfo",JSON.stringify(n.user)),this.isLogin=!0,this.getIsAddKf()):s.index.showToast({title:n.msg,icon:"none"})}).catch(n=>{s.index.hideLoading(),s.index.showToast({icon:"none",title:"\u767B\u5F55\u5931\u8D25,\u8BF7\u91CD\u65B0\u767B\u5F55"})})}})}})}).catch(e=>{})},getLink(){h.getRealLink({sortLink:this.sortLink}).then(e=>{e.code==200?(this.isExpire=!1,this.isLogin&&this.isAddKf==1&&this.getH5CourseVideoDetails(),this.videoId&&this.isAddKf!=1&&this.$isLoginCourse().then(t=>{this.isLogin=t,t?this.getIsAddKf():this.goLogin()},t=>{})):(this.isExpire=!0,s.index.showToast({title:"\u8BFE\u7A0B\u5DF2\u8FC7\u671F\u6216\u94FE\u63A5\u65E0\u6548",icon:"none"}))}).catch(e=>{this.isExpire=!0,s.index.showToast({title:"\u53D1\u751F\u9519\u8BEF\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",icon:"none"})})}}};Array||s.resolveComponent("uni-popup")();const q=()=>"../uni_modules/uni-popup/components/uni-popup/uni-popup.js";Math||q();function P(e,t,l,n,i,o){return s.e({a:!i.isLogin||i.isAddKf!=1},!i.isLogin||i.isAddKf!=1?{b:i.courseInfo.imgUrl}:{},{c:s.o((...r)=>o.onTimeUpdate&&o.onTimeUpdate(...r)),d:s.o((...r)=>o.progressChange&&o.progressChange(...r)),e:s.o((...r)=>o.videoErrorCallback&&o.videoErrorCallback(...r)),f:s.o((...r)=>o.getPlay&&o.getPlay(...r)),g:s.o((...r)=>o.getPause&&o.getPause(...r)),h:s.o((...r)=>o.getEnded&&o.getEnded(...r)),i:e.poster,j:i.videoUrl,k:i.isLogin&&i.isAddKf==1},i.isLogin&&i.isAddKf==1?{l:s.t(i.courseInfo.title)}:{m:s.t(i.courseInfo.courseName)},{n:!i.isLogin||i.isAddKf!=1},!i.isLogin||i.isAddKf!=1?s.e({o:s.t(i.courseInfo.title),p:i.textHeight>21},i.textHeight>21?{q:s.t(i.isExpand?"\u6536\u8D77\u7B80\u4ECB":"\u5C55\u5F00\u7B80\u4ECB"),r:s.o((...r)=>o.handleExpand&&o.handleExpand(...r)),s:i.baseUrl+"/images/course_arrow_up_icon.png",t:i.isExpand,v:i.baseUrl+"/images/course_arrow_down_icon.png",w:!i.isExpand}:{}):{},{x:s.t(i.courseInfo.description),y:i.isLogin&&i.isAddKf==1&&i.textHeight>21},i.isLogin&&i.isAddKf==1&&i.textHeight>21?{z:s.t(i.isExpand?"\u6536\u8D77\u7B80\u4ECB":"\u5C55\u5F00\u7B80\u4ECB"),A:s.o((...r)=>o.handleExpand&&o.handleExpand(...r)),B:i.baseUrl+"/images/course_arrow_up_icon.png",C:i.isExpand,D:i.baseUrl+"/images/course_arrow_down_icon.png",E:!i.isExpand,F:s.n(i.isExpand?"expand":"expand expand-ab")}:{},{G:i.isExpand?"auto":"42rpx",H:i.isLogin&&i.isAddKf==1},i.isLogin&&i.isAddKf==1?{I:s.f(i.quesList,(r,u,g)=>({a:s.t(u+1),b:s.t(r.type==1?"\u5355\u9009":r.type==2?"\u591A\u9009":""),c:r.type==1||r.type==2,d:s.t(r.title),e:s.f(r.questionOption,(c,f,D)=>({a:s.t(o.numberToLetter(f)),b:s.t(c.name),c:s.n(o.isAnswer(r,c.name)?"ques-option ques-option-active":"ques-option"),d:f,e:s.o(k=>o.handleAnswer(r,c),f)})),f:u}))}:{},{J:i.height,K:i.scrollTop,L:i.isLogin&&i.isAddKf==1},i.isLogin&&i.isAddKf==1?{M:i.baseUrl+"/images/changePlayer-icon.png",N:s.t(i.lineIndex+1|e.numberToChinese),O:s.o((...r)=>o.openPop&&o.openPop(...r))}:{},{P:i.baseUrl+"/images/tc_close_icon.png",Q:s.o((...r)=>o.close&&o.close(...r)),R:s.f(i.lineList,(r,u,g)=>({a:s.t(u+1|e.numberToChinese),b:s.n(i.lineIndex==u?"line-item line-active":"line-item"),c:u,d:s.o(c=>o.handleLine(u),u)})),S:s.sr("popup","468b9330-0"),T:s.p({type:"bottom"}),U:i.baseUrl+"/images/red_envelope_img.png",V:i.baseUrl+"/images/course_close_white_icon.png",W:s.o((...r)=>o.closeTipsPop&&o.closeTipsPop(...r)),X:i.baseUrl+"/images/tips_title_img.png",Y:s.o((...r)=>o.closeTipsPop&&o.closeTipsPop(...r)),Z:s.sr("tipsPopup","468b9330-1"),aa:s.p({type:"center",["is-mask-click"]:!1}),ab:i.errTitle=="\u606D\u559C\u4F60\uFF0C\u56DE\u7B54\u6B63\u786E"},i.errTitle=="\u606D\u559C\u4F60\uFF0C\u56DE\u7B54\u6B63\u786E"?{ac:i.baseUrl+"/images/course_answer_img.png"}:{ad:i.baseUrl+"/images/course_answer_incorrectly_img.png"},{ae:s.t(i.errTitle),af:i.errDesc,ag:i.errTitle=="\u606D\u559C\u4F60\uFF0C\u56DE\u7B54\u6B63\u786E"},i.errTitle=="\u606D\u559C\u4F60\uFF0C\u56DE\u7B54\u6B63\u786E"?{ah:s.f(i.rewardType,(r,u,g)=>({a:r.value+"",b:r.value==i.currentReward,c:s.t(r.name),d:r.value==i.currentReward?"#FF5C03":"",e:r.value})),ai:s.o((...r)=>o.rewardChange&&o.rewardChange(...r))}:{},{aj:i.errQues&&i.errQues.length>0},i.errQues&&i.errQues.length>0?{ak:s.f(i.errQues,(r,u,g)=>({a:s.t(r.title),b:u}))}:{},{al:i.errTitle=="\u606D\u559C\u4F60\uFF0C\u56DE\u7B54\u6B63\u786E"},i.errTitle=="\u606D\u559C\u4F60\uFF0C\u56DE\u7B54\u6B63\u786E"?{am:s.o((...r)=>o.closeAnswerPopup&&o.closeAnswerPopup(...r))}:{an:s.t(i.remain>0?"\u91CD\u65B0\u7B54\u9898":"\u786E\u8BA4"),ao:s.o((...r)=>o.closeAnswerPopup&&o.closeAnswerPopup(...r)),ap:i.errQues&&i.errQues.length>0?"40rpx":"54rpx"},{aq:s.n(i.errTitle=="\u606D\u559C\u4F60\uFF0C\u56DE\u7B54\u6B63\u786E"?"answerPopup-box bg":"answerPopup-box"),ar:s.sr("answerPopup","468b9330-2"),as:s.p({type:"center",show:i.answerPopup}),at:i.qrcode,av:i.qrcodeMsg,aw:i.qrcodeMsg,ax:i.baseUrl+"/images/course_close_white_icon.png",ay:s.o((...r)=>o.closeKFPop&&o.closeKFPop(...r)),az:s.sr("kfPopup","468b9330-3"),aA:s.p({type:"center",["mask-click"]:!1}),aB:i.videoId},i.videoId?{aC:i.isLogin&&i.isAddKf==1,aD:i.baseUrl+"/images/red_envelope_btnimg.png",aE:s.t(i.isLogin&&i.isAddKf==1?"\u63D0\u4EA4\u7B54\u6848\u9886\u53D6\u5956\u52B1":"\u7ACB\u5373\u5B66\u4E60"),aF:s.n(i.isLogin&&i.isAddKf==1?"footer-btn footer-btn-border":"footer-btn"),aG:s.o((...r)=>o.submit&&o.submit(...r))}:{})}var C=s._export_sfc(L,[["render",P],["__scopeId","data-v-468b9330"],["__file","D:/work/his_user_app/pages_course/video.vue"]]);wx.createPage(C);