+
{{ item.nickname }}
@@ -78,6 +90,13 @@ const inputMessage = ref('')
const chatBoard = ref()
const showChatLog = ref(false)
const unreadMessage = ref(0)
+const currentMessage = ref({
+ userId: '',
+ nickname: '阿米娅',
+ avatar: '/avatar.webp',
+ content: '这是一条消息',
+ show: false
+})
function openChatLog() {
unreadMessage.value = 0
@@ -121,14 +140,32 @@ async function chatListener(response: SignalrResponse) {
}
}
+var lastMessagePopupCloseInterval: NodeJS.Timeout | null = null
+
function pushMessage(msg: Message) {
messages.value.push(msg)
- if ( (user.userInfo?.id || '') !== msg.userId) {
+ if ((user.userInfo?.id || '') !== msg.userId) {
if (!showChatLog.value) {
unreadMessage.value++
}
}
+
+ currentMessage.value = {
+ userId: msg.userId,
+ nickname: msg.nickname,
+ avatar: msg.avatar,
+ content: msg.content,
+ show: true
+ }
+
+ if(lastMessagePopupCloseInterval) {
+ clearTimeout(lastMessagePopupCloseInterval)
+ }
+
+ lastMessagePopupCloseInterval = setTimeout(() => {
+ currentMessage.value.show = false
+ }, 5000)
}
defineExpose({ pushMessage })
@@ -171,7 +208,17 @@ onUnmounted(async () => {
}
}
+.instant-message-container {
+ display: flex;
+ flex-direction: row;
+ .instant-message {
+ margin-left: 5px;
+ white-space: nowrap;
+ overflow: hidden;
+ max-width: 80%;
+ }
+}
.message-window {
height: calc(80vh);
diff --git a/src/mobile/views/Logout.vue b/src/mobile/views/Logout.vue
index 3272c24..2617ef9 100644
--- a/src/mobile/views/Logout.vue
+++ b/src/mobile/views/Logout.vue
@@ -9,14 +9,18 @@
import { onMounted } from 'vue'
import { removeData } from '@/utils'
import { useRouter } from 'vue-router'
+import { useUserStore } from '@/stores/user';
+import { useGameHubStore } from '@/stores/gamehub';
const router = useRouter()
+const user = useUserStore()
+const gameHub = useGameHubStore()
onMounted(async () => {
removeData('jwt-token')
- removeData('user-role')
- removeData('user-id')
- removeData('email')
+
+ user.reset()
+ gameHub.close()
// 给点延迟让大家看看可爱的兔兔!
setTimeout(async () => await router.push('/login'), 1500)
diff --git a/src/mobile/views/game/CypherChallenge.vue b/src/mobile/views/game/CypherChallenge.vue
index 851bd9f..bba593e 100644
--- a/src/mobile/views/game/CypherChallenge.vue
+++ b/src/mobile/views/game/CypherChallenge.vue
@@ -36,8 +36,8 @@