gemercheung %!s(int64=2) %!d(string=hai) anos
pai
achega
2ac90cb220

+ 1 - 1
src/components/basic/miniMap.vue

@@ -5,7 +5,7 @@
         class="iconfont ui-kankan-icon icon tip-h-center tip-v-bottom icon-show_map_collect iconzm-show_map_collect"
       ></i>
     </span>
-    <div v-if="showDollhouse" class="change" @click="changeMode">
+    <div v-if="showDollhouse" class="change" @click.stop="changeMode">
       <i
         class="iconfont ui-kankan-icon icon tip-h-center tip-v-bottom icon-show_3d_normal iconzm-show_3d_normal"
       ></i>

+ 42 - 10
src/components/chatRoom/chatroom.scss

@@ -44,25 +44,56 @@
   padding: 0 0.44rem;
   box-sizing: border-box;
   // pointer-events: none;
+  .share {
+    position: fixed;
+    top: 0.56rem;
+    right: 0.24rem;
+    width: 0.52rem;
+    height: 0.52rem;
+    background: url(/@/assets/images/rtcLive/vr@2x.png);
+    background-size: 100% 100%;
+  }
   .member_number {
     // width: 1.67rem;
-    height: 0.5rem;
-    background: rgba(0, 0, 0, 0.3);
-    border-radius: 0.25rem;
+    height: 0.9rem;
+    background: rgba(0, 0, 0, 0.15);
+    border-radius: 0.8rem;
     position: fixed;
     top: 0.56rem;
-    right: 0.44rem;
-    padding: 0.07rem 0.17rem;
+    left: 0.64rem;
+    padding: 0;
     display: flex;
     align-items: center;
     justify-content: center;
-    .members {
-      width: 0.42rem;
-      height: 0.42rem;
-      background: url(/@/assets/images/rtcLive/members@2x.png);
+    .avatar {
+      width: 0.9rem;
+      height: 0.9rem;
       background-size: 100% 100%;
+      border-radius: 50%;
       margin-right: 0.07rem;
     }
+    // .members {
+    //   width: 0.42rem;
+    //   height: 0.42rem;
+    //   background: url(/@/assets/images/rtcLive/members@2x.png);
+    //   background-size: 100% 100%;
+    //   margin-right: 0.07rem;
+    // }
+    .content {
+      padding: 0 0.3rem 0 0.1rem;
+      display: flex;
+      flex-direction: column;
+      align-items: flex-start;
+      justify-content: center;
+      .title {
+        font-size: 13px;
+      }
+      > div {
+        padding: 0;
+        font-size: 12px;
+        line-height: 14px;
+      }
+    }
     span {
       font-size: 0.24rem;
       color: #fff;
@@ -449,7 +480,8 @@
             display: flex;
             align-items: center;
             justify-content: center;
-            .kick_icon,.assistant_icon {
+            .kick_icon,
+            .assistant_icon {
               width: 0.65rem;
               height: 0.65rem;
               margin-right: 0.3rem;

+ 34 - 4
src/components/chatRoom/index.vue

@@ -11,12 +11,28 @@
     <chat v-show="chatShow && isPanoramaMode" :chatList="chatList" :currentUser="currentUser" />
     <!-- 当前人数 start -->
     <div class="member_number" v-if="isPanoramaMode">
-      <div class="members"></div>
-      <span>{{ members.length }}{{ t('base.view') }}</span>
-      <span v-if="isPanoramaMode && roomCounter > 0 && isNativeLeader"
-        >&nbsp; {{ dayjs.duration(roomCounter, 'seconds').format('mm:ss') }}</span
+      <!-- <div class="members"></div> -->
+      <div
+        class="avatar"
+        :style="{
+          backgroundImage: currentLeader?.Avatar
+            ? `url(${decodeURIComponent(currentLeader?.Avatar)})`
+            : '',
+        }"
       >
+      </div>
+      <div class="content">
+        <div class="title">{{ currentLeader?.Nickname }}</div>
+        <div class="line">
+          <span v-if="isPanoramaMode && roomCounter > 0 && isNativeLeader"
+            >{{ dayjs.duration(roomCounter, 'seconds').format('mm:ss') }} |
+          </span>
+          <span>{{ members.length }}{{ t('base.view') }}</span>
+        </div>
+      </div>
     </div>
+
+    <div v-if="isUsingMiniApp" class="share" @click.stop="handleShare"> </div>
     <!-- 视频头像 start -->
     <Camera />
     <!-- 视频头像 end -->
@@ -222,6 +238,10 @@
   const inputStatus = computed(() => rtcStore.inputStatus);
 
   const members = computed(() => rtcStore.memberList);
+
+  const currentLeader = computed(() =>
+    Array.from(rtcStore.memberList).find((i) => i.Role === 'leader'),
+  );
   const showScenes = ref(false);
 
   const remoteStreams = computed(() => rtcStore.remoteStreams);
@@ -630,6 +650,16 @@
       appStore.setShowIntroPanel(true);
     }
   };
+  const handleShare = () => {
+    const { socket } = useSocket();
+    debugger;
+    socket.emit('action', {
+      type: 'share',
+      data: {
+        userId: rtcStore.userId,
+      },
+    });
+  };
 </script>
 
 <style scoped lang="scss">

+ 2 - 2
src/components/chatRoom/memberList.vue

@@ -47,9 +47,9 @@
 
               <ImageIcon
                 class="assistant_icon"
-                v-if="isNativeLeader && i?.Role !== 'leader' && !i.IsAssistant"
+                v-if="(isNativeLeader && i?.Role !== 'leader') || i.IsAssistant"
                 type="assistants"
-                @click="isNativeLeader && userCanBeAssistant(i)"
+                @click="(isNativeLeader || i.IsAssistant) && userCanBeAssistant(i)"
               />
               <ImageIcon
                 class="kick_icon"