Bladeren bron

no message

laosan2382995021@163.com 3 jaren geleden
bovenliggende
commit
55487fcb7d
41 gewijzigde bestanden met toevoegingen van 351 en 105 verwijderingen
  1. 2 0
      src/components/flat-list/mixins/handle.ts
  2. 0 1
      src/components/svg-animate/src/main.vue
  3. 1 0
      src/components/tab/mixins/handle.ts
  4. 1 0
      src/config/config.ts
  5. BIN
      src/layout/layout-animate-microphone/images/rank.webp
  6. 11 9
      src/layout/layout-animate-microphone/src/main.vue
  7. 10 5
      src/layout/layout-animate-microphone/style.scss
  8. 6 1
      src/layout/layout-avatar/props.ts
  9. 1 1
      src/layout/layout-avatar/src/main.vue
  10. 3 3
      src/layout/layout-play/style.scss
  11. 16 0
      src/mixins/cate.ts
  12. 2 1
      src/pages/talking/components/room-gift/components/room-gift-item/mixins/giveGift.ts
  13. 12 2
      src/pages/talking/components/room-info/components/room-audience/mixins/row-wheat.ts
  14. 2 1
      src/pages/talking/components/room-info/data/tab.ts
  15. 13 0
      src/pages/talking/components/room-info/mixins/handle.ts
  16. 2 0
      src/pages/talking/components/room-info/src/main.vue
  17. 10 9
      src/pages/talking/components/room-queue-gift/mixins/handle.ts
  18. 2 2
      src/pages/talking/components/room-queue-gift/mixins/index.ts
  19. 119 0
      src/pages/talking/components/room-queue-gift/mixins/queue.ts
  20. 36 32
      src/pages/talking/components/room-queue-gift/src/main.vue
  21. 6 1
      src/pages/talking/components/room-ranking/components/room-ranking-list/props.ts
  22. 3 3
      src/pages/talking/components/room-ranking/components/room-ranking-list/src/main.vue
  23. 5 3
      src/pages/talking/components/room-ranking/data/tab.ts
  24. 1 0
      src/pages/talking/components/room-ranking/src/main.vue
  25. 2 1
      src/pages/talking/components/room-wheat/src/main.vue
  26. 19 2
      src/pages/talking/mixins/handle.ts
  27. 3 3
      src/pages/talking/mixins/micro.ts
  28. 8 4
      src/pages/talking/mixins/socket.ts
  29. 3 3
      src/pages/talking/mixins/utils.ts
  30. 1 1
      src/popup/popup-chat/components/chat-content/mixins/userInfo.ts
  31. 7 1
      src/popup/popup-order/mixins/handle.ts
  32. 7 1
      src/popup/popup-order/props.ts
  33. 1 1
      src/popup/popup-personal/components/my-dress-up/components/dress-up-list/src/main.vue
  34. 8 0
      src/store/modules/cate.ts
  35. 3 2
      src/utils/control/personal-detail/index.ts
  36. 7 4
      src/utils/request/index.ts
  37. 6 2
      src/utils/socket/agoraRTM/agoraRTMIM.ts
  38. 1 1
      src/views/view-menu/components/view-menu-tab/src/main.vue
  39. 4 1
      src/views/view-menu/components/view-menu-tab/style.scss
  40. 1 1
      src/views/view-menu/data/tab.ts
  41. 6 3
      src/views/view-menu/src/main.vue

+ 2 - 0
src/components/flat-list/mixins/handle.ts

@@ -58,6 +58,8 @@ export default <LibMixins>{
                 // 设置首次加载 结束
                 if (data.length>0 && this.config.page === 1) {
                     this.setStart(false);
+                } else if (data.length <= 0 && this.config.page === 1 && !this.start) {
+                    this.setStart(true);
                 }
 
                 if (!this.start) {

+ 0 - 1
src/components/svg-animate/src/main.vue

@@ -85,7 +85,6 @@ export default {
         }
 
         // useSrc = 'http://localhost:8080/svga/'+this.play_src.split('/').pop();
-
         this.parser.load(useSrc || this.play_src, (videoItem)=>{
           this.player.loops = count;  // 设置循环播放次数是1
           this.player.setVideoItem(videoItem);

+ 1 - 0
src/components/tab/mixins/handle.ts

@@ -44,6 +44,7 @@ export default <LibMixins>{
                     }
                     // 执行change
                     if (this.value !== value)  {
+                        this.$emit('change',value);
                         return this.$emit('input',value);
                     }
 

+ 1 - 0
src/config/config.ts

@@ -3,6 +3,7 @@ export default <Config>{
 
     baseApiURL:'/api',
 
+    // baseURL:'https://qiaoyudj.com/',
     baseURL:'https://newqiaoyu.lanmaonet.com/',
     // baseURL:'http://newqiaoyu.com/',
 

BIN
src/layout/layout-animate-microphone/images/rank.webp


+ 11 - 9
src/layout/layout-animate-microphone/src/main.vue

@@ -1,13 +1,14 @@
 <template>
   <div v-show="useVolume>0" class="absolute layout-microphone-container center">
-    <div class="overflow relative layout-microphone-volume">
-      <div class="absolute"
-           :style="{height:useVolume+'%'}"
-      ></div>
-    </div>
-    <svg t="1627614047725" class="layout-animate-microphone" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2727" width="200" height="200">
-<!--      <path d="M489.73913 667.826087h44.52174c97.947826 0 178.086957-80.13913 178.086956-178.086957V178.086957c0-97.947826-80.13913-178.086957-178.086956-178.086957h-44.52174c-97.947826 0-178.086957 80.13913-178.086956 178.086957v311.652173c0 97.947826 80.13913 178.086957 178.086956 178.086957zM400.695652 178.086957c0-48.973913 40.069565-89.043478 89.043478-89.043479h44.52174c48.973913 0 89.043478 40.069565 89.043478 89.043479v311.652173c0 48.973913-40.069565 89.043478-89.043478 89.043479h-44.52174c-48.973913 0-89.043478-40.069565-89.043478-89.043479V178.086957z" fill="#50BC93" p-id="2728"></path>-->
-      <path d="M868.173913 512c0-24.486957-20.034783-44.521739-44.521739-44.521739s-44.521739 20.034783-44.521739 44.521739c0 122.434783-120.208696 222.608696-267.130435 222.608696S244.869565 634.434783 244.869565 512c0-24.486957-20.034783-44.521739-44.521739-44.521739s-44.521739 20.034783-44.521739 44.521739c0 158.052174 135.791304 289.391304 311.652174 309.426087V934.956522H289.391304c-24.486957 0-44.521739 20.034783-44.521739 44.521739s20.034783 44.521739 44.521739 44.521739h445.217392c24.486957 0 44.521739-20.034783 44.521739-44.521739s-20.034783-44.521739-44.521739-44.521739h-178.086957v-113.530435c175.86087-20.034783 311.652174-151.373913 311.652174-309.426087z" fill="#50BC93" p-id="2729"></path></svg>
+    <img src="../images/rank.webp" class="screen layout-microphone-image" />
+<!--    <div class="overflow relative layout-microphone-volume">-->
+<!--      <div class="absolute"-->
+<!--           :style="{height:useVolume+'%'}"-->
+<!--      ></div>-->
+<!--    </div>-->
+<!--    <svg t="1627614047725" class="layout-animate-microphone" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2727" width="200" height="200">-->
+<!--&lt;!&ndash;      <path d="M489.73913 667.826087h44.52174c97.947826 0 178.086957-80.13913 178.086956-178.086957V178.086957c0-97.947826-80.13913-178.086957-178.086956-178.086957h-44.52174c-97.947826 0-178.086957 80.13913-178.086956 178.086957v311.652173c0 97.947826 80.13913 178.086957 178.086956 178.086957zM400.695652 178.086957c0-48.973913 40.069565-89.043478 89.043478-89.043479h44.52174c48.973913 0 89.043478 40.069565 89.043478 89.043479v311.652173c0 48.973913-40.069565 89.043478-89.043478 89.043479h-44.52174c-48.973913 0-89.043478-40.069565-89.043478-89.043479V178.086957z" fill="#50BC93" p-id="2728"></path>&ndash;&gt;-->
+<!--      <path d="M868.173913 512c0-24.486957-20.034783-44.521739-44.521739-44.521739s-44.521739 20.034783-44.521739 44.521739c0 122.434783-120.208696 222.608696-267.130435 222.608696S244.869565 634.434783 244.869565 512c0-24.486957-20.034783-44.521739-44.521739-44.521739s-44.521739 20.034783-44.521739 44.521739c0 158.052174 135.791304 289.391304 311.652174 309.426087V934.956522H289.391304c-24.486957 0-44.521739 20.034783-44.521739 44.521739s20.034783 44.521739 44.521739 44.521739h445.217392c24.486957 0 44.521739-20.034783 44.521739-44.521739s-20.034783-44.521739-44.521739-44.521739h-178.086957v-113.530435c175.86087-20.034783 311.652174-151.373913 311.652174-309.426087z" fill="#50BC93" p-id="2729"></path></svg>-->
 <!--    -->
   </div>
 </template>
@@ -19,7 +20,8 @@ export default {
   props,
   computed:{
     useVolume(){
-      if (this.volume > 2) {
+
+      if (this.volume > 0.5) {
 
         let volume = this.volume * 2;
         volume =  volume<20 ? 20 : volume;

+ 10 - 5
src/layout/layout-animate-microphone/style.scss

@@ -1,11 +1,16 @@
+$phone-size:160px;
+$phone-margin:-45px;
 .layout-microphone-container{
-  bottom:-10px;
-  right: -10px;
-  @include square(30px);
-  background-color: #FF6969;
+  left: $phone-margin;
+  top: $phone-margin;
+  @include square($phone-size);
+  //bottom:-10px;
+  //right: -10px;
+  //@include square(30px);
+}
+.layout-microphone-image{
   border-radius: 50%;
 }
-
 .layout-animate-microphone{
   @include square(15px);
   margin-top: 1px;

+ 6 - 1
src/layout/layout-avatar/props.ts

@@ -6,6 +6,11 @@ export default {
         default:''
     },
 
+    hover:{
+      type:Boolean,
+      default:false
+    },
+
     backgroundColor:{
       type:String
     },
@@ -26,4 +31,4 @@ export default {
         default:'50%'
     }
 
-}
+}

+ 1 - 1
src/layout/layout-avatar/src/main.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="layout-avatar relative">
     <v-image :src="src" class="screen" :radius="radius" :backgroundColor="backgroundColor">
-      <svg-animate v-if="dressPlaySrc" :hover="true" size="100%" :default-src="dressSrc" :src="dressPlaySrc" class="absolute layout-avatar-dress"></svg-animate>
+      <svg-animate v-if="dressPlaySrc" :hover="hover" size="100%" :default-src="dressSrc" :src="dressPlaySrc" class="absolute layout-avatar-dress"></svg-animate>
       <div v-else-if="dressSrc" class="absolute layout-avatar-dress">
         <v-image :src="dressSrc" mode="scaleToFill" backgroundColor="transparent" class="screen"></v-image>
       </div>

+ 3 - 3
src/layout/layout-play/style.scss

@@ -16,9 +16,9 @@
 .play-item-image{
   transition: .3s;
 }
-.play-item-image:hover{
-  transform: scale(1.3);
-}
+//.play-item-image:hover{
+//  transform: scale(1.3);
+//}
 .play-item-image-wrap,.play-item{
   border-radius: 10px;
 }

+ 16 - 0
src/mixins/cate.ts

@@ -25,6 +25,22 @@ export default {
 
             return resultData;
         },
+        roomNoLoginCate:function (state){
+            let roomCate = state.cate.roomCate || [];
+            let resultData = [];
+            roomCate.map((item,index)=>{
+
+                if ( !item.options || !item.options.collect) {
+                    resultData.push({
+                        ...item,
+                        slot:'room-cate-'+index
+                    });
+                }
+
+            });
+
+            return resultData;
+        },
         recommendRoomCate:function () {
             let maxSize = cate.roomCate.config.size - cate.roomCate.config.footer.length;
             let recommendGameCate = [];

+ 2 - 1
src/pages/talking/components/room-gift/components/room-gift-item/mixins/giveGift.ts

@@ -6,6 +6,7 @@ import Throttle from '$utils/tool/throttle';
 import {InstructionsMessageType} from "$utils/request";
 import {nextTick} from "vue";
 import {FlatListReload} from "$components/flat-list/const";
+import user from "$config/user";
 
 export default {
 
@@ -119,7 +120,7 @@ export default {
                 resultConfig.integral = resultConfig.giveUserId.length * (parseFloat(resultConfig.gift.gift_price) || 0) * resultConfig.number;
 
                 // 赠送礼物效果展示
-                this.sendGiveUserGift(resultConfig.gift,resultConfig.giveUserId,resultConfig.number * (parseFloat(resultConfig.gift.gift_price) || 0));
+                this.sendGiveUserGift(resultConfig.gift,resultConfig.giveUserId,resultConfig.number * (parseFloat(resultConfig.gift.gift_price) || 0),user.uid());
                 this.sendGift(resultConfig);
 
                 this.$request({

+ 12 - 2
src/pages/talking/components/room-info/components/room-audience/mixins/row-wheat.ts

@@ -2,12 +2,22 @@ import { AgoraRTMessage } from '$utils/socket/agoraRTM/const/channel';
 import {FlatListReload} from "$components/flat-list/const";
 export default {
 
+    methods:{
+        onShow(){
+            if (this.$refs.flat) {
+                return this.$refs.flat.reload(FlatListReload.reload);
+            }
+        },
+    },
+
     created(){
-        if (this.type === 'rowWheat') {
 
+        if (this.type === 'rowWheat') {
+            console.log(this.agoraRTMIM);
             this.agoraRTMIM.on(AgoraRTMessage.userRowWheat,({data})=>{
 
                 if (this.$refs.flat) {
+
                     if (data.queueWheat && data.queueWheat.user && !this.$refs.flat.flat_is_loading()) {
                         if (data.queueWheat.status) {
                             this.$refs.flat.flat_unshift(data.queueWheat.user.uid,data.queueWheat.user);
@@ -27,4 +37,4 @@ export default {
         }
     }
 
-}
+}

+ 2 - 1
src/pages/talking/components/room-info/data/tab.ts

@@ -8,6 +8,7 @@ export default [
     {
         label: '排麦',
         slot:'1',
-        type:'rowWheat'
+        type:'rowWheat',
+        triggerShow:true
     }
 ]

+ 13 - 0
src/pages/talking/components/room-info/mixins/handle.ts

@@ -22,6 +22,11 @@ export default <LibMixins>{
 
     methods:{
 
+        changeTab(value){
+            let ref = 'tab-'+value;
+            return this.tabData[value] && this.tabData[value].triggerShow && this.$refs[ref] && this.$refs[ref].onShow&& this.$refs[ref].onShow();
+        },
+
         // 举报
         report(){
             popup.$open(PopupExportComponent.report,{
@@ -90,11 +95,19 @@ export default <LibMixins>{
             handle:this.triggerCollect,
             delay:500
         });
+        this.triggerChangeTab = new Throttle({
+            call:this,
+            first:false,
+            handle:this.changeTab,
+            delay:500
+        });
+        this.changeTab = this.triggerChangeTab.supper;
         this.triggerCollect = this.triggerCollectThrottle.supper;
     },
 
     beforeUnmount() {
         this.triggerCollectThrottle && this.triggerCollectThrottle.destroy();
+        this.triggerChangeTab && this.triggerChangeTab.destroy();
     }
 
 

+ 2 - 0
src/pages/talking/components/room-info/src/main.vue

@@ -49,6 +49,7 @@
       <div class="flex-1">
         <tab
             :data="tabData"
+            @change="changeTab"
         >
 
           <template v-slot:header="{data,select,trigger}">
@@ -81,6 +82,7 @@
                 :key="'room-audience-'+index"
                 :type="item.type"
                 :admin="admin"
+                :ref="'tab-'+index"
             ></room-audience>
           </template>
         </tab>

+ 10 - 9
src/pages/talking/components/room-queue-gift/mixins/handle.ts

@@ -11,7 +11,7 @@ export default {
     methods:{
 
         // 播放礼物动画
-        pushGift(item,uid:Array<string | number> | string | number){
+        pushGift(item,uid:Array<string | number> | string | number,sendUid){
 
             if (item.play_image){
 
@@ -67,36 +67,37 @@ export default {
                             item,
                             play:!giftOffsets,
                             draw:!giftOffsets
-                        });
+                        },sendUid);
                     } else {
                         this.pushQueue({
                             type:'2',
                             item
-                        });
+                        },sendUid);
                     }
                 } else {
                     this.pushQueue({
                         type:type,
                         item
-                    });
+                    },sendUid);
                 }
             }
 
         },
 
-        triggerChangeQueue(){
-            if (this.useQueueItem && this.useQueueItem.type === '1' && !this.useQueueItem.play) {
+        triggerChangeQueue(useQueueItem){
+            if (useQueueItem && useQueueItem.type === '1' && !useQueueItem.play) {
+
                 setTimeout(()=>{
-                    this.useQueueItem.data = this.useQueueItem.data.map((item)=>{
+                    useQueueItem.data = useQueueItem.data.map((item)=>{
                         return {
                             ...item,
                             ...item.offset,
                         }
                     });
-                    this.useQueueItem.draw = true;
+                    useQueueItem.draw = true;
 
                     setTimeout(()=>{
-                        this.useQueueItem.play = true;
+                        useQueueItem.play = true;
                     },1500);
 
                 },10);

+ 2 - 2
src/pages/talking/components/room-queue-gift/mixins/index.ts

@@ -1,4 +1,4 @@
-import queue from '$mixins/queue';
+import queue from './queue';
 import handle from './handle';
 
-export default [queue,handle];
+export default [queue,handle];

+ 119 - 0
src/pages/talking/components/room-queue-gift/mixins/queue.ts

@@ -0,0 +1,119 @@
+import { Queue,QueueItem } from '$utils/tool/queue';
+import user from "$config/user";
+export default <LibMixins>{
+
+    data(){
+        return {
+            // 执行队列数组
+            useQueueObject:{},
+            queueTime:3000,
+            triggerStatus:false,
+            queueUnrestrictedConfig:{},
+            uniqueConfig:{'1':true}
+        }
+    },
+
+    methods:{
+        pushQueue(data,sendUid){
+
+            // @ts-ignore
+            data._id = new Date() * 1 + Math.floor(Math.random() * 1000);
+
+            let unique = this.createdQueueId(data,sendUid);
+
+            data._unique = unique;
+
+            if (this.queue[unique] === undefined) {
+                this.queue[unique] = {
+                    queue: new Queue(),
+                    triggerStatus:false,
+                    triggerTime:null,
+                    unique:unique,
+                    unrestricted:this.queueUnrestrictedConfig[data.type]
+                }
+            }
+
+            this.queue[unique].queue.push(new QueueItem(data));
+
+            return this.triggerQueue(this.queue[unique]);
+        },
+
+        // 创建唯一id
+        createdQueueId(data,sendUid){
+
+            let isMy = sendUid ? user.uid() === sendUid : false;
+            let format = '';
+            if (this.queueUnrestrictedConfig[data.type]) {
+                format = data.type+'-'+data._id;
+            } else {
+                format = data.type;
+            }
+
+            return format + '-' + (isMy && this.uniqueConfig[data.type] ?'my-user':'other-user');
+        },
+
+        // 执行队列
+        triggerQueue(queue){
+
+            if (!queue.triggerStatus) {
+
+                clearTimeout(queue.triggerTime);
+
+                queue.triggerStatus = true;
+
+                return this.triggerQueueItem(queue);
+            }
+
+        },
+
+        // 执行队列到具体的item
+        triggerQueueItem(queue){
+            if (!queue) return;
+            // 获取第一个
+            let item = queue.queue.shift();
+            if (item){
+                this.useQueueObject[queue.unique] = item.data;
+                this.triggerChangeQueue && this.triggerChangeQueue(this.useQueueObject[queue.unique]);
+            } else {
+                queue.triggerStatus = false;
+                clearTimeout(this.triggerTime);
+            }
+
+            if (queue.triggerStatus && this.queueTime) {
+                // 获取下一个
+                this.triggerTime = setTimeout(()=> {
+                    this.triggerQueueItem(queue);
+                },this.queueTime);
+            }
+        },
+
+        // 执行
+        triggerStopQueue(unique){
+
+            if (this.queue[unique]) {
+                if (this.queue[unique].unrestricted) {
+                    delete this.queue[unique];
+                    delete this.useQueueObject[unique];
+                } else {
+                    return this.triggerQueueItem(this.queue[unique]);
+                }
+
+            }
+
+
+        }
+
+    },
+
+    created() {
+        // 创建执行队列
+        this.queue = {};
+        // 创建队列
+        this.maxQueue = new Queue();
+    },
+
+    beforeUnmount() {
+        clearTimeout(this.triggerTime);
+    }
+
+}

+ 36 - 32
src/pages/talking/components/room-queue-gift/src/main.vue

@@ -1,45 +1,49 @@
 <template>
-  <div v-show="triggerStatus" class="room-admission-container absolute">
+<!--  v-show="triggerStatus"-->
+  <div class="room-admission-container absolute">
 
-    <template v-if="useQueueItem">
-      <template v-if="useQueueItem.type === '1'" :key="useQueueItem._id">
-        <div
-            v-for="(item,index) in useQueueItem.data"
-            :style="{
-            'width': item.width +'px',
-            'height': item.height+'px',
-            'top': item.y+'px',
-            'left': item.x+'px'
-          }"
-            :key="'admission-'+useQueueItem._id+'-'+index"
-            class="room-admission-fixed center"
-        >
-          <svg-animate
+    <template v-for="(useQueueItem) in useQueueObject" :key="useQueueItem">
+      <template v-if="useQueueItem">
+        <template v-if="useQueueItem.type === '1'" :key="useQueueItem._id">
+          <div
+              v-for="(item,index) in useQueueItem.data"
               :style="{
+                'width': item.width +'px',
+                'height': item.height+'px',
+                'top': item.y+'px',
+                'left': item.x+'px'
+              }"
+              :key="'admission-'+useQueueItem._id+'-'+index"
+              class="room-admission-fixed center"
+          >
+            <svg-animate
+                :style="{
             'width': item.width +'px',
             'height': item.height+'px'
           }"
-              v-if="useQueueItem.draw"
-              :playStatus="useQueueItem.play"
-              size="45%"
-              :src="(useQueueItem.item.show_gift_pc_img || useQueueItem.item.play_image)+'?id='+useQueueItem._id+'-'+index"
-              :defaultSrc="useQueueItem.item.base_image"
-              @stop="triggerQueueItem"
+                v-if="useQueueItem.draw"
+                :playStatus="useQueueItem.play"
+                size="45%"
+                :src="(useQueueItem.item.show_gift_pc_img || useQueueItem.item.play_image)+'?id='+useQueueItem._id+'-'+index"
+                :defaultSrc="useQueueItem.item.base_image"
+                @stop="triggerStopQueue(useQueueItem._unique)"
+                :loops="1"
+            ></svg-animate>
+          </div>
+        </template>
+        <template v-else >
+          <svg-animate
+              class="room-admission-svg"
+              :key="useQueueItem._id"
+              :src="(useQueueItem.item.show_gift_pc_img || useQueueItem.item.play_image)+'?id='+useQueueItem._id"
               :loops="1"
+              mode="AspectFit"
+              @stop="triggerStopQueue(useQueueItem._unique)"
           ></svg-animate>
-        </div>
-      </template>
-      <template v-else >
-        <svg-animate
-            class="room-admission-svg"
-            :key="useQueueItem._id"
-            :src="(useQueueItem.item.show_gift_pc_img || useQueueItem.item.play_image)+'?id='+useQueueItem._id"
-            :loops="1"
-            mode="AspectFit"
-            @stop="triggerQueueItem"
-        ></svg-animate>
+        </template>
       </template>
     </template>
+
   </div>
 </template>
 

+ 6 - 1
src/pages/talking/components/room-ranking/components/room-ranking-list/props.ts

@@ -8,6 +8,11 @@ export default {
     type:{
         type:String,
         default:'1'
+    },
+
+    valueKey:{
+        type:String,
+        default:'contribution_value'
     }
 
-}
+}

+ 3 - 3
src/pages/talking/components/room-ranking/components/room-ranking-list/src/main.vue

@@ -30,7 +30,7 @@
           <div class="absolute user-ranking-trophy-number center">{{item.label}}</div>
         </div>
         <div class="line-1 user-ranking-title">{{loadingStatus ?'':userRank[item.index] ? userRank[item.index].nick_name:'虚位以待'}}</div>
-        <div class="line-1 user-ranking-number">{{loadingStatus ?'':userRank[item.index] && userRank[item.index].contribution_value || 0}}</div>
+        <div class="line-1 user-ranking-number">{{loadingStatus ?'':userRank[item.index] && userRank[item.index][valueKey] || 0}}</div>
       </aside>
     </section>
 
@@ -52,7 +52,7 @@
           <div class="flex-1">
             <div class="line-1">{{ userRank[2+item].nick_name }}</div>
           </div>
-          <div>{{ userRank[2+item].contribution_value }}</div>
+          <div>{{ userRank[2+item][valueKey] }}</div>
         </aside>
       </template>
 
@@ -117,4 +117,4 @@ export default {
 }
 </script>
 
-<style scoped lang="scss" src="../style.scss"></style>
+<style scoped lang="scss" src="../style.scss"></style>

+ 5 - 3
src/pages/talking/components/room-ranking/data/tab.ts

@@ -2,11 +2,13 @@ export default [
     {
         label:'财富榜',
         slot:'0',
-        type:'1'
+        type:'1',
+        valueKey:'rank_value'
     },
     {
         label:'魅力榜',
         slot:'1',
-        type:'2'
+        type:'2',
+        valueKey:'rank_value'
     }
-]
+]

+ 1 - 0
src/pages/talking/components/room-ranking/src/main.vue

@@ -36,6 +36,7 @@
         <room-ranking-list
           :key="'room-ranking-list-'+index"
           :type="item.type"
+          :value-key="item.valueKey"
           v-model:value="rankingShowStatus"
         ></room-ranking-list>
       </template>

+ 2 - 1
src/pages/talking/components/room-wheat/src/main.vue

@@ -78,7 +78,8 @@
                 :dress-src="microUsers[index].mc_user_info.avatar_base_image"
                 :dress-play-src="microUsers[index].mc_user_info.avatar_play_image"
                 backgroundColor="transparent" class="screen cursor-pointer"
-                radius="50%" :src="microUsers[index].mc_user_info.head_pic">
+                radius="50%" :src="microUsers[index].mc_user_info.head_pic"
+            >
               <layout-animate-micro-phone
                 :volume="volumeObject[microUsers[index].mc_user_info.uid] && volumeObject[microUsers[index].mc_user_info.uid].volume || 0"
               ></layout-animate-micro-phone>

+ 19 - 2
src/pages/talking/mixins/handle.ts

@@ -166,7 +166,7 @@ export default <LibMixins>{
         },
 
         // 获取麦位详情
-        getRoomMicroInfo(updated:boolean=true){
+        getRoomMicroInfo(updated:boolean=true,wheat:boolean=false){
 
             if (this.roomMicroStatus) return ;
             return this.$request({
@@ -184,11 +184,28 @@ export default <LibMixins>{
                 },
                 message:InstructionsMessageType.other
             }).then((data)=>{
+
                 this.microInfo = data.data;
-                this.installMicroInfo();
+                this.installMicroInfo(false);
+
                 if (data.isCache) {
                     this.getRoomMicroInfo(true);
                 }
+
+                // 是否需要更新排麦
+                if(wheat) {
+
+                    for (let key in this.micro_info) {
+                        if (this.micro_info.hasOwnProperty(key)) {
+                            let resultData = this.agoraRTMIM.addQueueWheat({},this.micro_info[key].mc_user_info,false);
+                            resultData.messageType = AgoraRTMessage.userRowWheat;
+                            // 执行通知自己 删除排麦中存在的信息
+                            this.agoraRTMIM.triggerMessage(resultData);
+                        }
+                    }
+                }
+
+
                 // 设置当前排麦状态
                 if (this.hasMicroInfo()) {
                     this.downMicro();

+ 3 - 3
src/pages/talking/mixins/micro.ts

@@ -31,10 +31,9 @@ export default <LibMixins>{
     methods:{
 
         // 初始化麦位信息之后触发
-        installMicroInfo(){
+        installMicroInfo(update:boolean=true){
 
             let data = [this.microInfo.host_info,...this.microInfo.mc_list];
-
             let resultData = {};
             // 循环处理
             data.map((item)=>{
@@ -45,7 +44,7 @@ export default <LibMixins>{
 
             this.micro_info = resultData;
 
-            this.updateMicroCache();
+            update && this.updateMicroCache();
         },
 
         // 执行对比麦位信息,如果不一致进行update 更新麦位不同点
@@ -235,6 +234,7 @@ export default <LibMixins>{
         },
 
         exitMicro(uid){
+
             if (uid) {
                 let item = this.micro_info[uid];
                 if (item) {

+ 8 - 4
src/pages/talking/mixins/socket.ts

@@ -95,7 +95,7 @@ export default {
         sendWheatInfo(){
             // 提醒大家麦位信息得到了更新
             this.agoraRTMIM.send({
-                wheatData: this.microInfo
+                pcWheatData: this.microInfo
             },AgoraRTMessage.wheat);
         },
 
@@ -119,6 +119,7 @@ export default {
         // 监听收到礼物
         this.agoraRTMIM.on(AgoraRTMessage.gift,({data})=> {
 
+            console.log(data);
             // 获取礼物信息
             let gift = this.$store.state.gift && this.$store.state.gift.giftObjectData && this.$store.state.gift.giftObjectData[data.giftId];
             if (!gift) {
@@ -126,7 +127,7 @@ export default {
                     gid: data.giftId,
                     gift_name: data.e_name,
                     gift_type: data.type,
-                    play_image: data.show_gift_img,
+                    play_image: data.show_gift_img || data.show_gif_img,
                     pcplay_image: data.show_gift_pc_img,
                     base_image: data.show_img,
                     gift_price: data.gift_price || 0
@@ -141,8 +142,11 @@ export default {
         // 监听麦位信息
         this.agoraRTMIM.on(AgoraRTMessage.wheat,({data})=>{
 
+            // app 那边不知为何反复发送此消息,问题是还不对麦位信息,导致的问题,有点多,不敢再开发使用更新了
             if (data.wheatData) {
-                this.contrastWheatInfo(data.wheatData);
+
+            } else if (data.pcWheatData) {
+                this.contrastWheatInfo(data.pcWheatData);
                 // 设置当前排麦状态
                 if (this.hasMicroInfo()) {
                     this.downMicro();
@@ -151,7 +155,7 @@ export default {
                     this.unPublish();
                 }
             } else {
-                this.getRoomMicroInfo(true);
+                this.getRoomMicroInfo(true,true);
             }
 
         });

+ 3 - 3
src/pages/talking/mixins/utils.ts

@@ -5,7 +5,7 @@ export default <LibMixins>{
 
     provide(){
       return {
-          sendGiveUserGift:(item:Record<string, any>,uid:Array<string | number>,integral:number)=> this.sendGiveUserGift(item,uid,integral),
+          sendGiveUserGift:(item:Record<string, any>,uid:Array<string | number>,integral:number,sendUid:number | undefined)=> this.sendGiveUserGift(item,uid,integral,sendUid),
       }
     },
 
@@ -32,7 +32,7 @@ export default <LibMixins>{
         },
 
         // 赠送礼物
-        sendGiveUserGift(item:Record<string, any>,uid:Array<string | number>,integral:number){
+        sendGiveUserGift(item:Record<string, any>,uid:Array<string | number>,integral:number,sendUid:number | undefined){
 
             // 执行增加魅力值
             if (integral) {
@@ -44,7 +44,7 @@ export default <LibMixins>{
             // 检查权限是否屏蔽了进场特效
             if (!user.getDataItem(UserConfigType.shield,Shield.gift) && item.play_image) {
                 // 添加入场动画
-                this.$refs.queueGift && this.$refs.queueGift.pushGift(item,uid);
+                this.$refs.queueGift && this.$refs.queueGift.pushGift(item,uid,sendUid);
             }
         },
 

+ 1 - 1
src/popup/popup-chat/components/chat-content/mixins/userInfo.ts

@@ -15,7 +15,7 @@ export default {
         // 下单
         placeOrder(){
             if (this.userInfo && this.userInfo.is_player) {
-                return personalDetail.placeOrder(this.number || 1,this.userInfo.gameList,this.userInfo);
+                return personalDetail.placeOrder(this.number || 1,this.userInfo.gameList,this.userInfo,true);
             }
 
         },

+ 7 - 1
src/popup/popup-order/mixins/handle.ts

@@ -6,6 +6,8 @@ import {MessageType} from "$utils/socket/const";
 import order from "$utils/control/order";
 import {OrderPayStatus} from "$utils/control/order/const/order";
 
+import personalDetail, {OpenType} from '$utils/control/personal-detail';
+
 export default <LibMixins>{
 
     data(){
@@ -90,6 +92,7 @@ export default <LibMixins>{
                         item:this.item
                     });
 
+
                     // 执行发送消息
                     // socket.send(this.option.user.uid,{
                     //     messageType:MessageType.order,
@@ -102,7 +105,10 @@ export default <LibMixins>{
                     //     }
                     // });
 
-                    return this.close();
+                    this.close();
+                    if (!this.chat) {
+                        return personalDetail.openDetail(this.option.user, OpenType.user);
+                    }
                 }
             });
 

+ 7 - 1
src/popup/popup-order/props.ts

@@ -4,6 +4,12 @@ export default {
     option:{
         type:Object,
         default: {}
+    },
+
+    // 是否为chat打开
+    chat:{
+        type:Boolean,
+        default:false
     }
 
-}
+}

+ 1 - 1
src/popup/popup-personal/components/my-dress-up/components/dress-up-list/src/main.vue

@@ -6,7 +6,7 @@
       <template v-slot:item="{item,index}">
         <aside class="dress-up-item flex overflow">
           <div class="flex-1 center">
-            <layout-avatar v-if="config.userAvatar" class="dress-up-avatar" :dress-play-src="item.play_image" :dress-src="item.base_image" :src="$store.state.user.user.head_pic"></layout-avatar>
+            <layout-avatar v-if="config.userAvatar" class="dress-up-avatar" :dress-play-src="item.play_image" :dress-src="item.base_image" :hover="true" :src="$store.state.user.user.head_pic"></layout-avatar>
             <svg-animate v-else-if="item.play_image" :hover="true" :default-src="item.base_image" class="screen" :src="item.play_image"></svg-animate>
             <v-image v-else class="dress-up-image" :mode="config.mode || 'aspectFit'" backgroundColor="transparent" :src="item.base_image"></v-image>
           </div>

+ 8 - 0
src/store/modules/cate.ts

@@ -101,6 +101,14 @@ export default <Module<any,any>>{
 
             let maxSize = cate.roomCate.config.size - cate.roomCate.config.footer.length;
             let recommendRoomCate = [];
+            let clearLastData = [];
+            data.map((item)=>{
+                if (item.tid === 4) {
+                    clearLastData.push(item);
+                }
+            });
+
+            data = clearLastData;
 
             data.unshift(...cate.roomCate.config.header);
             let resultObject:Record<string, any> = {};

+ 3 - 2
src/utils/control/personal-detail/index.ts

@@ -261,7 +261,7 @@ export default {
     },
 
     // 下单
-    placeOrder(number,gameList=[],userInfo){
+    placeOrder(number,gameList=[],userInfo,chat:boolean=false){
 
         let currentItem = {};
         let options = {
@@ -297,7 +297,8 @@ export default {
         };
 
         return popup.$popup && popup.$popup.open(PopupExportComponent.order,{
-            option:options
+            option:options,
+            chat
         });
 
     },

+ 7 - 4
src/utils/request/index.ts

@@ -64,15 +64,18 @@ request.getUserInfo = function () {
             [
                 request({
                     url:'user/get_user_info',
-                    token:true
+                    token:true,
+                    login:false
                 }),
                 request({
                     url:'hxuser/getuserinfo',
-                    token:true
+                    token:true,
+                    login:false
                 }),
                 request({
                     url:'user/get_user_money',
-                    token:true
+                    token:true,
+                    login:false
                 })
             ]
         ).then((data)=>{
@@ -93,4 +96,4 @@ request.install = function (app:any) {
     app.config.globalProperties.$request = request;
 };
 
-export default request;
+export default request;

+ 6 - 2
src/utils/socket/agoraRTM/agoraRTMIM.ts

@@ -126,7 +126,6 @@ export default class AgoraRTMIM extends Notice {
                 resultData = {};
             }
 
-
             this.triggerMessage(resultData,data);
         });
 
@@ -138,6 +137,7 @@ export default class AgoraRTMIM extends Notice {
             resultData = this.watch[resultData.messageType](resultData);
         }
 
+
         // 触发 消息
         this.triggerListener(type, {
             ...(data || {}),
@@ -253,16 +253,20 @@ export default class AgoraRTMIM extends Notice {
 
     // 追加礼物信息
     addGiftInfo(data,toGiftData){
+
         if (data) {
+            data.box_class = '1';
             data.e_name = toGiftData.gift.gift_name;
             data.giftNum = toGiftData.number || 1;
             data.giftId = toGiftData.gift.gid;
             data.type = toGiftData.gift.gift_type;
             data.show_gift_img = toGiftData.gift.play_image;
+            data.show_gif_img = toGiftData.gift.play_image;
             data.show_gift_pc_img = toGiftData.gift.pcplay_image;
             data.show_img = toGiftData.gift.base_image;
             data.userInfo = toGiftData.userInfo;
-            data.gift_price =toGiftData.gift.gift_price
+            data.gift_price =toGiftData.gift.gift_price;
+            data.location = [0,0];
 
             return  data;
         } else {

+ 1 - 1
src/views/view-menu/components/view-menu-tab/src/main.vue

@@ -9,7 +9,7 @@
         <swiper
           :swiper-option="swiperOption"
           v-if="swiper"
-
+          class="view-tabs-header-swiper"
         >
           <swiper-item
               v-for="(item,index) in data"

+ 4 - 1
src/views/view-menu/components/view-menu-tab/style.scss

@@ -1,6 +1,9 @@
 .view-tabs-header{
   margin-top: 7px;
 }
+.view-tabs-header-swiper{
+  width: 100%;
+}
 .view-tabs-item-button{
   min-width: 50px !important;
   width: auto !important;
@@ -23,4 +26,4 @@
 .view-tabs-item-active{
   background: $main-linear;
   color: #fff;
-}
+}

+ 1 - 1
src/views/view-menu/data/tab.ts

@@ -5,7 +5,7 @@ export default [
         slot:'1',
         component:'view-menu-tab',
         data:undefined,
-        swiper:true,
+        // swiper:true,
         useComponent:'view-room'
     },
     {

+ 6 - 3
src/views/view-menu/src/main.vue

@@ -126,14 +126,17 @@ export default {
   },
 
   watch:{
-    roomLoginCate(){
-      this.tabData[0].data = this.roomLoginCate;
+    roomNoLoginCate(){
+      this.tabData[0].data = this.roomNoLoginCate;
     }
+    // roomLoginCate(){
+    //   this.tabData[0].data = this.roomLoginCate;
+    // }
   },
 
   created() {
 
-    this.$store.dispatch('initializationRoomCatePromise');
+    this.$store.dispatch('initializationRoomCatePromise')
 
   }
 }