index.wxml 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <view class="readingBox">
  2. <!-- 查看全部配音作品 -->
  3. <view class="moreWork" wx:if="{{readingType=='public'||readingType=='readMatch'}}">
  4. <view class="left">查看全部配音作品</view>
  5. <view class="right" bindtap="otherWork" style="width: {{(videoInfo.avatarList.length+1)*42+64}}rpx;">
  6. <block wx:for="{{videoInfo.avatarList}}" wx:key="index">
  7. <image class="moreImg" style="left: {{(index+1)*40}}rpx;" src="{{item}}"></image>
  8. </block>
  9. <image src="/static/more.png" class="moreImg" />
  10. </view>
  11. </view>
  12. <view class="videoBox" wx:if="{{!videoInfo.userReadExtend||videoInfo.userReadExtend.resourcesType==0}}">
  13. <image src="{{videoInfo.userRead.coverImg}}" class='poster' wx:if="{{!state&&!exampleState}}"
  14. bindtap="videoPlay" />
  15. <image src="/static/play-btn.png" bindtap="videoPlay" wx:if="{{!state&&!exampleState}}" class="playBtn" />
  16. <!-- 水印 -->
  17. <image src="{{videoInfo.readMaskTemplate.imgPath}}" class="watermark" />
  18. <video id="myVideo" src="{{videoPath}}" bindended='videoEnd' show-center-play-btn="{{readingReset}}"
  19. custom-cache="{{false}}" controls="{{!state&&!readingReset}}" muted="{{muted}}"></video>
  20. </view>
  21. <view class="audio" bindtap='videoPlay' wx:else>
  22. <!-- <image src="{{videoInfo.userRead.coverImg}}" class="audioBg" /> -->
  23. <!-- <view class="mask"></view> -->
  24. <view class="audioPlay" style="background-image: url({{videoInfo.userReadExtend.backgroundVirtualImg}});">
  25. <image src="/static/audioBg.png" class="audioPlayBg {{state?'circle':''}}" />
  26. <image src="/static/zhen.png" class="audioPlayZhen" />
  27. <image src="/static/play-btn.png" wx:if="{{!state&&!exampleState}}" class="playBtn" />
  28. <image src="{{videoInfo.userRead.coverImg}}" class="cover {{state||exampleState?'circle':''}}" mode="" />
  29. </view>
  30. <view class="progressBar">
  31. <image src="{{state||exampleState?'/static/aStop.png':'/static/aPlay.png'}}" class="audioSwitch" />
  32. <view class="time">{{silderData.currentTime}}</view>
  33. <slider class="slider" value="{{silderData.sliderValue}}" catchtap="false"
  34. disabled="{{!state&&!exampleState}}" catchchange="slider" block-size='12' backgroundColor='#ffffff50'
  35. selected-color="#ffffff" />
  36. <view class="time">{{silderData.endTime}}</view>
  37. </view>
  38. </view>
  39. <view class="workFooter" wx:if="{{readingType=='public'}}">
  40. <button class="resetBtn mangeL-box" open-type="share" data-info='{{videoInfo}}' bindtap="shareVideo"
  41. wx:if="{{shareBtn}}">
  42. <image src="/static/share.png" mode="" class="icon" />
  43. <view class="icon-name">分享</view>
  44. </button>
  45. <view class="resetBtn mangeL-box" wx:else>
  46. <image src="/static/share.png" mode="" class="icon" />
  47. <view class="icon-name">分享</view>
  48. </view>
  49. <view class="mangeL-box" bindtap="collect">
  50. <image src="{{videoInfo.isFavorites ? '/static/star_colored.png' : '/static/star.png'}}" mode=""
  51. class="icon" />
  52. <view class="icon-name">{{videoInfo.isFavorites?'已收藏':'收藏'}}</view>
  53. </view>
  54. <view class="mangeL-box" bindtap="openComment">
  55. <view class="noticeTips" wx:if="{{videoType=='my'&&videoInfo.unReadPostsCount>0}}">
  56. +{{videoInfo.unReadPostsCount}}</view>
  57. <image src="/static/comment.png" mode="" class="icon" />
  58. <view class="icon-name">{{filters.numFilter(videoInfo.userRead.commentAmount)}}</view>
  59. </view>
  60. <view class="mangeL-box" bindtap="likeVideo">
  61. <image src="{{videoInfo.isLike ? '/static/heart_colored.png' : '/static/heart.png'}}" class="icon" />
  62. <view class="icon-name">{{filters.numFilter(videoInfo.userRead.likeAmount)}}</view>
  63. </view>
  64. </view>
  65. <view class="contentBox" wx:if="{{!readingReset}}">
  66. <view class="articleMask"></view>
  67. <scroll-view class="content" scroll-y enhanced show-scrollbar="{{false}}" scroll-top="{{scrollTop}}"
  68. scroll-with-animation>
  69. <view style="height: 100rpx;"></view>
  70. <view class="row {{currentRow==index?'currentRow':''}}" wx:for="{{article}}" wx:key="id">{{item.text}}
  71. </view>
  72. <view style="height: {{contentH}}rpx;"></view>
  73. </scroll-view>
  74. </view>
  75. <view class="scoreBoxC" wx:elif="{{readingReset&&readDetail.businessType!=2}}">
  76. <view class="scoreBox">
  77. <!-- 星星区域 -->
  78. <view class="lightBox">
  79. <image src="/static/{{readDetail.myOverall>=10?'stars-1.png':'stars-2.png'}}" class="stars stars-1"
  80. mode="" />
  81. <image src="/static/{{readDetail.myOverall>=30?'stars-1.png':'stars-2.png'}}" class="stars stars-2"
  82. mode="" />
  83. <image src="/static/{{readDetail.myOverall>=50?'stars-1.png':'stars-2.png'}}" class="stars stars-3"
  84. mode="" />
  85. <image src="/static/{{readDetail.myOverall>=70?'stars-1.png':'stars-2.png'}}" class="stars stars-4"
  86. mode="" />
  87. <image src="/static/{{readDetail.myOverall>=90?'stars-1.png':'stars-2.png'}}" class="stars stars-5"
  88. mode="" />
  89. <image src="/static/light.png" class="light" mode="" />
  90. </view>
  91. <!-- 主体得分区域 -->
  92. <view class="score">
  93. <view class="avatarBox">
  94. <image src="{{userInfo.avatar}}" class="avatar" mode="" />
  95. </view>
  96. <view class="nickName">
  97. {{userInfo.nickName||userInfo.eid}}
  98. </view>
  99. <view class="totalScore">
  100. <text>综合得分:</text>
  101. <text class="num">{{readDetail.myOverall}}</text>
  102. </view>
  103. <view class="progressBox">
  104. <view class="row">
  105. <view class="name">完整度</view>
  106. <progress class="progress" active percent='{{readDetail.integrity}}' stroke-width="18"
  107. activeColor="#70D9FF" />
  108. <view class="scoreInfo">
  109. {{readDetail.integrity}}/100
  110. </view>
  111. </view>
  112. <view class="row">
  113. <view class="name">正确率</view>
  114. <progress class="progress" active percent='{{readDetail.accuracy}}' stroke-width="18"
  115. activeColor="#918EFD" />
  116. <view class="scoreInfo">
  117. {{readDetail.accuracy}}/100
  118. </view>
  119. </view>
  120. <view class="row">
  121. <view class="name">流利度</view>
  122. <progress class="progress" active percent='{{readDetail.fluency}}' stroke-width="18"
  123. activeColor="#FE9500" />
  124. <view class="scoreInfo">
  125. {{readDetail.fluency}}/100
  126. </view>
  127. </view>
  128. <view class="row" wx:if="{{readDetail.businessType==0}}">
  129. <view class="name">语调</view>
  130. <progress class="progress" active percent='{{readDetail.tone}}' stroke-width="18"
  131. activeColor="#9BE74B " />
  132. <view class="scoreInfo">
  133. {{readDetail.tone}}/100
  134. </view>
  135. </view>
  136. </view>
  137. </view>
  138. </view>
  139. </view>
  140. <view class="controller">
  141. <!-- <image wx:else src="/static/work.png" class="playImg" bindtap="eeeeee" /> -->
  142. <view class="workBox">
  143. <view class="vipLogo" wx:if="{{!isVip}}">{{!free?'限免':'VIP'}}</view>
  144. <image wx:if="{{state}}" src="/static/readingNow.gif" class="readingNow" bindtap="setCountDown" />
  145. <image wx:else src="/static/work.png" class="playImg" bindtap="setCountDown" />
  146. </view>
  147. <view class="text">
  148. {{state?'完成录制':readingReset?'点击重录':readingType=='public'||readingType=='readMatch'?'开始朗读':'开始挑战'}}
  149. </view>
  150. <block wx:if="{{readingReset}}">
  151. <uploadFile activityId='{{activityId}}' readingType='{{readingType}}' class="btnPosition"
  152. wx:if="{{!uploadHide}}" />
  153. <view class="stBtn" bindtap="backReading">退出</view>
  154. </block>
  155. </view>
  156. <view class="playImgBg"></view>
  157. <!-- 倒计时 -->
  158. <view class="countDownBox" wx:if="{{countDown.state}}">
  159. <view class="countDown">
  160. <view class="number">{{countDown.num}}</view>
  161. <view class="tips">秒后开始</view>
  162. </view>
  163. </view>
  164. <page-container wx:if="{{readingType=='pk'}}" show="{{uploadState}}" bind:beforeleave='beforeleave'>
  165. <view class="uploadBox">
  166. <view class="upload">
  167. <image src="/static/uploadTips.png" class="tipsImg" />
  168. <view>{{readingType=='pk'?'挑战结算中,小朋友请耐心等待哦~':'作品上传中,小朋友请耐心等待哦~'}}</view>
  169. <view class="speed">
  170. {{percent}}%
  171. </view>
  172. </view>
  173. </view>
  174. </page-container>
  175. <buyVip id="buyVip" bind:toBuy="toBuy" />
  176. <canvas id='share' type="2d"> </canvas>
  177. <vipModal id="vipModal"></vipModal>
  178. <canvas id='vip' type="2d"> </canvas>
  179. </view>