Browse Source

fix:会话消息时间无法显示问题

master
秋田弘 7 months ago
parent
commit
2ffe0e2445
  1. 3
      frontend/auto-imports.d.ts
  2. 15
      frontend/src/components/chat/ChatMessage.vue
  3. 2
      frontend/src/components/chat/ChatMsgList.vue
  4. 20
      frontend/src/stores/chat.ts

3
frontend/auto-imports.d.ts

@ -3,6 +3,7 @@
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
// Generated by unplugin-auto-import
// biome-ignore lint: disable
export {}
declare global {
const EffectScope: typeof import('vue')['EffectScope']
@ -71,6 +72,6 @@ declare global {
// for type re-export
declare global {
// @ts-ignore
export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
import('vue')
}

15
frontend/src/components/chat/ChatMessage.vue

@ -160,7 +160,7 @@
</div>
<!-- 发送时间展示在消息框外部的下方 -->
<div class="chat-time-other-outer">
{{ item.time }}
{{ formatTime(item.createdAt) }}
</div>
</el-col>
<el-col :span="8" />
@ -231,11 +231,18 @@
const currUserId = ref();
//
function formatTime(timestamp:string) {
const date = new Date(timestamp);
function formatTime(timestamp: string | number) {
const date = new Date(Number(timestamp)); //
const month = date.getMonth() + 1; // 0
const day = date.getDate();
return `${month}-${day}`;
const hours = date.getHours();
const minutes = date.getMinutes();
//
const formattedHours = hours.toString().padStart(2, "0");
const formattedMinutes = minutes.toString().padStart(2, "0");
return `${month}-${day} ${formattedHours}:${formattedMinutes}`;
}
const showUserInfo = (chatId: string) => {

2
frontend/src/components/chat/ChatMsgList.vue

@ -90,7 +90,7 @@
</div>
<div class="previewTime">
{{ formatTime(item.time) }}
{{ formatTime(item.item) }}
</div>
</div>

20
frontend/src/stores/chat.ts

@ -279,7 +279,8 @@ export const useChatStore = defineStore('chatStore', () => {
isMe: true,
message: await getImageSrc(Message.message),
previewMessage: "[图片消息]",
previewTimeFormat: formatTime(Date.now()),
previewTimeFormat: Date.now(),
time: Date.now(),
displayName: userInfo.value.nickname,
chatId: Message.type === 'group' ? targetGroupInfo.value.chatId : targetUserInfo.value.chatId,
avatar: Message.type === 'group' ? targetUserInfo.value.avatar : '',
@ -347,6 +348,7 @@ export const useChatStore = defineStore('chatStore', () => {
file_name: Message.message.split('/').pop(),
file_size: fileInfo.data.file_info?.size || 0,
previewMessage: "[文件消息]",
time: Date.now(),
previewTimeFormat: formatTime(Date.now()),
displayName: userInfo.value.nickname,
chatId: Message.type === 'group' ? targetGroupInfo.value.chatId : targetUserInfo.value.chatId,
@ -412,8 +414,9 @@ export const useChatStore = defineStore('chatStore', () => {
...Message,
isMe: true,
previewMessage: message.value,
previewTimeFormat: formatTime(Date.now()),
previewTimeFormat: Date.now(),
displayName: userInfo.value.nickname,
time: Date.now(),
chatId: targetUserInfo.value.chatId,
avatar: userInfo.value.avatar,
createdAt: Date.now()
@ -426,8 +429,9 @@ export const useChatStore = defineStore('chatStore', () => {
messageHistory = {
...Message,
previewMessage: message.value,
previewTimeFormat: formatTime(Date.now()),
previewTimeFormat: Date.now(),
displayName: targetGroupInfo.value.name,
time: Date.now(),
isMe: true,
chatId: targetGroupInfo.value.chatId,
createdAt: Date.now()
@ -568,7 +572,8 @@ export const useChatStore = defineStore('chatStore', () => {
online: user.online,
toUserId: userInfo.value.id,
previewMessage: message.value || "快开始打招呼吧!",
previewTimeFormat: formatTime(Date.now()),
previewTimeFormat: Date.now(),
time: Date.now(),
displayName: user.nickname,
};
chatList.value.push(newChat);
@ -582,9 +587,10 @@ export const useChatStore = defineStore('chatStore', () => {
nickname: user.nickname,
avatar: user.avatar,
online: user.online,
time: Date.now(),
toUserId: userInfo.value.id,
previewMessage: message.value || "快开始打招呼吧!",
previewTimeFormat: formatTime(Date.now()),
previewTimeFormat: Date.now(),
createdAt: Date.now(),
});
@ -744,7 +750,7 @@ export const useChatStore = defineStore('chatStore', () => {
content_type: data.content_type,
to_groupid: data.to_groupid,
previewMessage: "",
previewTimeFormat: formatTime(Date.now()),
previewTimeFormat: Date.now(),
displayName: data.userInfo.nickname,
avatar: data.userInfo.avatar,
createdAt: Date.now(),
@ -803,6 +809,8 @@ export const useChatStore = defineStore('chatStore', () => {
}
const list = await res.json()
console.log("list------", list)
if (list.data.groups == null) {
list.data.groups = []
}

Loading…
Cancel
Save