From 528dcbf06da4e6d89b230ffd5078f66b630bd4d3 Mon Sep 17 00:00:00 2001 From: Cccc_ Date: Sun, 4 Jan 2026 01:07:56 +0800 Subject: [PATCH] fix: update message format to include duration for better user feedback --- frontend/src/components/FieldTreeNode.vue | 12 ++++++------ frontend/src/components/Navbar.vue | 6 +++--- frontend/src/components/QRCodeModal.vue | 2 +- frontend/src/composables/useAsyncAction.js | 4 ++-- frontend/src/views/admin/LogsView.vue | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/frontend/src/components/FieldTreeNode.vue b/frontend/src/components/FieldTreeNode.vue index ac0f216..e74407b 100644 --- a/frontend/src/components/FieldTreeNode.vue +++ b/frontend/src/components/FieldTreeNode.vue @@ -533,7 +533,7 @@ const confirmAddField = () => { } addFieldDialogVisible.value = false; - message.success('数组元素添加成功'); + message.success({ content: '数组元素添加成功', duration: 2 }); return; } else { // 字段名不为空,添加为包含命名字段的对象 @@ -556,21 +556,21 @@ const confirmAddField = () => { localFieldConfig.value.push(newObject); addFieldDialogVisible.value = false; - message.success('带命名字段的对象添加成功'); + message.success({ content: '带命名字段的对象添加成功', duration: 2 }); return; } } // 其他情况需要字段名 if (!newFieldName.value) { - message.warning('请输入字段名'); + message.warning({ content: '请输入字段名', duration: 2 }); return; } if (isAddingToObject.value) { // 添加到对象字段 if (localFieldConfig.value[newFieldName.value]) { - message.warning('该字段已存在'); + message.warning({ content: '该字段已存在', duration: 2 }); return; } @@ -593,7 +593,7 @@ const confirmAddField = () => { // 添加到数组元素 const arrayItem = localFieldConfig.value[currentArrayIndex.value]; if (arrayItem[newFieldName.value]) { - message.warning('该字段已存在'); + message.warning({ content: '该字段已存在', duration: 2 }); return; } @@ -615,7 +615,7 @@ const confirmAddField = () => { } addFieldDialogVisible.value = false; - message.success('字段添加成功'); + message.success({ content: '字段添加成功', duration: 2 }); }; diff --git a/frontend/src/components/Navbar.vue b/frontend/src/components/Navbar.vue index ec6768a..02cef57 100644 --- a/frontend/src/components/Navbar.vue +++ b/frontend/src/components/Navbar.vue @@ -380,7 +380,7 @@ const handleTokenStatusClick = () => { // Token 已过期时提醒刷新 if (mins !== null && mins < 0) { - message.info('Token 已过期,请进行刷新'); + message.info({ content: 'Token 已过期,请进行刷新', duration: 3 }); } // Token 未过期时,点击无效果 }; @@ -441,7 +441,7 @@ const handleRefreshToken = () => { // 处理 QR 码扫码成功 const handleQRCodeSuccess = async () => { - message.success('Token 刷新成功'); + message.success({ content: 'Token 刷新成功', duration: 3 }); qrcodeModalVisible.value = false; // 刷新用户信息和 Token 状态 @@ -455,7 +455,7 @@ const handleQRCodeSuccess = async () => { // 处理 QR 码扫码失败 const handleQRCodeError = error => { - message.error(error?.message || 'Token 刷新失败'); + message.error({ content: error?.message || 'Token 刷新失败', duration: 4 }); }; diff --git a/frontend/src/components/QRCodeModal.vue b/frontend/src/components/QRCodeModal.vue index 9240041..4c42983 100644 --- a/frontend/src/components/QRCodeModal.vue +++ b/frontend/src/components/QRCodeModal.vue @@ -119,7 +119,7 @@ const fetchQRCode = async () => { onSuccess: result => { status.value = 'success'; stopCountdown(); - message.success('登录成功!'); + message.success({ content: '登录成功!', duration: 2 }); // 延迟关闭对话框 setTimeout(() => { diff --git a/frontend/src/composables/useAsyncAction.js b/frontend/src/composables/useAsyncAction.js index 441bc98..8f4297b 100644 --- a/frontend/src/composables/useAsyncAction.js +++ b/frontend/src/composables/useAsyncAction.js @@ -45,7 +45,7 @@ export function useAsyncAction(options = {}) { const result = await asyncFn(); if (!silent && successMsg) { - message.success(successMsg); + message.success({ content: successMsg, duration: 3 }); } return result; @@ -54,7 +54,7 @@ export function useAsyncAction(options = {}) { if (!silent) { const msg = err.message || err.detail || errorMsg || '操作失败'; - message.error(msg); + message.error({ content: msg, duration: 4 }); } if (throwOnError) { diff --git a/frontend/src/views/admin/LogsView.vue b/frontend/src/views/admin/LogsView.vue index 4000b63..2773d8b 100644 --- a/frontend/src/views/admin/LogsView.vue +++ b/frontend/src/views/admin/LogsView.vue @@ -74,12 +74,12 @@ const handleRefresh = async () => { // 确保是字符串 logContent.value = typeof data.logs === 'string' ? data.logs : String(data.logs); lastUpdate.value = formatDateTime(new Date()); - message.success('刷新成功'); + message.success({ content: '刷新成功', duration: 2 }); } else { logContent.value = '无日志内容'; } } catch (error) { - message.error(error.message || '刷新失败'); + message.error({ content: error.message || '刷新失败', duration: 4 }); } };