feat: 通知模块自定义加强

This commit is contained in:
雪忆天堂
2026-04-13 16:05:42 +08:00
parent 5b84ac5b13
commit fe77bc8bc9
10 changed files with 256 additions and 98 deletions

View File

@@ -163,6 +163,33 @@ function handleMakeAll() {
function handleClickLogo() {}
const viewAll = () => {};
const handleClick = (item: NotificationItem) => {
// 如果通知项有链接,点击时跳转
if (item.link) {
navigateTo(item.link, item.query, item.state);
}
};
function navigateTo(
link: string,
query?: Record<string, any>,
state?: Record<string, any>,
) {
if (link.startsWith('http://') || link.startsWith('https://')) {
// 外部链接,在新标签页打开
window.open(link, '_blank');
} else {
// 内部路由链接,支持 query 参数和 state
router.push({
path: link,
query: query || {},
state,
});
}
}
watch(
() => ({
enable: preferences.app.watermark,
@@ -215,6 +242,8 @@ onBeforeMount(() => {
@read="(item) => item.id && markRead(item.id)"
@remove="(item) => item.id && remove(item.id)"
@make-all="handleMakeAll"
@on-click="handleClick"
@view-all="viewAll"
/>
</template>
<template #extra>