| 
					
				 | 
			
			
				@@ -1,251 +1,445 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <div class="content" v-show-log="state.log_invite_list_show"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class="error" v-if="state.invited_list.length == 0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Invite people to hunt treasure with you! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div class="content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="horizontal-invited-wrapper" v-if="state.invited_list.length"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      invited({{ state.inviteCount }}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="horizontal-invited-list" v-show-log="state.log_invite_list_show " @mouseleave="invitedListMouseleave($event)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template v-for="(item, index) in state.invited_list" :key="index"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="invited-item" v-if="index < 5" @mouseenter="invitedItemMouseenter(item)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <img :src="item.userInfo.avatarUrl" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <img class="more" v-if="state.invited_list.length > 5" :src="require('@/assets/svg/icon-invited-more.svg')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @mouseenter="moreMouseenter" @mouseleave="moreMouseleave" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="invited-user-info" @mouseenter="invitedItemMouseenter()" @mouseleave="invitedListMouseleave($event)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      v-if="hoverInvitedUserInfo.userInfo"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="left"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <img class="avatar" @click="clickItem(hoverInvitedUserInfo)" :src="hoverInvitedUserInfo.userInfo.avatarUrl" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="user-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="name" @click="clickItem(hoverInvitedUserInfo)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @{{ hoverInvitedUserInfo.userInfo.nickName }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="time"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ getTime(hoverInvitedUserInfo.timestamp) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class="list" v-else @scroll="handleScroll($event)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="item" v-for="item in state.invited_list" :key="item.userInfo.uid"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="left"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <img :src="item.userInfo.avatarUrl" alt="" @click="clickItem(item)" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class="right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>{{ item.userInfo.nickName }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>{{ getTime(item.timestamp) }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <span class="channel" v-if="hoverInvitedUserInfo.channelName"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <img class="app-icon" :src="hoverInvitedUserInfo.channelIcon" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          {{hoverInvitedUserInfo.channelName}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="vertical-invited-wrapper" v-if="showVerticalInvitedList" @mouseenter="moreMouseenter" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      @mouseleave="moreMouseleave" @scroll="handleScroll($event)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="invited-user-info" v-for="(item, index) in state.invited_list" :key="index"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="left"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <img @click="clickItem(item)" class="avatar" :src="item.userInfo.avatarUrl" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class="footer"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <v-btn :txt="state.open_btn.txt" :font-size="'17px'" class="btn" :icon="false" :loading="state.btn_loading" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                :disabled="state.open_btn.disabled" v-click-log="state.log_invite_btn_click" @onClick="clickBtn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                font-weight="600"></v-btn> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="right"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="user-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="name" @click="clickItem(item)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              @{{ item.userInfo.nickName }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="time"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              {{ getTime(item.timestamp) }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <span class="channel" v-if="item.channelName"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <img class="app-icon" :src="item.channelIcon" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{item.channelName}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script setup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import VBtn from '@/view/iframe/treasure-hunt/components/btn.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { inviteList, inviteListRefresh } from '@/http/treasure' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { inject, onMounted } from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { inject, onMounted, ref, watch } from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import Report from "@/log-center/log" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var moment = require('moment') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let state = inject('state') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let global_refresh = inject('global_refresh') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 state.invited_list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let page_num = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let page_size = 10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let page_num = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let page_size = 200 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let listLoadMore = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let list_end = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-state.log_invite_btn_click = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    businessType: Report.businessType.buttonClick, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    pageSource: Report.pageSource.inviteFriendsPage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    objectType: Report.objectType.openChestButton, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    redPacketType: Report.redPacketType.treasure, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    shareLinkId: state.invite_code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    myShareLinkId: state.detail.inviteCopyUrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    currentInvitedNum: state.inviteCount, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    postId: state.postId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let hoverInvitedUserInfo = ref({}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let showVerticalInvitedList = ref(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let timer = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let timer1 = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 state.log_invite_list_show = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    businessType: Report.businessType.pageView, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    pageSource: Report.pageSource.beenInvitedPage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    redPacketType: Report.redPacketType.treasure, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    shareLinkId: state.invite_code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    myShareLinkId: state.detail.inviteCopyUrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    currentInvitedNum: state.inviteCount, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    postId: state.postId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  businessType: Report.businessType.pageView, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageSource: Report.pageSource.beenInvitedPage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  redPacketType: Report.redPacketType.treasure, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  shareLinkId: state.invite_code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  myShareLinkId: state.detail.inviteCopyUrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  currentInvitedNum: state.inviteCount, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  postId: state.postId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+watch(global_refresh, () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (global_refresh.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      list() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.btn_loading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    list() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  state.btn_loading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  list() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const invitedItemMouseenter = (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (timer) clearTimeout(timer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (params) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    hoverInvitedUserInfo.value = params; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const invitedListMouseleave = (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  timer = setTimeout(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    hoverInvitedUserInfo.value = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 600); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const moreMouseenter = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (timer1) clearTimeout(timer1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  showVerticalInvitedList.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const moreMouseleave = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  timer1 = setTimeout(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showVerticalInvitedList.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 600); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const clickItem = (item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    window.open(`https://twitter.com/${item.userInfo.nickName}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  window.open(`https://twitter.com/${item.userInfo.nickName}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function handleScroll(e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (list_end) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    e = e.target 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if ((e.clientHeight + e.scrollTop) / e.scrollHeight > .8) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        list_end = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        inviteListScroll() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (list_end) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  e = e.target 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if ((e.clientHeight + e.scrollTop) / e.scrollHeight > .8) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    list_end = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    inviteListScroll() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const list = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.inviteListRefresh() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  state.inviteListRefresh() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 刷新时调用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 state.inviteListRefresh = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let last_timestamp = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (state.invited_list.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        last_timestamp = state.invited_list[0].timestamp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let last_timestamp = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (state.invited_list.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    last_timestamp = state.invited_list[0].timestamp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    inviteListRefresh({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            postId: state.postId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            lastTimestamp: last_timestamp, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (res.code == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            handleCommon(res.data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  inviteListRefresh({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      postId: state.postId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      lastTimestamp: last_timestamp, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (res.code == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      handleCommon(res.data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const handleCommon = (data) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.inviteCount = data.inviteCount 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (state.inviteCount > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        state.tabs[1].txt = `invited(${state.inviteCount})` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (data.inviteUsers.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        data.inviteUsers.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (state.invited_list.filter((item2) => { return item2.userInfo.uid == item.userInfo.uid }).length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                state.invited_list.push(item) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        state.invited_list = state.invited_list.sort((a, b) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return b.timestamp - a.timestamp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        list_end = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        list_end = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  state.inviteCount = data.inviteCount 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   if (data.inviteUsers.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    data.inviteUsers.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (state.invited_list.filter((item2) => { return item2.userInfo.uid == item.userInfo.uid }).length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.invited_list.push(item) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state.invited_list = state.invited_list.sort((a, b) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return b.timestamp - a.timestamp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    list_end = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    list_end = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 滚动 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let inviteListScroll = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // state.invited_list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let last_timestamp = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let len = state.invited_list.length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (len > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        last_timestamp = state.invited_list[len - 1].timestamp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let last_timestamp = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let len = state.invited_list.length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (len > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    last_timestamp = state.invited_list[len - 1].timestamp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    inviteList({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            inviteCode: state.invite_code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            postId: state.postId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            lastTimestamp: last_timestamp, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            pageSize: page_size 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (res.code == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  inviteList({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      inviteCode: state.invite_code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      postId: state.postId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      lastTimestamp: last_timestamp, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pageSize: page_size 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (res.code == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            handleCommon(res.data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      handleCommon(res.data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const getTime = (timestamp) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let _d1 = moment(new Date().getTime()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let _d2 = moment(timestamp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const plural = (n, s) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let _str = `${n} ${s} ago` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (n > 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _str = `${n} ${s}s ago` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return _str 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let _d = moment.duration(_d1.diff(_d2)).days() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (_d) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return plural(_d, 'day') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let _d1 = moment(new Date().getTime()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let _d2 = moment(timestamp) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const plural = (n, s) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let _str = `${n} ${s} ago` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (n > 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _str = `${n} ${s}s ago` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let _h = moment.duration(_d1.diff(_d2)).hours() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (_h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return plural(_h, 'hour') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let _m = moment.duration(_d1.diff(_d2)).minutes() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (_m) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return plural(_m, 'min') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let _s = moment.duration(_d1.diff(_d2)).seconds() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return plural(_s, 'sec') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return _str 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let _d = moment.duration(_d1.diff(_d2)).days() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (_d) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return plural(_d, 'day') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let _h = moment.duration(_d1.diff(_d2)).hours() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (_h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return plural(_h, 'hour') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let _m = moment.duration(_d1.diff(_d2)).minutes() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (_m) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return plural(_m, 'min') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let _s = moment.duration(_d1.diff(_d2)).seconds() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return plural(_s, 'sec') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 async function clickBtn() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let _userInfo = await state.checkIsLogin() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!_userInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.btn_loading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.treasureOpen() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let _userInfo = await state.checkIsLogin() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!_userInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  state.btn_loading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  state.treasureOpen() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <style lang="scss" scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .content { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    height: 292px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  bottom: 0px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .horizontal-invited-wrapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding: 12px 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    box-sizing: border-box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    font-weight: 400; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    color: #A7A39F; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .horizontal-invited-list { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .invited-item { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        width: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        height: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        padding: 0 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    .footer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        background: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        padding: 10px 16px 25px 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        img { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          width: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          height: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          border-radius: 50%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    .error { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        height: 204px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        color: #BABABA; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        font-weight: 500; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        font-size: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        line-height: 204px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .more { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      margin-left: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .vertical-invited-wrapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 343px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    height: 308px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    background: #FFFFFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    box-shadow: 0px 4px 14px rgba(0, 0, 0, 0.25); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border-radius: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    overflow-y: scroll; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bottom: -316px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    left: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    z-index: 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    animation: fade-in 0.25s linear forwards; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    background: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .invited-user-info { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      position: static !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      border-radius: 0px !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      box-shadow: none !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      padding: 0 !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      animation: none !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .left, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .right { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        padding: 9px 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .left { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        padding-left: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .right { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        padding-right: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        box-shadow: inset 0px -1px 0px #F2F2F2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        box-sizing: border-box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .invited-user-info { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 343px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding: 9px 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    box-sizing: border-box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    background: #FFFFFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    box-shadow: 0px 4px 14px rgba(0, 0, 0, 0.25); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border-radius: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bottom: -62px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    left: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    animation: fade-in 0.25s linear forwards; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .left { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .avatar { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        width: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        height: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        margin-right: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        border-radius: 50%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .right { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .user-info { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .name { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          margin-bottom: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          font-weight: 500; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          font-size: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .time { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          font-weight: 400; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          color: #A9A9A9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .channel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        height: min-content; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-weight: 400; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #A9A9A9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .app-icon { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          width: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          height: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          margin-right: 4px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          border-radius: 50%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .list { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    background: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    height: 204px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    overflow-y: auto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .item { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      height: 60px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .left { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        width: 58px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    .list { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        background: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        height: 204px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        overflow-y: auto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .item { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            height: 60px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            .left { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                width: 58px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                img { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    border-radius: 50px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    width: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    height: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            .right { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                flex: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                border-bottom: 1px solid #D9D9D9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                div:nth-child(1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    color: #000000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    font-weight: 500; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    font-size: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                div:nth-child(2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    color: #A6A6A6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    font-weight: 400; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    margin-right: 17px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        img { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          border-radius: 50px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          width: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          height: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .right { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flex: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        border-bottom: 1px solid #D9D9D9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        div:nth-child(1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          color: #000000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          font-weight: 500; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          font-size: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        div:nth-child(2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          color: #A6A6A6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          font-weight: 400; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          margin-right: 17px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  @keyframes fade-in { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    from { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      opacity: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    to { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      opacity: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </style> 
			 |