Kaynağa Gözat

fix: 优化预览图

shuisheng 2 yıl önce
ebeveyn
işleme
a0a9ee9f57

+ 4 - 0
src/hooks/use-pull.ts

@@ -51,6 +51,7 @@ export function usePull({
   const roomName = ref('');
   const userName = ref('');
   const userAvatar = ref('');
+  const currentLiveRoom = ref<ILive>();
   const streamurl = ref('');
   const flvurl = ref('');
   const coverImg = ref('');
@@ -460,6 +461,8 @@ export function usePull({
           'rtmp',
           'webrtc'
         );
+        currentLiveRoom.value = data.data;
+        console.log(data.data, userAvatar, 3333);
         if (route.query.liveType === liveTypeEnum.srsWebrtcPull) {
           instance.send({ msgType: WsMsgTypeEnum.getLiveUser });
         } else if (route.query.liveType === liveTypeEnum.srsFlvPull) {
@@ -668,6 +671,7 @@ export function usePull({
     roomName,
     userName,
     userAvatar,
+    currentLiveRoom,
     coverImg,
     roomNoLive,
     damuList,

+ 14 - 2
src/views/account/index.vue

@@ -42,11 +42,18 @@
           <span>
             推流地址:{{ newRtmpUrl || userInfo?.live_rooms?.[0].rtmp_url }},
           </span>
+          <span
+            class="link"
+            @click="handleCopy"
+          >
+            复制
+          </span>
+          <span>,</span>
           <span
             class="link"
             @click="handleUpdateKey"
           >
-            点我更新
+            更新
           </span>
         </div>
       </div>
@@ -55,7 +62,7 @@
 </template>
 
 <script lang="ts" setup>
-import { openToTarget } from 'billd-utils';
+import { copyToClipBoard, openToTarget } from 'billd-utils';
 import { onMounted, ref } from 'vue';
 import { useRouter } from 'vue-router';
 
@@ -78,6 +85,11 @@ async function handleUserInfo() {
   }
 }
 
+function handleCopy() {
+  copyToClipBoard(newRtmpUrl.value || userInfo.value?.live_rooms?.[0].rtmp_url);
+  window.$message.success('复制成功!');
+}
+
 function openLiveRoom() {
   if (!loginTip()) {
     return;

+ 9 - 2
src/views/home/index.vue

@@ -6,7 +6,10 @@
         <div
           class="cover"
           :style="{
-            backgroundImage: `url(${currentLiveRoom?.live_room?.cover_img})`,
+            backgroundImage: `url(${
+              currentLiveRoom?.live_room?.cover_img ||
+              currentLiveRoom?.user?.avatar
+            })`,
           }"
         ></div>
         <!-- x-webkit-airplay这个属性应该是使此视频支持ios的AirPlay功能 -->
@@ -80,7 +83,11 @@
               item: 1,
               active: item.live_room_id === currentLiveRoom?.live_room_id,
             }"
-            :style="{ backgroundImage: `url(${item.live_room?.cover_img})` }"
+            :style="{
+              backgroundImage: `url(${
+                item.live_room?.cover_img || currentLiveRoom?.user?.avatar
+              })`,
+            }"
             @click="changeLiveRoom(item)"
           >
             <div

+ 11 - 3
src/views/pull/index.vue

@@ -10,12 +10,14 @@
           <div class="info">
             <div
               class="avatar"
-              :style="{ backgroundImage: `url(${userAvatar})` }"
+              :style="{
+                backgroundImage: `url(${userAvatar})`,
+              }"
             ></div>
             <div class="detail">
               <div class="top">{{ userName || '-' }}</div>
               <div class="bottom">
-                <span>{{ roomName }},{{ getSocketId() }}</span>
+                <span>{{ roomName }}</span>
               </div>
             </div>
           </div>
@@ -30,7 +32,11 @@
           >
             <div
               class="cover"
-              :style="{ backgroundImage: `url(${coverImg})` }"
+              :style="{
+                backgroundImage: `url(${
+                  coverImg || currentLiveRoom?.user?.avatar
+                })`,
+              }"
             ></div>
             <video
               id="remoteVideo"
@@ -258,6 +264,7 @@ const {
   roomName,
   userName,
   userAvatar,
+  currentLiveRoom,
   coverImg,
   roomNoLive,
   damuList,
@@ -311,6 +318,7 @@ onUnmounted(() => {
 });
 
 onMounted(() => {
+  console.log(currentLiveRoom.value, 1111);
   getGoodsList();
   if (
     [liveTypeEnum.srsFlvPull, liveTypeEnum.srsWebrtcPull].includes(