bookRanking.vue 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <template>
  2. <view class="u-page">
  3. <view style="height: 100rpx;background: #f1f1f1;margin-bottom: 10px;">
  4. </view>
  5. <up-cate-tab class="cate-tab" height="calc(100vh - 120rpx)" :tabList="tabList" tabKeyName="title"
  6. itemKeyName="title">
  7. <template #pageItem="{ pageItem }">
  8. <view class="w-full" style="width: 100%;">
  9. <up-cell-group :border='false'>
  10. <up-cell :border='false'>
  11. <template #icon>
  12. <up-image :src="pageItem.bookImg" width="86rpx" height="113rpx"></up-image>
  13. </template>
  14. <template v-slot:title>
  15. <view class="text-28">
  16. {{ pageItem.name }}
  17. </view>
  18. </template>
  19. <template v-slot:label>
  20. <view>
  21. <view class="pt-1 text-20 mgt-10 mgb-10 ellipsis">
  22. {{ pageItem.content }}
  23. </view>
  24. <view class="flex jc_between text-20">
  25. <view>
  26. <text class="text-2283ee">{{ pageItem.isFinish ? '已完结' : '连载中' }}</text>
  27. |
  28. <text class="text-333">{{ pageItem.author }}</text>
  29. </view>
  30. <view class="text-gray">{{ pageItem.readNum || 0 }}万人阅读</view>
  31. </view>
  32. </view>
  33. </template>
  34. <template v-slot:value>
  35. </template>
  36. </up-cell>
  37. </up-cell-group>
  38. </view>
  39. </template>
  40. </up-cate-tab>
  41. </view>
  42. </template>
  43. <script setup>
  44. import { ref, onMounted } from 'vue';
  45. // 响应式数据
  46. const tabList = ref([
  47. {
  48. title: '热读榜', children: [
  49. {
  50. name: '我不想做豪门',
  51. bookImg: 'https://s3.bmp.ovh/imgs/2024/12/16/35bc6d28ab1c8bc7.png',
  52. content: '我是小说内容我是小说内容我是小说内容我是小说内容我是小说内容我小说内容我',
  53. isFinish: true,
  54. author: '老虎',
  55. readNum: 1751.8
  56. },
  57. {
  58. name: '我不想做豪门',
  59. bookImg: 'https://s3.bmp.ovh/imgs/2024/12/16/35bc6d28ab1c8bc7.png',
  60. content: '我是小说内容我是小说内容我是小说内容我是小说内容我是小说内容我小说内容我',
  61. isFinish: true,
  62. author: '老虎',
  63. readNum: 1751.8
  64. },
  65. {
  66. name: '我不想做豪门',
  67. bookImg: 'https://s3.bmp.ovh/imgs/2024/12/16/35bc6d28ab1c8bc7.png',
  68. content: '我是小说内容我是小说内容我是小说内容我是小说内容我是小说内容我小说内容我',
  69. isFinish: true,
  70. author: '老虎',
  71. readNum: 1751.8
  72. },
  73. ]
  74. },
  75. {
  76. title: '追读榜', children: [
  77. {
  78. name: '我不想做豪门',
  79. bookImg: 'https://s3.bmp.ovh/imgs/2024/12/16/35bc6d28ab1c8bc7.png',
  80. content: '我是小说内容我是小说内容我是小说内容我是小说内容我是小说内容我小说内容我',
  81. isFinish: true,
  82. author: '老虎',
  83. readNum: 1751.8
  84. },
  85. {
  86. name: '我不想做豪门',
  87. bookImg: 'https://s3.bmp.ovh/imgs/2024/12/16/35bc6d28ab1c8bc7.png',
  88. content: '我是小说内容我是小说内容我是小说内容我是小说内容我是小说内容我小说内容我',
  89. isFinish: true,
  90. author: '老虎',
  91. readNum: 1751.8
  92. },
  93. ]
  94. },
  95. {
  96. title: '完结榜', children: [
  97. {
  98. name: '我不想做豪门',
  99. bookImg: 'https://s3.bmp.ovh/imgs/2024/12/16/35bc6d28ab1c8bc7.png',
  100. content: '我是小说内容我是小说内容我是小说内容我是小说内容我是小说内容我小说内容我',
  101. isFinish: true,
  102. author: '老虎',
  103. readNum: 1751.8
  104. },
  105. ]
  106. },
  107. ]);
  108. </script>
  109. <style lang="scss" scoped>
  110. /* #ifndef APP-NVUE */
  111. page {
  112. background-color: $u-bg-color;
  113. }
  114. /* #endif */
  115. .cate-tab {
  116. height: calc(100vh - 100rpx);
  117. /* #ifdef H5 */
  118. height: calc(100vh - 100rpx - var(--window-top));
  119. /* #endif */
  120. .text-red {
  121. color: red;
  122. }
  123. }
  124. .u-page {
  125. padding: 0;
  126. flex: 1;
  127. background-color: $u-bg-color;
  128. &__item {
  129. &__title {
  130. color: $u-tips-color;
  131. background-color: $u-bg-color;
  132. padding: 15px;
  133. font-size: 15px;
  134. &__slot-title {
  135. color: $u-primary;
  136. font-size: 14px;
  137. }
  138. }
  139. }
  140. }
  141. </style>