You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

291 lines
14 KiB

7 months ago
7 months ago
  1. <script setup>
  2. import ClubApi from '@/api/ClubApi';
  3. import ClubNav from '@/components/ClubNav.vue';
  4. import Nav from '@/components/Nav.vue';
  5. import { ref } from 'vue';
  6. // 俱乐部
  7. const club = ref()
  8. // 加载俱乐部信息
  9. function loadClub(){
  10. //调用查询俱乐部api
  11. ClubApi.getClub(3).then((result) =>{
  12. console.log(result)
  13. console.log("++++++++",result.data);
  14. club.value = result.data;
  15. console.log(club.value);
  16. })
  17. }
  18. loadClub();
  19. // 展示列表
  20. const shows = ref([])
  21. // 加载展示列表
  22. function loadShows(){
  23. ClubApi.getShows(3).then((result) =>{
  24. console.log(result);
  25. shows.value = result.data;
  26. })
  27. }
  28. //
  29. loadShows();
  30. </script>
  31. <template>
  32. <Nav></Nav>
  33. <ClubNav></ClubNav>
  34. <div class="club">
  35. <!-- 俱乐部相关信息 -->
  36. <header>
  37. <div class="club-header1">
  38. <img v-if="club && club[0]" class="club-image" :src="club[0].image" alt="视频缩略图">
  39. <button class="club-button" @click="handleMore">查看更多</button>
  40. </div>
  41. <p v-if="club && club[0]">{{ club[0].introduction }}</p>
  42. </header>
  43. <!-- 俱乐部内容 -->
  44. <section class="special-topic">
  45. <div class="special-topic">
  46. <h2>专题</h2>
  47. </div>
  48. <div class="topic">
  49. <div class="topic-title">
  50. <p>驾驭AI的深度</p>
  51. <span @click="handleMore">查看更多</span>
  52. </div>
  53. <!-- 展示列表 -->
  54. <div class="sub-topic">
  55. <ul class="display-list">
  56. <li v-for="show in shows">
  57. <!-- 左边 -->
  58. <div class="sub-left">
  59. <img class="sub-image" :src="show.cover" alt="视频缩略图">
  60. <img v-if="show.flagType==1" class="player" src="data:image/png;base64,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">
  61. </div>
  62. <!-- 右边 -->
  63. <div class="sub-right">
  64. <div class="right-inline">
  65. <img src="https://d31zlh4on95l9h.cloudfront.net/web/20241127093642/img/clubS2.fecd330b.png" class="logo">
  66. <span :name="show.name">{{ show.name }}</span>
  67. </div>
  68. <div class="right-inline">
  69. <div class="yellow">
  70. <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAnCAYAAACMo1E1AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAIvSURBVFiF7VhbcsMgDFxo7lUyk+RWnsTDrZrMhB4sVj9iGoxBSDj96375IYu1BCsB8I8+mK0ODp5cvLaY3AQbAOA2mLDVdxe5gydnQOf51nG2BjQCwNfwcdGOoyKXkGIJ1QejUUNSRG4rqeWANE6wQZL2JrmZ2F04doDwByRRtNzLk39cFMRwHexeaksw55N/XDibKrmTf1wI5lx7nyNOfDyjJwLBnNPVLiJ38OQ0xLIBx7bVCwZ0rxEskrOYisYc4vzp0bdEljIeGbTpnJ3n0Qqa7wG4UvRW5HrTmflQpRYoR28hJT1RA4DrYFeSdPQTaf0QzD6dFqyUSFBIaUSoPOd8LQKzS2+yqAVJeqii49fB7jmZAJ4Lj8vUwnMpFdp6KEWt8qSptalxyYlEybWQVp5dywB4Ejz66ZNgxi19WmwgSFh/7euiKbzOgO69UUyixY6T8vglFzvYFnrSfPTTvUeiuqREQ3Cey07qOw1St879xQoGlrXZZg/D2rwIqZ3W7wJdkTOg79JzRo5EtTavNgtyUiellMbV+E5NLBXs5nJPC31l8xNyTdT6BcotExu9NPSMdqk1sdRArMi1JnBc6hLtSiWH++la/S4uiFb05gbBcTYpwaOfaFb+ULKpFYDqvlW5X+0G1/VUpeQ2mMA0km9Bqx1r7vh7W/cW8pa8BPFZSatrVWAlMzWoTpk2RlFMKqLrfC6RhxbRMNt1NambTzaBV9qBpSy843TzHz34AcF4N1nRyTl4AAAAAElFTkSuQmCC" class="img2">
  71. <span v-if="club && club[0]" :clubname="club[0].name">{{ club[0].name }}</span>
  72. </div>
  73. </div>
  74. <div class="right-inline">
  75. <!-- HomilyLink -->
  76. <div class="right-item">
  77. <img :src="show.user.avatar" class="img1">
  78. <div :username="show.user.username">{{show.user.username}}</div>
  79. </div>
  80. <!-- 日期 -->
  81. <div :releaseTime="show.releaseTime" class="right-item">{{ show.releaseTime }}</div>
  82. <!-- 观看 -->
  83. <div class="right-item">
  84. <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAIjSURBVFiF7VhtkqQgDE2sudfSxwAOox4GOUYzFzPzY2Ar0higdWtnqni//IjwQh5JBGBgYGBg4H8C7xrIe68AAPZ9V4j4h4g+07tpmoLWOtwxzyXC3ntFRDMAqBZ7IlqttcuVOd8i3Es0xxXi3YSdcwsiztnjAACAiCsAQAq/917t+67iu/ybt4h3Ed627QnHVQ2IuLbqs+RsL+lmwjnZK2EtEA/GmEfLt1XCJb0i4uPqro/jPtmjpmhVCW/bRj2D8vRWi8A7iyESzkInhk3KHDX5ZHIT5zklnOvMGNNsW0IPacl2aiGAiKcelzYQIj6IaCWilY0xJ7mUkFJizbZImBMgIlGzua0x5qG1DtbaxVq7cNJRMkVorUNm+yyRfiHsnFs4ASmMfMAz2/gsxFslrXJmW3TwQNh7r/gmq+3yVMVq4OGuIW64EG9fHCxKohXTNIXSdQ7uWKOTpzYHwlGraWLF5VGDpM/DhIJjAEdJAsBLW1pMVbxYNKQj0fZKeizZfpQ+jGnpGa9n7/1pA57bOucA4Hsl80LCs0AOVnhE26KGCymmOR0h4oyIc3TiQFaKFO8rJFuxNPeUTKHaVfuPW0ozG6yr+QH4Jp82V61RymUjabyJMMBrL/yj28uEX9PAVybqIn7SgjaTBbjvJ/RvGuJnEKmssiyj8m/+6U8oR0sPLKDr55Xj8slPJ/G3iSbcelTFG5t0XNWS3gYGBgYGfg++AMoF42iHsimVAAAAAElFTkSuQmCC" class="img2">
  85. <div :viewCount="viewCount">{{ show.viewCount }}</div>
  86. </div>
  87. <!-- 评论 -->
  88. <div class="right-item">
  89. <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAIkSURBVFiF7Zc9j9NAEIafsRM+KhpqoKDiR4DTREqDaJAoafhoQuK1ckg0ZyMdEiS2OySEECVItBR0Z4TEj6Ch5gdc66GxcxtfEjsHzoGUt9rZmfU83vXHDOz0n0lsI01TT1X3C9NrO7mqRkEQhCuBkiTRtiGWSUR6vu9nAJ1yMo7jsByrarQFiFsUp1CcyiKQiJRHlVW3sS3FcRxaeQFwqkGq+nUbMBV55eAE0FlrB1SnHVCdOvUhkCTJM2APeGWMeWH7ZrPZZdd13+V5fr3T6TwYjUbfK2vvAS+BL8aYR3W5ancoTdM7wAFwCTgo7Llc132tqrdF5Eae558rsFeBD8AV4GEcx8//GEhVL9TYF63xOdsnIucr9sLaUwEZYz4C08KcFvZc3W73CfAN+CUid21fEAQ/HMd5DByJyCdjzNO6fI2eIWPM3nQ6jSaTyVHVNxwOfwI3V60dj8dvwjB8G4Zh3iRX47dsGUxTNYWBf/C13wHVaQdUpzMFKsrYBdnfoQzwRGQ/TdMMoCy865SmqbcpTJ7nHsc19byGt2vqSFXLgEOAJEkAMmNMb9lFy5pYdfNmReS44XEcJ5vP20FWX+bZ89X+qYg73JjipDIRieyTkFWRFbj5LlVhVDWy77CpVj0OK/9lvu9ncRx7IuJVIBdg/nbL5K5zDgYDgPvAtX6/L8D7NmFgzZGVWtZetwUDzQq0hbZaRHrb6mzX6jTfmp3a0G+wI+Yg4Q0N4wAAAABJRU5ErkJggg==" class="img2">
  90. <div :comments="show.comments">{{ show.comments }}</div>
  91. </div>
  92. <!-- 点赞 -->
  93. <div class="right-item">
  94. <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAHOSURBVFiF7ZjdbawwEIXPISkknVzvC9p2sAtgKQC7hrTBS0wn9zbiyQsg4/3JgnfjKLpHWgmN/74dezwDwH/dFnMGO+eUiLQAlIh0AGCMOeXMWeUMDiEoAAoASLYk277vs4Be9g7s+/5EsgUAEelIAsAbSVXXNYdh8HvmzfLQJG+MOWmtD/O2kWydc+rbgGLvkOxme+752Q0Uq2kan5g8AEyHfbM2A6VnZ8+iDwWK9YgtSrUJyDmnnumdzUDTvQPgOd4BgNctnTd6R1lrP641isgInP+xu4HiG3iDd9S1BpJqmnc1391A93qHZBdCGL/o8wdRynHO+fn6WCXXS3nIGHOKQ11rnZWQY1lrZXr0WusDEHkoytwrOed8COFRDCtNOXC1ZhU17rpZczRt3UpnYT9RH74HaVlzOXOPyPY5UqmhGFBcnlRV5ZfnEjC3VAwoTkNxCVMMKIowH9uLb1kcYUBZIHXJWNxDqYoAXQt54Ad4KH1JKAIUh3yqIkBzyF+qrc4KNJJtmvmrqvKzzVr7kYbqDhh1rX0BEpFxLiu/kLqz302JSHepFF4+NgzD4I/H4ygi/wCM84/k36ZpfF3XnD8oZLJ4EXl/1lvL79cnbWbUVZZeqYsAAAAASUVORK5CYII=" class="img2">
  95. <div :likes="show.likes">{{ show.likes }}</div>
  96. </div>
  97. </div>
  98. </div>
  99. </li>
  100. </ul>
  101. </div>
  102. </div>
  103. </section>
  104. </div>
  105. </template>
  106. <style scoped>
  107. .club{
  108. width: 50%;
  109. margin-left: auto;
  110. margin-right: auto;
  111. margin-top: 20px;
  112. }
  113. header {
  114. background: linear-gradient(to right, #dbeaf6,#8bc7f9,#30a0fc);
  115. padding: 20px;
  116. border-radius: 2%;
  117. }
  118. .club-header1 {
  119. display: flex; /* 启用flexbox布局 */
  120. align-items: center; /* 垂直居中对齐 */
  121. justify-content: space-between; /* 在主轴上两端对齐 */
  122. padding: 10px; /* 可选:根据需要添加内边距 */
  123. }
  124. .club-image {
  125. height: 80px;
  126. width: 80px;
  127. max-width: 100%;
  128. /* height: auto; 保持图片的原始宽高比 */
  129. margin-left: 50px;
  130. border-radius: 100%; /* 设置图片为圆形 */
  131. }
  132. .club-button{
  133. margin-left: auto; /* 将按钮推向右侧 */
  134. margin-right: 50px;
  135. padding: 5px;
  136. background-color: #3d9eee;
  137. color: white;
  138. border: none;
  139. top: 20px; /* 距离顶部20px */
  140. right: 20px; /* 距离右侧20px */
  141. cursor: pointer;
  142. color: #72706a;
  143. border-radius: 10%;
  144. }
  145. header p {
  146. margin: 10px 10px;
  147. }
  148. .special-topic {
  149. margin: 20px;
  150. }
  151. .topic{
  152. background: linear-gradient(to bottom, #daebf8,#e7f3fc,#f8f9fa);
  153. h3 {
  154. background-color: #e0e0e0;
  155. padding: 10px;
  156. margin: 0;
  157. }
  158. }
  159. .special-topic {
  160. background-color: #f8f8f8; /* 背景颜色,根据需要调整 */
  161. padding: 10px; /* 内边距,根据需要调整 */
  162. margin: 20px 0; /* 外边距,根据需要调整 */
  163. }
  164. .special-topic h2 {
  165. margin: 0; /* 移除默认的外边距 */
  166. padding-bottom: 5px; /* 下方内边距,为下划线留出空间 */
  167. border-bottom: 2px solid #007bff; /* 下划线样式 */
  168. display: inline-block; /* 使下划线只在文字下方 */
  169. }
  170. .topic-title{
  171. display: flex;
  172. justify-content: space-between;
  173. span{
  174. margin-left: auto; /* 向右对齐 */
  175. margin-right: 50px;
  176. color: #8e8e8e;
  177. font-size: 14px;
  178. }
  179. p{
  180. display: inline-block;
  181. font-size: 20px;
  182. }
  183. }
  184. .sub-topic {
  185. margin: 10px 0;
  186. padding: 10px;
  187. display: flex;
  188. }
  189. .display-list{
  190. list-style-type: none;
  191. padding: 0px;
  192. }
  193. .sub-topic li{
  194. display: flex;
  195. }
  196. .sub-left{
  197. height: 112px;
  198. width: 200px;
  199. position: relative;
  200. .sub-image{
  201. position: absolute;
  202. width: 100%;
  203. height: 100%;
  204. }
  205. .player{
  206. position: absolute;
  207. width: 40px;
  208. height: 40px;
  209. left: 40%;
  210. top: 40%;
  211. z-index: 999;
  212. }
  213. }
  214. .sub-right{
  215. margin-left: 20px;
  216. }
  217. .right-inline{
  218. display: flex;
  219. margin-bottom: 15px;
  220. align-items: center;
  221. font-size: 16px;
  222. .yellow{
  223. display: flex;
  224. color: #5f95fe;
  225. font-size: 14px;
  226. height: 18px;
  227. background-color: #d5e2ff;
  228. }
  229. .right-item{
  230. display: flex;
  231. color: #8e8e8e;
  232. font-size: 14px;
  233. margin-right: 18px;
  234. align-items: center;
  235. }
  236. }
  237. .logo{
  238. width: 30px;
  239. height: 30px;
  240. margin-right: 10px;
  241. }
  242. .img1{
  243. width: 22px;
  244. height: 22px;
  245. }
  246. .img2{
  247. width: 18px;
  248. height: 18px;
  249. }
  250. .club-badge {
  251. display: inline-flex; /* 使用flex布局使图标和文字并排 */
  252. align-items: center; /* 垂直居中对齐 */
  253. background-color: #f0f0f0; /* 背景颜色 */
  254. padding: 5px 10px; /* 内边距 */
  255. border-radius: 15px; /* 圆角边框 */
  256. font-size: 14px; /* 字体大小 */
  257. color: #333; /* 字体颜色 */
  258. }
  259. .club-icon {
  260. width: 16px; /* 图标宽度 */
  261. height: 16px; /* 图标高度 */
  262. margin-right: 5px; /* 图标和文字之间的间距 */
  263. }
  264. .club-text {
  265. white-space: nowrap; /* 防止文本换行 */
  266. color: #ffba75;
  267. }
  268. .sub-topic p {
  269. margin: 5px 0;
  270. }
  271. </style>