detail.wxml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <!--pages/video/detail.wxml-->
  2. <view class="container">
  3. <view class="nav-container">
  4. <view class="nav-back" bindtap="goBack">
  5. <image class="icon-back" src="/assets/images/icons/icon-back-black.png"></image>
  6. </view>
  7. <text class="video-title">{{videoInfo.title || title}}</text>
  8. </view>
  9. <scroll-view scroll-y="{{true}}" class="video-container" bindscroll="onScroll">
  10. <view class="video-main" style="height: 500rpx;">
  11. <block wx:if="{{videoDetail.video_type !== 4}}">
  12. <video autoplay="{{true}}" src="{{videoDetail.playUrl}}" direction="{{0}}" poster="{{videoDetail.cover_image}}"
  13. bindplay="onVideoPlay" bindpause="onVideoPause" bindended="onVideoEnd" class="my-video" id="my-video"
  14. style="height: 100%" bindtimeupdate="onVideoUpdate" bindseekcomplete="onVideoSeek"
  15. bindloadedmetadata="onVideoLoaded" x5-video-player-type="h5" x5-video-player-fullscreen="true" x5-video-orientation="portrait">
  16. <view wx:if="{{isShowComplainBtn}}" class="complaint-btn" catchtap="handleComplain">投诉</view>
  17. <!-- 激励使用设置的首帧图 -->
  18. <image wx:if="{{videoDetail.first_image && videoDetail.lock}}" class="poster" src="{{videoDetail.first_image}}">
  19. </image>
  20. <view catchtap="handleClickRewardMask" class="reward-mask" wx:if="{{videoDetail.lock}}">
  21. <view class="reward-text">观看激励视频解锁更多精彩</view>
  22. <view class="play-btn">免费观看</view>
  23. </view>
  24. </video>
  25. </block>
  26. <!-- 加载中提示 -->
  27. <view wx:if="{{isLoading || !videoDetail.playUrl}}" class="loading-container">
  28. <view class="loading-spinner"></view>
  29. <view class="loading-text">{{isLoading ? '加载中...' : '获取视频中...'}}</view>
  30. </view>
  31. </view>
  32. <view class="bottom-container" wx:if="{{!isLoading && videoDetail}}">
  33. <!-- 分享 -->
  34. <view class="middle-share-container">
  35. <view class="middle-share-btn middle-share-btn-green" data-type="right">
  36. <image class="icon-wechat" src="/assets/images/icons/icon-wechat.png"></image>
  37. <text>转发好友</text>
  38. <button class="cover-button" open-type="share" data-type="video-friend"></button>
  39. </view>
  40. <view class="middle-share-btn middle-share-btn-orange" data-type="left">
  41. <image class="icon-wechat" src="/assets/images/icons/icon-wechat.png"></image>
  42. <text>分享群里</text>
  43. <button class="cover-button" open-type="share" data-type="video-group"></button>
  44. </view>
  45. </view>
  46. <!-- 标题 -->
  47. <view class="title-wrap">
  48. <view class="title">{{videoInfo.title}}</view>
  49. </view>
  50. <!-- <view class="home-btn" bindtap="goBack">返回视频列表</view> -->
  51. </view>
  52. <!-- 相关推荐 -->
  53. <view class="recommend-section" wx:if="{{!isLoading && relatedVideos && relatedVideos.length > 0}}">
  54. <view class="recommend-title">-更多精彩推荐-</view>
  55. <view class="video-list">
  56. <block wx:for="{{ relatedVideos }}" wx:key="id">
  57. <!-- 视频卡片 -->
  58. <view class="video-item" bindtap="onRelatedVideoTap" data-id="{{ item.id }}">
  59. <view class="video-cover-container">
  60. <image
  61. class="video-cover"
  62. src="{{ item.cover_image }}"
  63. mode="aspectFill"
  64. />
  65. <view class="play-button-container">
  66. <view class="play-button" wx:if="{{ !item.lock }}">
  67. <image
  68. class="play-icon"
  69. src="/assets/images/icon-video-play.png"
  70. ></image>
  71. </view>
  72. <view class="play-button-lock" wx:else>
  73. <image
  74. class="play-icon"
  75. src="/assets/images/icon-lock.png"
  76. ></image>
  77. <view class="play-button-lock-title">观看广告解锁完整内容</view>
  78. </view>
  79. </view>
  80. </view>
  81. <view class="video-item-title">{{ item.title }}</view>
  82. <view class="share-button" catchtap="onShareTap">
  83. <image
  84. class="share-icon"
  85. src="/assets/images/icons/icon-wechat.png"
  86. catchtap="onShareTap"
  87. ></image>
  88. <text>分享</text>
  89. <button class="share-cover-button" open-type="share" data-video="{{ item }}" catchtap></button>
  90. </view>
  91. </view>
  92. </block>
  93. </view>
  94. </view>
  95. </scroll-view>
  96. </view>