大数据平台的小程序版本

index.wxml 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. <wxs module="filter" src="../../assets/js/common.wxs"></wxs>
  2. <view class="headerBox" bindtap="closeToast" style="{{'padding-top:'+buttonTop+'px;'}}">
  3. <view class="header" style="{{'height:'+(statusNavBarHeight - safeAreaTop)+'px'}}">
  4. <image src="../../assets/img/search.png" catchtap="goSearch" mode="widthFix" class="search"></image>
  5. <view class="pageName">创意榜单</view>
  6. </view>
  7. <view class="tabBox" style="padding-top:30rpx">
  8. <view class="tab {{rankType==1?'tabActive':''}}" catchtap="rankTypeClick" data-type="1">热门视频</view>
  9. <view class="tab {{rankType==2?'tabActive':''}}" catchtap="rankTypeClick" data-type="2">暴涨视频</view>
  10. <view class="tab {{rankType==3?'tabActive':''}}" catchtap="rankTypeClick" data-type="3">标签话题</view>
  11. <view class="tab {{rankType==4?'tabActive':''}}" catchtap="rankTypeClick" data-type="4">趋势查询</view>
  12. </view>
  13. <view class="choiceMain">
  14. <view class="choiceBox" style="padding-top:34rpx" wx:if="{{rankType==1}}">
  15. <view>
  16. <view class="{{choiceType == 1 ? 'choiceActive' : ''}} choice" catchtap="timeChoiceClick" data-type="1">
  17. {{timeHotVideo.value}}
  18. <view class="sj">
  19. <image mode="widthFix" src="../../assets/img/sort.png"></image>
  20. </view>
  21. </view>
  22. <view class="{{choiceType == 2 ? 'choiceActive' : ''}} choice" catchtap="timeChoiceClick" data-type="2">
  23. {{authorType.top_label}}
  24. <view class="sj">
  25. <image mode="widthFix" src="../../assets/img/sort.png"></image>
  26. </view>
  27. </view>
  28. <!-- 订阅 -->
  29. <showTime showBtn="true" field_type="12"></showTime>
  30. </view>
  31. <view class="timeChoice" wx:if="{{timeFlag}}" bindtap="closeToast">
  32. <view class="block">
  33. <view class="timeChoiceBox">
  34. <view wx:for="{{timeList}}" wx:key="index" class="{{timeHotVideo.label == item.label? 'choiceActive' : ''}}" catchtap="cycle_1_click" data-info="{{item}}">{{item.value}}</view>
  35. </view>
  36. </view>
  37. </view>
  38. <view class="timeChoice" wx:if="{{authorTypeFlag}}" bindtap="closeToast">
  39. <view class="block">
  40. <view class="timeChoiceBox">
  41. <view wx:for="{{authorTypeList}}" class="{{authorType.id==item.id ? 'choiceActive' : ''}}" wx:key="index" catchtap="authorTypeClick" data-info="{{item}}">{{item.top_label}}</view>
  42. </view>
  43. </view>
  44. </view>
  45. </view>
  46. <view class="choiceBox" style="padding-top:34rpx" wx:if="{{rankType==2}}">
  47. <view style="overflow:hidden;display:flex;align-item:center;padding-right:20rpx;">
  48. <view class="choiceActive choice" catchtap="type_2_timeChoiceClick" style="font-size:22rpx">
  49. {{type_2_time}} {{type_2_timeRange.name}}
  50. <view class="sj">
  51. <image mode="widthFix" src="../../assets/img/sort.png"></image>
  52. </view>
  53. </view>
  54. <view class="searchView" style="flex:1;z-index:0">
  55. <input placeholder="输入关键词" bindinput="type_2_bindKeyInput" bindconfirm='type_2_search_confirm' type='text' confirm-type="search" placeholder-class="searchPlaceholderHome" value="{{type_2_keyword}}"/>
  56. <view class="searchButton" catchtap="type_2_search_confirm">OK</view>
  57. </view>
  58. </view>
  59. <view class="timeChoice" wx:if="{{type_2_timeFlag}}" bindtap="closeToast">
  60. <view class="block">
  61. <view class="timeChoiceBox timeChoiceBox1" style="border-bottom: 1px dotted #89899C;margin-bottom: 32rpx;">
  62. <view wx:for="{{type_2_timeList}}" style="margin-right:14rpx" class="{{type_2_time==item ? 'choiceActive' : ''}}" wx:key="index" catchtap="type_2_cycleEvent" data-info="{{item}}">{{item}}</view>
  63. </view>
  64. <view class="timeChoiceBox">
  65. <view wx:for="{{type_2_timeRangeList}}" wx:if="{{index==0||((nowHours>16 || type_2_time != nowDate)&&index==2)||((nowHours>8 || type_2_time != nowDate)&&index==1)}}" wx:key="index" class="{{type_2_timeRange.id == item.id ? 'choiceActive' : ''}}" catchtap="type_2_click" data-info="{{item}}" >{{item.name}}</view>
  66. </view>
  67. </view>
  68. </view>
  69. </view>
  70. <view class="choiceBox" style="padding-top:34rpx" wx:if="{{rankType==3}}">
  71. <view style="overflow:hidden;">
  72. <view class="choiceActive choice" catchtap="type_3_timeChoiceClick" style="float:left">
  73. {{type_3_time.name}}
  74. <view class="sj">
  75. <image mode="widthFix" src="../../assets/img/sort.png"></image>
  76. </view>
  77. </view>
  78. <view class="searchView" style="z-index:0">
  79. <input placeholder="输入关键词" bindinput="type_3_bindKeyInput" bindconfirm='type_3_search_confirm' type='text' confirm-type="search" placeholder-class="searchPlaceholderHome" value="{{type_3_keyword}}"/>
  80. <view class="searchButton" catchtap="type_3_search_confirm">OK</view>
  81. </view>
  82. </view>
  83. <view class="timeChoice" wx:if="{{type_3_timeFlag}}" bindtap="closeToast">
  84. <view class="block">
  85. <view class="timeChoiceBox">
  86. <view wx:for="{{type_3_timeList}}" wx:key="index" class="{{type_3_time.id == item.id ? 'choiceActive' : ''}}" catchtap="type_3_click" data-info="{{item}}" >{{item.name}}</view>
  87. </view>
  88. </view>
  89. </view>
  90. </view>
  91. <view style="padding:32rpx 28rpx 0 28rpx" wx:if="{{rankType==4}}">
  92. <view style="overflow:hidden;">
  93. <view class="searchView" style="width: 100%;margin: auto;margin-bottom: 23rpx">
  94. <input placeholder="请输入视频类目关键词,用逗号隔开" bindinput="type_4_bindKeyInput" bindconfirm='type_4_search_confirm' type='text' confirm-type="search" placeholder-class="searchPlaceholderHome" value="{{type_4_keyword}}"/>
  95. <view class="searchButton" catchtap="type_4_search_confirm">OK</view>
  96. </view>
  97. </view>
  98. <view class="choiceBox flexBox">
  99. <view style="overflow:hidden;">
  100. <view class="choiceActive choice" catchtap="type_4_timeChoiceClick" style="float:left;">
  101. {{type_4_time.value}}
  102. <view class="sj">
  103. <image mode="widthFix" src="../../assets/img/sort.png"></image>
  104. </view>
  105. </view>
  106. <view class="searchView" style="z-index:0">
  107. <input placeholder="排除关键词" bindinput="type_4_bindKeyInput2" bindconfirm='type_4_search_confirm' type='text' confirm-type="search" placeholder-class="searchPlaceholderHome" value="{{type_4_keyword2}}"/>
  108. <view class="searchButton" catchtap="type_4_search_confirm">OK</view>
  109. </view>
  110. </view>
  111. <view class="timeChoice" wx:if="{{type_4_timeFlag}}" bindtap="closeToast" style="left:-24rpx;top:30rpx;">
  112. <view class="block">
  113. <view class="timeChoiceBox">
  114. <view wx:for="{{type_4_timeList}}" wx:key="index" class="{{type_4_time.label == item.label ? 'choiceActive' : ''}}" catchtap="type_4_click" data-info="{{item}}" >{{item.value}}</view>
  115. </view>
  116. </view>
  117. </view>
  118. </view>
  119. </view>
  120. </view>
  121. </view>
  122. <view class="all" style="padding-top:calc(({{rankType==4?'280rpx':'214rpx'}} + {{ statusNavBarHeight}}px)">
  123. <view class="scrollMain">
  124. <view scroll-top="{{containerScrollTop}}" class="cantiner">
  125. <!-- 热门视频 -->
  126. <block wx:if="{{rankType==1}}">
  127. <view class="listBigBox" wx:for='{{hotList}}' wx:key="index" data-item="{{item}}" bindtap="goVideoDetail">
  128. <view class="list_videoImgBox" style="background: url(https://kx-bigdata.oss-cn-beijing.aliyuncs.com/blur_bg.png) no-repeat;background-size: 100% 100%;">
  129. <image src="{{item.cover_url?item.cover_url:item.head_url}}" mode="widthFix" class="list_videoImg"></image>
  130. </view>
  131. <view class="list_Info">
  132. <view class="videoTitle">{{item.description?item.description:'-'}}</view>
  133. <view class="userTitleBox">
  134. <view class="userBox">
  135. <image src="{{item.head_url}}" mode="widthFix" class="head_url"></image>
  136. <view class="userTitle">{{item.nickname?item.nickname:'-'}}</view>
  137. </view>
  138. <view class="auth_div">
  139. <image src="{{item.auth_icon_url}}" class="icon" mode="widthFix"></image>
  140. <text>{{item.auth_profession}}</text>
  141. </view>
  142. </view>
  143. <view class="other">
  144. <view class="time">{{item.createtime}}</view>
  145. <view class="zan">
  146. <image src="../../assets/img/star.png" mode="widthFix"></image>
  147. <text>{{item.like_count>100000 ? filter.NumberHandle(item.like_count) + '+' : filter.NumberHandle(item.like_count)}}</text>
  148. </view>
  149. </view>
  150. </view>
  151. </view>
  152. </block>
  153. <!-- 暴涨视频 -->
  154. <block wx:if="{{rankType==2}}">
  155. <view class="videoInCrRank" wx:for='{{videoIncrList}}' wx:key="index" data-item="{{item}}" bindtap="goVideoDetail">
  156. <view class="videoimgBox" style="background: url(https://kx-bigdata.oss-cn-beijing.aliyuncs.com/blur_bg.png) no-repeat;background-size: 100% 100%;">
  157. <image src="{{item.cover_url?item.cover_url:item.head_url}}" mode="widthFix"></image>
  158. </view>
  159. <view class="videoItemInfo">
  160. <view class="videoTitle">{{item.description?item.description:'-'}}</view>
  161. <view class="videoTime">发布于{{item.createtime}}</view>
  162. <view class="userTitleBox">
  163. <view class="userBox">
  164. <image src="{{item.head_url}}" mode="widthFix" class="head_url"></image>
  165. <view class="userTitle">{{item.nickname?item.nickname:'-'}}</view>
  166. </view>
  167. <view class="auth_div">
  168. <image src="{{item.auth_icon_url}}" class="icon" mode="widthFix"></image>
  169. <text>{{item.auth_profession}}</text>
  170. </view>
  171. </view>
  172. <view class="userData">
  173. <view class="userDataItem">
  174. <text class="data" style="color:#E93269">{{item.like_add||item.like_add==0?filter.NumberHandle(item.like_add):'-'}}</text>
  175. <view>点赞增量</view>
  176. </view>
  177. <view class="userDataItem">
  178. <text class="data">{{item.forward_add||item.forward_add==0?filter.NumberHandle(item.forward_add):'-'}}</text>
  179. <view>转发增量</view>
  180. </view>
  181. <view class="userDataItem">
  182. <text class="data">{{item.comment_add || item.comment_add == 0 ?filter.NumberHandle(item.comment_add) :'-'}}</text>
  183. <view>评论增量</view>
  184. </view>
  185. </view>
  186. </view>
  187. </view>
  188. </block>
  189. <!-- 标签话题 -->
  190. <block wx:if="{{rankType==3}}">
  191. <view class="topicList" wx:for="{{topicList}}" wx:key="photo_id" data-item="{{item}}" bindtap="toTopic">
  192. <view class="topicInfo">
  193. <image class="topicImg" src="../../assets/img/topic.png"></image>
  194. <view class="topicText">
  195. <view class="topicName">{{item.topic_name}}</view>
  196. <view class="topicFlex">
  197. <view class="topicLeft">参与视频号{{filter.NumberHandle(item.red_count)}}</view>
  198. <view class="topicRight">
  199. <image class="starImg" mode="widthFix" src="../../assets/img/star.png"></image>
  200. 平均点赞:{{item.like_count_avg>100000 ? filter.NumberHandle(item.like_count_avg) + '+' : filter.NumberHandle(item.like_count_avg)}}
  201. </view>
  202. </view>
  203. </view>
  204. </view>
  205. <view class="topicBox">
  206. <view class="index">
  207. <image wx:if="{{index==0}}" mode="widthFix" class="indexImg" src="../../assets/img/one.png" alt=""></image>
  208. <image wx:if="{{index==1}}" mode="widthFix" class="indexImg" src="../../assets/img/second.png" alt=""></image>
  209. <image wx:if="{{index==2}}" mode="widthFix" class="indexImg" src="../../assets/img/three.png" alt=""></image>
  210. <text wx:if="{{index>2}}">{{index+1}}</text>
  211. </view>
  212. <view class="topicMore">
  213. <view class="topicItem" wx:for="{{item.video_related}}" wx:key="index1" wx:for-item="item1" wx:for-index="index1" wx:if="{{index1<4}}" data-item="{{item1}}" catchtap="goVideoDetail" style="background: url(https://kx-bigdata.oss-cn-beijing.aliyuncs.com/blur_bg.png) no-repeat;background-size: 100% 100%;">
  214. <image src="{{item1.cover_url}}" mode="widthFix"></image>
  215. </view>
  216. </view>
  217. </view>
  218. </view>
  219. </block>
  220. <block wx:if="{{rankType!=4}}">
  221. <view class="noHaveData" style="padding-bottom:{{isIpx?'230rpx':'180rpx;'}}" wx:if="{{isHaveMoreData}}">加载中...</view>
  222. <view class="noHaveData" style="padding-bottom:{{isIpx?'230rpx':'180rpx;'}}" wx:else>暂无更多数据</view>
  223. </block>
  224. <!-- 趋势查询 -->
  225. <block wx:if="{{rankType==4}}">
  226. <view wx:if="{{type_4_trendFlag}}">
  227. <view class="trendBox">
  228. <view class="searchTab"><text>[{{type_4_keyword?type_4_keyword:'美食'}}]</text> 搜索结果如下</view>
  229. <view class="userData" style="border-top:none">
  230. <view class="userDataItem">
  231. <text class="data" style="color:#E93269">{{type_4_totalData.video_count||type_4_totalData.video_count==0?filter.NumberHandle(type_4_totalData.video_count):'-'}}</text>
  232. <view>关联作品数</view>
  233. </view>
  234. <view class="userDataItem">
  235. <text class="data">{{type_4_totalData.red_count||type_4_totalData.red_count==0?filter.NumberHandle(type_4_totalData.red_count):'-'}}</text>
  236. <view>涉及视频号</view>
  237. </view>
  238. <view class="userDataItem">
  239. <text class="data">{{type_4_totalData.like_count_sum || type_4_totalData.like_count_sum == 0 ?filter.NumberHandle(type_4_totalData.like_count_sum) :'-'}}</text>
  240. <view>累积获赞</view>
  241. </view>
  242. <view class="userDataItem">
  243. <text class="data">{{type_4_totalData.like_count_avg || type_4_totalData.like_count_avg == 0 ?filter.NumberHandle(type_4_totalData.like_count_avg) :'-'}}</text>
  244. <view>平均获赞</view>
  245. </view>
  246. <view class="userDataItem">
  247. <text class="data">{{type_4_totalData.wanNum || type_4_totalData.wanNum == 0 ?filter.NumberHandle(type_4_totalData.wanNum) :'-'}}</text>
  248. <view>10w+作品</view>
  249. </view>
  250. </view>
  251. <scroll-view scroll-x="{{true}}" class="scrollView">
  252. <view class="scroll-item" wx:for="{{type_4_infoList}}" wx:key="index" data-item="{{item}}" bindtap="goVideoDetail">
  253. <image src="{{item.cover_url?item.cover_url:item.head_url}}" mode="widthFix" class="videoImg"></image>
  254. <view class="zan">
  255. <image src="../../assets/img/star.png" mode="widthFix"></image>
  256. <text>{{item.like_count>100000 ? filter.NumberHandle(item.like_count) + '+' : filter.NumberHandle(item.like_count)}}</text>
  257. </view>
  258. </view>
  259. </scroll-view>
  260. </view>
  261. <view class="trendBox" style="height:auto;padding-top:40rpx;margin-bottom:0;">
  262. <view class="echartsDiv">
  263. <ec-canvas id="wholeEcharts" style="width:100%;" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
  264. </view>
  265. </view>
  266. </view>
  267. <view class="noHaveData" wx:else>暂无数据</view>
  268. </block>
  269. </view>
  270. </view>
  271. </view>
  272. <image wx:if="{{scrollTop>=1000}}" bindtap="goScrolltop" class="goTop" src="https://kx-gw.oss-cn-beijing.aliyuncs.com/goTop_icon.png"/>
  273. <tabbar selected="3"></tabbar>