video.wxml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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. <view
  55. class="list-container"
  56. >
  57. <view class="list">
  58. <view wx:if="{{hasLoadAdConfig }}" class="ad-custom-card-1">
  59. <ad-custom unit-id="{{templateAdId}}" style="height: 100%;margin-bottom: 20rpx;"></ad-custom>
  60. </view>
  61. <block wx:for="{{ videoList }}" wx:key="id" wx:for-index="idx">
  62. <view wx:if="{{item.adType === 'templateAd' && hasLoadAdConfig }}" class="ad-custom-card-1">
  63. <ad-custom unit-id="{{templateAdId}}" style="height: 100%;margin-bottom: 20rpx;"></ad-custom>
  64. </view>
  65. <view wx:if="{{ item.adType === 'video' }}">
  66. <!-- 视频卡片 -->
  67. <view class="video-item" bindtap="clickCollect" data-info="{{ item }}" data-id="{{ item.id }}" data-index="{{idx}}">
  68. <view class="video-cover-container">
  69. <image
  70. class="video-cover"
  71. src="{{ item.coverUrl }}"
  72. mode="aspectFill"
  73. />
  74. </view>
  75. <view class="video-item-right">
  76. <view class="video-title">{{ item.title }}</view>
  77. <view class="video-play-count">
  78. <image class="icon" src="/assets/images/tv.png"></image>
  79. <text>{{ item.views }}w+人观看</text>
  80. </view>
  81. </view>
  82. </view>
  83. </view>
  84. </block>
  85. </view>
  86. <!-- 加载状态 -->
  87. <view class="loading-status">
  88. <!-- loading 提示 -->
  89. <view class="loading" wx:if="{{ loading }}">
  90. <view class="loading-spinner"></view>
  91. <text>加载中...</text>
  92. </view>
  93. <!-- 没有更多 -->
  94. <view
  95. class="finished"
  96. wx:if="{{ !loading && videoList.length > 0 && !hasMore }}"
  97. >
  98. <text>没有更多视频了</text>
  99. </view>
  100. <!-- 空状态 -->
  101. <view class="empty" wx:if="{{ !loading && videoList.length === 0 }}">
  102. <image class="empty-icon" src="/assets/images/empty.png"></image>
  103. <text>暂无视频内容</text>
  104. </view>
  105. </view>
  106. </view>
  107. </view>