zui.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <template>
  2. <view>
  3. <view class="body">
  4. <view class="pd16_15" style="box-shadow: 0px 0px 20upx 0px rgba(0,0,0,0.2); border-radius: 20upx;">
  5. <view>
  6. <view class="flex alcenter space top-show">
  7. <view class="flex alcenter">
  8. <text class="ft16 ftw600 cl-main">最近观看</text>
  9. </view>
  10. <navigator url="/pages/client/tuan/zjgk">
  11. <view class="ft14 cl-notice" v-show="historyList.length > 3" >更多</view>
  12. <!-- <view class="ft14 cl-notice" >更多</view> -->
  13. </navigator>
  14. </view>
  15. </view>
  16. <view class="mt16 history-box ">
  17. <block v-for="(value,key) in historyList" :key="key" v-if="key<3">
  18. <view class="history-item-box" @click="detail(value.video_id,value.video_series_sequence)">
  19. <image class="history-item-image" :src="value.cover_image"></image>
  20. <label class="history-item-title">{{value.name}}</label>
  21. </view>
  22. </block>
  23. <view class="box pb10 history-item-box history-add-box" @click="goToJuYuan">
  24. <image class="add-icon" src="/static/img/zhuiju/add.png"></image>
  25. </view>
  26. </view>
  27. </view>
  28. <view class="mt24 pd16_15">
  29. <view class="flex alcenter space">
  30. <view class="flex alcenter">
  31. <text class="ft16 ftw600 cl-main">我的追剧</text>
  32. </view>
  33. </view>
  34. <view class="mt16 zuiju-box">
  35. <block v-if="zhuijuList.length > 0" v-for="(value,key) in zhuijuList" :key="key">
  36. <view class="box pd16_15 mb16 zuiju-box-item">
  37. <image @click="detail(value.video_id,value.atch_episode_num)" class="zuiju-box-item-cover" :src="value.cover_image"></image>
  38. <view class="zuiju-box-item-info" @click="detail(value.video_id,value.watch_episode_num)">
  39. <label class="zuiju-box-item-info-title">{{value.name}}</label>
  40. <label class="zuiju-box-item-info-juji">看到<span class="guankan">{{value.watch_episode_num}}集</span></label>
  41. <label class="zuiju-box-item-info-gx">更新至<span class="update-ji">{{value.updated_episode_num}}集</span></label>
  42. </view>
  43. <view class="zuiju-box-item-del-box" @click="delzj(value.video_id)">
  44. <image class="del-icon" src="../../static/img/zhuiju/delete.png"></image>
  45. </view>
  46. </view>
  47. </block>
  48. </view>
  49. <view v-if="is_show" class="mt16 zuiju-box-kong">
  50. <image src="../../static/img/zhuiju/kong.png"></image>
  51. <text class="ft14">暂无追剧</text>
  52. <label class="ft16" @click="goToJuYuan()">去追剧</label>
  53. </view>
  54. </view>
  55. </view>
  56. </view>
  57. </view>
  58. </template>
  59. <script>
  60. import {
  61. watchRecord,
  62. shelfList,
  63. delShelf
  64. } from "@/common/apis/zju.js";
  65. export default {
  66. data() {
  67. return {
  68. more_text: "查看全部",
  69. qdjl: 0,
  70. tdsy: 0,
  71. navLock: false,
  72. datasa: [],
  73. showdyxx: true,
  74. dataconfig: [],
  75. banners: [],
  76. datainfo: [],
  77. dataindex: [],
  78. newsa: [],
  79. record: [],
  80. historyList: [],
  81. zhuijuList: [],
  82. mbgColor: this.$mbgColor,
  83. is_show_more: false,
  84. is_show:false
  85. }
  86. },
  87. computed: {
  88. },
  89. onPageScroll(e) {
  90. },
  91. onShareAppMessage(e) {
  92. },
  93. onShareTimeline(e) {
  94. },
  95. onLoad(e) {},
  96. onShow() {
  97. this.getList();
  98. },
  99. methods: {
  100. changeList() {
  101. if (this.is_show_more) {
  102. this.more_text = "查看全部";
  103. } else {
  104. this.more_text = "收起"
  105. }
  106. this.is_show_more = !this.is_show_more;
  107. },
  108. async getList() {
  109. this.historyList = await watchRecord();
  110. this.zhuijuList = await shelfList();
  111. if(this.zhuijuList.length < 1){
  112. this.is_show = 0;
  113. }
  114. },
  115. saoma() {
  116. //#ifdef APP-PLUS
  117. uni.scanCode({
  118. success: function(res) {
  119. if (res.result.indexOf("uid") != -1) {
  120. var obj = JSON.parse(res.result);
  121. if (obj.uid) {
  122. uni.navigateTo({
  123. url: '/pages/login/reg?uid=' + obj.uid
  124. })
  125. }
  126. } else {
  127. uni.showToast({
  128. title: res.result,
  129. icon: "none"
  130. });
  131. }
  132. }
  133. });
  134. //#endif
  135. },
  136. detail(vid, mid) {
  137. var fxpid = 1
  138. if (uni.getStorageSync("userinfo")) {
  139. fxpid = uni.getStorageSync("userinfo").id
  140. }
  141. uni.navigateTo({
  142. url: '/pages/client/tuan/detail?vid=' + vid + '&mid=' + mid + '&fxpid=' + fxpid
  143. })
  144. },
  145. linkTo(e) {
  146. if (this.isLogin == false) {
  147. this.showLogin = true;
  148. } else {
  149. let link = e.currentTarget.dataset.link;
  150. uni.navigateTo({
  151. url: link
  152. })
  153. }
  154. },async delzj(id){
  155. let res = await delShelf(id);
  156. uni.showToast({ title: "删除成功",icon:"none" });
  157. // 更新最近列表数据
  158. this.zhuijuList = await shelfList();
  159. console.log(res);
  160. },
  161. exchange(e) {
  162. if (this.isLogin == false) {
  163. this.showLogin = true;
  164. } else {
  165. let id = e.currentTarget.dataset.id;
  166. uni.navigateTo({
  167. url: '/pages/client/integral/exchange?id=' + id
  168. })
  169. }
  170. },
  171. goToJuYuan(){
  172. uni.switchTab({
  173. url: '/pages/client/index'
  174. })
  175. }
  176. },
  177. }
  178. </script>
  179. <style>
  180. @import url("style/zui.css");
  181. </style>