16
知名开源论坛Rhex创始用户 合伙挑刺人
回复讨论
0
登录后可参与回复讨论。
当前还没有回复,欢迎成为第一个参与讨论的人。
背景:
插件系统目前支持通过 context.notifications.create() 创建站内通知,但通知的跳转链接由核心 resolveNotificationUrl 根据 relatedType 硬编码解析:
POST → 帖子页COMMENT → 评论楼层USER → 用户主页ANNOUNCEMENT / 其他 → 统一落到 /notifications插件无法自定义通知的跳转目标。比如积分商城插件创建了订单通知,理想行为是点击跳转到 /addons/points-mall/orders?orderId=xxx 并自动打开订单详情,但目前只能跳转到通知列表页。
建议方案(二选一):
方案 A(推荐,最简单):AddonNotificationCreateInput 加可选 url 字段
tsexport interface AddonNotificationCreateInput {
// ... 现有字段
url?: string // 自定义跳转链接,设置后忽略 relatedType 的默认解析
}
在 createAddonNotification 中透传,resolveNotificationUrl 优先返回此值。
方案 B(更灵活):加 notification.url.resolve asyncWaterfall hook
插件注册 Hook 后可以拦截自己的通知并返回自定义 URL。