basicTrainingDetails.vue 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <template>
  2. <view>
  3. <!-- <video id="vid"><source :src="details.videoUrl"></video> -->
  4. <!-- <video width="320" height="240" controls="controls" preload="auto">
  5. <source src="static/img/11111.mp4" type="video/mp4">
  6. 您的浏览器不支持Video标签。
  7. </video> -->
  8. <!-- <video @timeupdate="updateTime" @canplay="getDuration" ref="video111" :src="details.videoUrl" controls="controls" preload="auto"></video> -->
  9. <view id="player" style="width: 100%;"></view>
  10. <u-parse :html="details.content" class="f-padding"></u-parse>
  11. </view>
  12. </template>
  13. <script>
  14. import Player from 'xgplayer';
  15. export default{
  16. data(){
  17. return{
  18. id:'',
  19. content:'',
  20. details:{},
  21. duration:'',
  22. }
  23. },
  24. onLoad(page){
  25. console.log(page)
  26. this.id = page.id;
  27. this.getAdaptTrainOnlineDetails(this.id);
  28. },
  29. onShow(){
  30. },
  31. methods:{
  32. getAdaptTrainOnlineDetails(id){
  33. this.$u.api.getAdaptTrainOnlineDetails({id:id}).then(res=>{
  34. this.details = res.data;
  35. let player = new Player({
  36. id: 'player',
  37. autoplay: false,
  38. playsinline: true,
  39. url: this.details.videoUrl,
  40. screenShot: true,
  41. fluid: true,
  42. videoInit: true,
  43. enableVideoDbltouch: true,
  44. });
  45. player.once('ended',()=>{
  46. this.upAdaptTrainOnlineInfo();
  47. });
  48. player.once('canplay',(e)=>{
  49. console.log('canplay',player.duration)
  50. this.duration = player.duration;
  51. });
  52. player.on('timeupdate',()=>{
  53. let that = this;
  54. // console.log('that',that);
  55. // console.log('currentTime',player.currentTime);
  56. // // setInterval(that.aaa+=1,1000)
  57. // console.log('that.aaa',that.aaa);
  58. //事件名称可以在上述查询
  59. });
  60. console.log('getAdaptTrainOnline',JSON.parse(JSON.stringify(res)));
  61. })
  62. },
  63. upAdaptTrainOnlineInfo(){
  64. let params ={
  65. tabId:this.details.id,
  66. adaptName:this.details.adaptName,
  67. url:this.details.videoUrl,
  68. type:this.details.videoType,
  69. duration:this.duration,
  70. playDuration:this.duration,
  71. }
  72. this.$u.api.upAdaptTrainOnlineInfo(params).then(res=>{
  73. this.rate = res.data;
  74. console.log('upAdaptTrainOnlineInfo',JSON.parse(JSON.stringify(res)));
  75. })
  76. },
  77. }
  78. }
  79. </script>
  80. <style lang="scss" scoped>
  81. #player{margin-bottom: 24rpx;}
  82. // @import './basicTrainingDetails.scss'
  83. </style>