index.wxml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <view class="readingBox">
  2. <block wx:if="{{!videoInfo.userReadExtend||videoInfo.userReadExtend.resourcesType==0}}">
  3. <image src="{{videoInfo.userRead.coverImg}}" class='poster' wx:if="{{!state&&!exampleState}}" bindtap="videoPlay" />
  4. <image src="/static/play-btn.png" bindtap="videoPlay" wx:if="{{!state&&!exampleState}}" class="playBtn" />
  5. <!-- 水印 -->
  6. <image src="{{videoInfo.readMaskTemplate.imgPath}}" class="watermark" />
  7. <video id="myVideo" src="{{videoPath}}" bindended='videoEnd' show-center-play-btn="{{readingReset}}"
  8. controls="{{!state&&!readingReset}}" muted="{{muted}}"></video>
  9. </block>
  10. <view class="audio" bindtap='videoPlay' wx:else>
  11. <image src="{{videoInfo.userRead.coverImg}}" class="audioBg" mode="" />
  12. <view class="mask"></view>
  13. <view class="audioPlay" style="background-image: url({{videoInfo.userReadExtend.backgroundVirtualImg}});">
  14. <image src="/static/audioBg.png" class="audioPlayBg {{state?'circle':''}}" />
  15. <image src="/static/zhen.png" class="audioPlayZhen" />
  16. <image src="/static/play-btn.png" wx:if="{{!state&&!exampleState}}" class="playBtn" />
  17. <image src="{{videoInfo.userRead.coverImg}}" class="cover {{state||exampleState?'circle':''}}" mode="" />
  18. </view>
  19. <view class="progressBar">
  20. <image src="{{state||exampleState?'/static/aStop.png':'/static/aPlay.png'}}" class="audioSwitch" />
  21. <view class="time">{{silderData.currentTime}}</view>
  22. <slider class="slider" value="{{silderData.sliderValue}}" catchtap="false" disabled="{{!state&&!exampleState}}"
  23. catchchange="slider" block-size='12' backgroundColor='#ffffff50' selected-color="#ffffff" />
  24. <view class="time">{{silderData.endTime}}</view>
  25. </view>
  26. </view>
  27. <view class="contentBox" wx:if="{{!readingReset}}">
  28. <view class="articleMask"></view>
  29. <scroll-view class="content" scroll-y enhanced show-scrollbar="{{false}}" scroll-top="{{scrollTop}}"
  30. scroll-with-animation>
  31. <view style="height: 100rpx;"></view>
  32. <view class="row {{currentRow==index?'currentRow':''}}" wx:for="{{article}}" wx:key="id">{{item.text}}
  33. </view>
  34. <view style="height: {{contentH}}rpx;"></view>
  35. </scroll-view>
  36. </view>
  37. <view class="scoreBoxC" wx:elif="{{readingReset}}">
  38. <view class="scoreBox">
  39. <!-- 星星区域 -->
  40. <view class="lightBox">
  41. <image src="/static/{{readDetail.myOverall>=10?'stars-1.png':'stars-2.png'}}" class="stars stars-1" mode="" />
  42. <image src="/static/{{readDetail.myOverall>=30?'stars-1.png':'stars-2.png'}}" class="stars stars-2" mode="" />
  43. <image src="/static/{{readDetail.myOverall>=50?'stars-1.png':'stars-2.png'}}" class="stars stars-3" mode="" />
  44. <image src="/static/{{readDetail.myOverall>=70?'stars-1.png':'stars-2.png'}}" class="stars stars-4" mode="" />
  45. <image src="/static/{{readDetail.myOverall>=90?'stars-1.png':'stars-2.png'}}" class="stars stars-5" mode="" />
  46. <image src="/static/light.png" class="light" mode="" />
  47. </view>
  48. <!-- 主体得分区域 -->
  49. <view class="score">
  50. <view class="avatarBox">
  51. <image src="{{userInfo.avatar}}" class="avatar" mode="" />
  52. </view>
  53. <view class="nickName">
  54. {{userInfo.nickName||userInfo.eid}}
  55. </view>
  56. <view class="totalScore">
  57. <text>综合得分:</text>
  58. <text class="num">{{readDetail.myOverall}}</text>
  59. </view>
  60. <view class="progressBox">
  61. <view class="row">
  62. <view class="name">完整度</view>
  63. <progress class="progress" active percent='{{readDetail.integrity}}' stroke-width="18"
  64. activeColor="#70D9FF" />
  65. <view class="scoreInfo">
  66. {{readDetail.integrity}}/100
  67. </view>
  68. </view>
  69. <view class="row">
  70. <view class="name">正确率</view>
  71. <progress class="progress" active percent='{{readDetail.accuracy}}' stroke-width="18"
  72. activeColor="#918EFD" />
  73. <view class="scoreInfo">
  74. {{readDetail.accuracy}}/100
  75. </view>
  76. </view>
  77. <view class="row">
  78. <view class="name">流利度</view>
  79. <progress class="progress" active percent='{{readDetail.fluency}}' stroke-width="18"
  80. activeColor="#FE9500" />
  81. <view class="scoreInfo">
  82. {{readDetail.fluency}}/100
  83. </view>
  84. </view>
  85. <view class="row">
  86. <view class="name">语调</view>
  87. <progress class="progress" active percent='{{readDetail.tone}}' stroke-width="18" activeColor="#9BE74B " />
  88. <view class="scoreInfo">
  89. {{readDetail.tone}}/100
  90. </view>
  91. </view>
  92. </view>
  93. </view>
  94. </view>
  95. </view>
  96. <view class="controller">
  97. <image wx:if="{{state}}" src="/static/readingNow.gif" class="readingNow" bindtap="setCountDown" />
  98. <image wx:else src="/static/work.png" class="playImg" bindtap="setCountDown" />
  99. <view class="text">
  100. {{state?'完成录制':readingReset?'点击重录':readingType=='public'||readingType=='readMatch'?'开始朗读':'开始挑战'}}</view>
  101. <uploadFile wx:if="{{readingReset&&!uploadHide}}" class="btnPosition" />
  102. </view>
  103. <view class="playImgBg"></view>
  104. <!-- 倒计时 -->
  105. <view class="countDownBox" wx:if="{{countDown.state}}">
  106. <view class="countDown">
  107. <view class="number">{{countDown.num}}</view>
  108. <view class="tips">秒后开始</view>
  109. </view>
  110. </view>
  111. <view class="uploadBox" wx:if="{{uploadState}}">
  112. <view class="upload">
  113. <view class="speed">{{percent}}%</view>
  114. <progress percent="{{percent}}" class="speedProgress" stroke-width="10" activeColor="#C3F166" />
  115. <view>挑战结算中</view>
  116. </view>
  117. </view>
  118. <readingTips id="readingTips"></readingTips>
  119. <canvas id='share' type="2d"> </canvas>
  120. </view>