fix(notification): 统一使用title属性替代message属性

refactor: 将notification的message属性替换为title属性以保持一致性
feat: 在登录成功时添加新的notification样式演示
docs: 添加antdv-next替换ant-design-vue的提示
This commit is contained in:
dap 2026-01-14 14:55:41 +08:00
parent 2f6fd30fa7
commit bc8ee604fb
4 changed files with 25 additions and 4 deletions

View File

@ -155,7 +155,7 @@ function validateMenuTree(menu: MenuOption) {
const description = `错误用法: [${menu.label} - 菜单]下不能放 目录/菜单 -> [${item.label}]`; const description = `错误用法: [${menu.label} - 菜单]下不能放 目录/菜单 -> [${item.label}]`;
console.warn(description); console.warn(description);
notification.warning({ notification.warning({
message: '提示', title: '提示',
description, description,
duration: 0, duration: 0,
}); });
@ -172,7 +172,7 @@ function validateMenuTree(menu: MenuOption) {
const description = `错误用法: [${menu.label} - 按钮]下不能放置'目录/菜单/按钮' -> [${item.label}]`; const description = `错误用法: [${menu.label} - 按钮]下不能放置'目录/菜单/按钮' -> [${item.label}]`;
console.warn(description); console.warn(description);
notification.warning({ notification.warning({
message: '提示', title: '提示',
description, description,
duration: 0, duration: 0,
}); });

View File

@ -69,7 +69,17 @@ export const useAuthStore = defineStore('auth', () => {
notification.success({ notification.success({
description: `${$t('authentication.loginSuccessDesc')}:${userInfo?.realName}`, description: `${$t('authentication.loginSuccessDesc')}:${userInfo?.realName}`,
duration: 3, duration: 3,
message: $t('authentication.loginSuccess'), title: $t('authentication.loginSuccess'),
});
await new Promise((resolve) => setTimeout(resolve, 1000));
Array.from({ length: 5 }).forEach((_, index) => {
setTimeout(() => {
notification.success({
title: '新的notification样式',
description: '这是一条新的通知消息',
});
}, index * 900);
}); });
} }
} finally { } finally {

View File

@ -5,6 +5,7 @@ import { computed, ref, watch } from 'vue';
import { SvgMessageUrl } from '@vben/icons'; import { SvgMessageUrl } from '@vben/icons';
import { $t } from '@vben/locales'; import { $t } from '@vben/locales';
import { useUserStore } from '@vben/stores'; import { useUserStore } from '@vben/stores';
import { buildUUID } from '@vben/utils';
import { Modal, notification } from 'antdv-next'; import { Modal, notification } from 'antdv-next';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
@ -55,7 +56,7 @@ export const useNotifyStore = defineStore(
notification.success({ notification.success({
description: message, description: message,
duration: 3, duration: 3,
message: $t('component.notice.received'), title: $t('component.notice.received'),
}); });
notificationList.value.unshift({ notificationList.value.unshift({
@ -66,6 +67,7 @@ export const useNotifyStore = defineStore(
message, message,
title: $t('component.notice.title'), title: $t('component.notice.title'),
userId: userId.value, userId: userId.value,
id: buildUUID(),
}); });
// 需要手动置空 vue3在值相同时不会触发watch // 需要手动置空 vue3在值相同时不会触发watch

View File

@ -14,6 +14,8 @@ import {
SvgDownloadIcon, SvgDownloadIcon,
} from '@vben/icons'; } from '@vben/icons';
import { Alert } from 'antdv-next';
import AnalyticsTrends from './analytics-trends.vue'; import AnalyticsTrends from './analytics-trends.vue';
import AnalyticsVisitsData from './analytics-visits-data.vue'; import AnalyticsVisitsData from './analytics-visits-data.vue';
import AnalyticsVisitsSales from './analytics-visits-sales.vue'; import AnalyticsVisitsSales from './analytics-visits-sales.vue';
@ -65,6 +67,13 @@ const chartTabs: TabOption[] = [
<template> <template>
<div class="p-5"> <div class="p-5">
<Alert
class="mb-5"
:show-icon="true"
type="success"
title="该分支使用antdv-next替代不维护的ant-design-vue"
/>
<AnalysisOverview :items="overviewItems" /> <AnalysisOverview :items="overviewItems" />
<AnalysisChartsTabs :tabs="chartTabs" class="mt-5"> <AnalysisChartsTabs :tabs="chartTabs" class="mt-5">
<template #trends> <template #trends>