Showing
1 changed file
with
29 additions
and
10 deletions
| ... | @@ -22,6 +22,7 @@ | ... | @@ -22,6 +22,7 @@ |
| 22 | </div> | 22 | </div> |
| 23 | </div> | 23 | </div> |
| 24 | 24 | ||
| 25 | + <van-sticky> | ||
| 25 | <div class="book-video-title"> | 26 | <div class="book-video-title"> |
| 26 | <van-row> | 27 | <van-row> |
| 27 | <van-col span="12"> | 28 | <van-col span="12"> |
| ... | @@ -36,7 +37,6 @@ | ... | @@ -36,7 +37,6 @@ |
| 36 | </van-col> | 37 | </van-col> |
| 37 | </van-row> | 38 | </van-row> |
| 38 | </div> | 39 | </div> |
| 39 | - | ||
| 40 | <div class="book-video-language"> | 40 | <div class="book-video-language"> |
| 41 | <van-row> | 41 | <van-row> |
| 42 | <van-col span="6"> | 42 | <van-col span="6"> |
| ... | @@ -65,10 +65,13 @@ | ... | @@ -65,10 +65,13 @@ |
| 65 | /> | 65 | /> |
| 66 | </van-popup> | 66 | </van-popup> |
| 67 | </div> | 67 | </div> |
| 68 | + </van-sticky> | ||
| 68 | 69 | ||
| 69 | <div class="book-video-list"> | 70 | <div class="book-video-list"> |
| 70 | <van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="onLoad"> | 71 | <van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="onLoad"> |
| 71 | - <div v-for="item in list" :key="item" style="height: 3rem;">{{ item }}</div> | 72 | + <template v-for="item in dataList" :key="item" style="height: 3rem;"> |
| 73 | + <video-card :item="item"></video-card> | ||
| 74 | + </template> | ||
| 72 | </van-list> | 75 | </van-list> |
| 73 | </div> | 76 | </div> |
| 74 | </div> | 77 | </div> |
| ... | @@ -91,7 +94,10 @@ | ... | @@ -91,7 +94,10 @@ |
| 91 | </template> | 94 | </template> |
| 92 | 95 | ||
| 93 | <script setup> | 96 | <script setup> |
| 97 | +import dataList from '@/mock/video_list' | ||
| 98 | + | ||
| 94 | import MyButton from '@/components/MyButton/index.vue' | 99 | import MyButton from '@/components/MyButton/index.vue' |
| 100 | +import VideoCard from '@/components/VideoCard/index.vue' | ||
| 95 | 101 | ||
| 96 | import icon_video from '@images/video.png' | 102 | import icon_video from '@images/video.png' |
| 97 | import icon_up from '@images/icon-guanbi@2x.png' | 103 | import icon_up from '@images/icon-guanbi@2x.png' |
| ... | @@ -105,6 +111,7 @@ import { ref, reactive, onMounted } from 'vue' | ... | @@ -105,6 +111,7 @@ import { ref, reactive, onMounted } from 'vue' |
| 105 | import { useRoute, useRouter } from 'vue-router' | 111 | import { useRoute, useRouter } from 'vue-router' |
| 106 | import axios from '@/utils/axios'; | 112 | import axios from '@/utils/axios'; |
| 107 | import $ from 'jquery' | 113 | import $ from 'jquery' |
| 114 | +import _ from 'lodash' | ||
| 108 | import { Toast } from 'vant'; | 115 | import { Toast } from 'vant'; |
| 109 | const $route = useRoute(); | 116 | const $route = useRoute(); |
| 110 | const $router = useRouter(); | 117 | const $router = useRouter(); |
| ... | @@ -220,6 +227,10 @@ const uploadVideo = () => { | ... | @@ -220,6 +227,10 @@ const uploadVideo = () => { |
| 220 | <script> | 227 | <script> |
| 221 | import mixin from 'common/mixin'; | 228 | import mixin from 'common/mixin'; |
| 222 | 229 | ||
| 230 | +function transCaseList (url, pic) { | ||
| 231 | + return { url, pic } | ||
| 232 | +} | ||
| 233 | + | ||
| 223 | export default { | 234 | export default { |
| 224 | mixins: [mixin.init], | 235 | mixins: [mixin.init], |
| 225 | data() { | 236 | data() { |
| ... | @@ -227,11 +238,17 @@ export default { | ... | @@ -227,11 +238,17 @@ export default { |
| 227 | 238 | ||
| 228 | } | 239 | } |
| 229 | }, | 240 | }, |
| 230 | - mounted() { | 241 | + created() { |
| 231 | - | 242 | + this.getList() |
| 232 | }, | 243 | }, |
| 233 | methods: { | 244 | methods: { |
| 234 | - | 245 | + getList () { |
| 246 | + _.each(this.dataList, item => { | ||
| 247 | + let video = item.video && item.video.url ? item.video.url : 'http://static.smartisanos.cn/common/video/t1-ui.mp4'; | ||
| 248 | + let cover = item.cover && item.cover.url ? item.cover.url : 'http://static.smartisanos.cn/pr/img/video/video_03_cc87ce5bdb.jpg'; | ||
| 249 | + item.options = { video: transCaseList(video, cover), autoplay: false, preload: 'none' } | ||
| 250 | + }) | ||
| 251 | + } | ||
| 235 | } | 252 | } |
| 236 | } | 253 | } |
| 237 | </script> | 254 | </script> |
| ... | @@ -240,11 +257,12 @@ export default { | ... | @@ -240,11 +257,12 @@ export default { |
| 240 | @import url('@css/content-bg.less'); | 257 | @import url('@css/content-bg.less'); |
| 241 | 258 | ||
| 242 | .book-detail-page { | 259 | .book-detail-page { |
| 243 | - overflow: auto; | 260 | + // overflow: auto; |
| 244 | 261 | ||
| 245 | .book-detail { | 262 | .book-detail { |
| 246 | margin: 1rem; | 263 | margin: 1rem; |
| 247 | - margin-top: 1.25rem; | 264 | + // margin-top: 1.25rem; |
| 265 | + margin-top: 0; | ||
| 248 | padding-top: 1rem; | 266 | padding-top: 1rem; |
| 249 | border-radius: 10px; | 267 | border-radius: 10px; |
| 250 | background-color: rgba(255, 255, 255, 1); | 268 | background-color: rgba(255, 255, 255, 1); |
| ... | @@ -278,7 +296,7 @@ export default { | ... | @@ -278,7 +296,7 @@ export default { |
| 278 | 296 | ||
| 279 | .book-video-language { | 297 | .book-video-language { |
| 280 | padding: 1rem; | 298 | padding: 1rem; |
| 281 | - | 299 | + background-color: white; |
| 282 | .uncheck { | 300 | .uncheck { |
| 283 | background: #F7F7F7; | 301 | background: #F7F7F7; |
| 284 | border-radius: 15px; | 302 | border-radius: 15px; |
| ... | @@ -320,12 +338,13 @@ export default { | ... | @@ -320,12 +338,13 @@ export default { |
| 320 | } | 338 | } |
| 321 | 339 | ||
| 322 | .book-video-list { | 340 | .book-video-list { |
| 323 | - height: 20rem; | 341 | + // height: 20rem; |
| 324 | - overflow: scroll; | 342 | + // overflow: scroll; |
| 325 | } | 343 | } |
| 326 | } | 344 | } |
| 327 | 345 | ||
| 328 | .book-bar { | 346 | .book-bar { |
| 347 | + z-index: 999; | ||
| 329 | position: fixed; | 348 | position: fixed; |
| 330 | right: 0; | 349 | right: 0; |
| 331 | bottom: 0; | 350 | bottom: 0; | ... | ... |
-
Please register or login to post a comment