vr-shopxo-uniapp/pages/plugins/live/pull/pull.vue

49 lines
1.4 KiB
Vue
Raw Normal View History

2025-10-27 10:38:30 +00:00
<template>
2025-11-26 03:14:15 +00:00
<view :class="theme_view + ' bg-0'">
2025-11-25 02:30:43 +00:00
<view class="w h">
2025-11-28 08:01:50 +00:00
<live-video src="http://live-pull-all.shopxo.vip/68f764013572f9240ca7ce6c/shopxo122.m3u8" @ended="ended"></live-video>
2025-11-25 02:30:43 +00:00
</view>
2025-11-26 03:14:15 +00:00
<view class="live-content">
2025-11-28 08:01:50 +00:00
<template v-if="!is_live_ended">
<live-content></live-content>
</template>
<template v-else>
<view v-if="is_live_ended" class="live-ended flex-row align-c jc-c" :style="'width:' + windowWidth + 'px;height:' + windowHeight + 'px;'">
<text>直播已结束</text>
</view>
</template>
2025-11-26 03:14:15 +00:00
</view>
2025-10-27 10:38:30 +00:00
</view>
</template>
<script>
2025-11-27 09:28:29 +00:00
import liveVideo from './components/video/video.vue';
import liveContent from './components/live-content/live-content.vue';
2025-11-27 10:11:14 +00:00
// 引入混入公共逻辑避免nvue和vue使用同一套逻辑出现问题
import mixins from './mixins/mixins.js';
2025-10-27 13:29:50 +00:00
const app = getApp();
export default {
2025-11-24 07:26:22 +00:00
components: {
2025-11-26 03:14:15 +00:00
liveVideo,
liveContent
2025-11-24 07:26:22 +00:00
},
2025-11-27 10:11:14 +00:00
mixins: [mixins],
2025-10-27 13:29:50 +00:00
data() {
return {
2025-11-27 10:11:14 +00:00
theme_view: app.globalData.get_theme_value_view(),
2025-10-27 13:29:50 +00:00
}
2025-10-27 10:38:30 +00:00
},
}
</script>
2025-11-26 03:14:15 +00:00
<style scoped>
.live-content {
position: absolute;
top: 0;
left: 0;
z-index: 9;
width: 100%;
height: 100%;
}
2025-11-28 08:01:50 +00:00
.live-ended {
}
2025-10-27 10:38:30 +00:00
</style>