video.wxml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <!--pages/video/video.wxml-->
  2. <view class="nav-bar" style="{{navStyle}}">
  3. <image class="icon-back" src="/assets/images/icons/icon-back-black.png" style="top:{{statusBarHeight}}px" bindtap="clickBack">
  4. </image>
  5. </view>
  6. <view class="collect-video-container">
  7. <view class="video-main">
  8. <block wx:if="{{eps && eps.length > 0}}">
  9. <video autoplay="{{true}}" src="{{videoDetail.playUrl}}" direction="{{0}}"
  10. bindplay="onVideoPlay" bindpause="onVideoPause" bindended="onVideoEnd" class="my-video" id="my-video"
  11. style="height: 100%" bindtimeupdate="onVideoUpdate" bindseekcomplete="onVideoSeek"
  12. bindloadedmetadata="onVideoLoaded" x5-video-player-type="h5" x5-video-player-fullscreen="true" x5-video-orientation="portrait">
  13. <view wx:if="{{isShowComplainBtn}}" class="complaint-btn" catchtap="handleComplain">投诉</view>
  14. <!-- 激励使用设置的首帧图 -->
  15. <!-- <image wx:if="{{videoDetail.coverUrl && !videoDetail.lock}}" class="poster" src="{{videoDetail.coverUrl}}"> -->
  16. <!-- </image> -->
  17. <view catchtap="handleClickRewardMask" class="reward-mask" wx:if="{{videoDetail.lock}}">
  18. <view class="reward-btn" catchtap="clickUnlock">
  19. <image class="icon-lock" src="/assets/images/lock.png"></image>
  20. <text>看完广告解锁本合集所有内容</text>
  21. </view>
  22. <view class="reward-tip">今日看满3个广告可解锁本小程序所有内容</view>
  23. </view>
  24. </video>
  25. </block>
  26. <!-- 加载中提示 -->
  27. <view wx:if="{{(isLoading || !videoDetail.playUrl) && !videoDetail.lock}}" class="loading-container">
  28. <view class="loading-spinner"></view>
  29. <view class="loading-text">{{isLoading ? '加载中...' : '获取视频中...'}}</view>
  30. </view>
  31. </view>
  32. <view class="video-info">
  33. <view class="video-title">{{videoDetail.videoTitle}}</view>
  34. <view class="video-desc">
  35. <text class="xuanji">选集</text>
  36. <text class="total-ep">共{{eps.length}}集</text>
  37. <text class="ep-tip">锁定集在观看广告后可解锁</text>
  38. </view>
  39. <scroll-view scroll-x class="video-eps-scroll">
  40. <view class="video-eps">
  41. <view wx:for="{{eps}}" class="ep-item" data-ep="{{item}}" data-idx="{{index}}" bindtap="clickEp">
  42. <view class="ep-item-title">
  43. <image wx:if="{{playingEp === index && !item.lock}}" class="icon" src="/assets/images/playing.png"></image>
  44. <image wx:if="{{item.lock}}" class="icon" src="/assets/images/lock.png"></image>
  45. <text style="color: {{playingEp === index ? '#CA4D7A':'#ffffff'}}">第{{index + 1}}集</text>
  46. </view>
  47. <image class="ep-item-cover" src="{{item.coverUrl}}"></image>
  48. </view>
  49. </view>
  50. </scroll-view>
  51. </view>
  52. <view class="title">猜你喜欢</view>
  53. <!-- 视频列表 -->
  54. <scroll-view
  55. scroll-y
  56. class="list-container"
  57. enhanced="{{ true }}"
  58. show-scrollbar="{{ false }}"
  59. bounces="{{ true }}"
  60. fast-deceleration="{{ true }}"
  61. >
  62. <view class="list">
  63. <block wx:for="{{ videoList }}" wx:key="id" wx:for-index="idx">
  64. <!-- 视频广告 -->
  65. <!-- <view wx:if="{{item.adType === 'videoAd' && hasLoadAdConfig}}" class="ad-custom-card"> -->
  66. <!-- <ad unit-id="{{templateAdId}}" ad-type="video" style="height: 100%;margin-bottom: 20rpx;"></ad> -->
  67. <!-- </view> -->
  68. <view wx:if="{{ item.adType === 'video' }}">
  69. <!-- 视频卡片 -->
  70. <view class="video-item" bindtap="clickCollect" data-info="{{ item }}" data-id="{{ item.id }}" data-index="{{idx}}">
  71. <view class="video-cover-container">
  72. <image
  73. class="video-cover"
  74. src="{{ item.coverUrl }}"
  75. mode="aspectFill"
  76. />
  77. </view>
  78. <view class="video-item-right">
  79. <view class="video-title">{{ item.title }}</view>
  80. <view class="video-play-count">
  81. <image class="icon" src="/assets/images/tv.png"></image>
  82. <text>{{ item.views }}w+人观看</text>
  83. </view>
  84. </view>
  85. </view>
  86. </view>
  87. <!-- 卡片原生广告 -->
  88. <!-- <view wx:if="{{item.adType === 'templateAd' && hasLoadAdConfig }}" class="ad-custom-card-1"> -->
  89. <!-- <ad-custom unit-id="{{templateAdId}}" style="height: 100%;margin-bottom: 20rpx;"></ad-custom> -->
  90. <!-- </view> -->
  91. </block>
  92. </view>
  93. <!-- 加载状态 -->
  94. <view class="loading-status">
  95. <!-- loading 提示 -->
  96. <view class="loading" wx:if="{{ loading }}">
  97. <view class="loading-spinner"></view>
  98. <text>加载中...</text>
  99. </view>
  100. <!-- 没有更多 -->
  101. <view
  102. class="finished"
  103. wx:if="{{ !loading && videoList.length > 0 && !hasMore }}"
  104. >
  105. <text>没有更多视频了</text>
  106. </view>
  107. <!-- 空状态 -->
  108. <view class="empty" wx:if="{{ !loading && videoList.length === 0 }}">
  109. <image class="empty-icon" src="/assets/images/empty.png"></image>
  110. <text>暂无视频内容</text>
  111. </view>
  112. </view>
  113. </scroll-view>
  114. </view>