From e4354d42cd43d2d66432cfa11ee95054ad073a26 Mon Sep 17 00:00:00 2001 From: Phoenix <64720302+Concur-max@users.noreply.github.com> Date: Tue, 10 Jun 2025 13:28:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=B6=88=E6=81=AF=E9=9D=A2=E6=9D=BF):=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0dayjs=E4=BE=9D=E8=B5=96=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=B6=88=E6=81=AF=E6=92=A4=E5=9B=9E=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 使用dayjs替换原有的日期处理逻辑,提高代码可读性并延长消息撤回时间至5分钟 --- package.json | 1 + pnpm-lock.yaml | 3 +++ src/views/message/inner/panel/menu.ts | 10 +++++----- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 0b8bf58..53c5bd8 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "@vueuse/core": "^10.7.0", "ant-design-vue": "^4.2.6", "axios": "^1.6.2", + "dayjs": "^1.11.13", "highlight.js": "^11.5.0", "js-audio-recorder": "^1.0.7", "lodash-es": "^4.17.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e186607..f92b4b5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,6 +44,9 @@ importers: axios: specifier: ^1.6.2 version: 1.9.0 + dayjs: + specifier: ^1.11.13 + version: 1.11.13 highlight.js: specifier: ^11.5.0 version: 11.11.1 diff --git a/src/views/message/inner/panel/menu.ts b/src/views/message/inner/panel/menu.ts index b1b8a11..414f6bb 100644 --- a/src/views/message/inner/panel/menu.ts +++ b/src/views/message/inner/panel/menu.ts @@ -1,4 +1,5 @@ import { reactive } from 'vue' +import dayjs from 'dayjs' import { useDialogueStore } from '@/store/modules/dialogue.js' interface IDropdown { @@ -14,11 +15,10 @@ const isRevoke = (uid: any, item: any): boolean => { return false } - const datetime = item.created_at.replace(/-/g, '/') - - const time = new Date().getTime() - Date.parse(datetime) - - return Math.floor(time / 1000 / 60) <= 2 + const messageTime = dayjs(item.created_at) + const now = dayjs() + const diffInMinutes = now.diff(messageTime, 'minute') + return diffInMinutes <= 5 } const dialogueStore = useDialogueStore() export function useMenu() {