# Client 消息中心模块指引 ## 路径基准与读取顺序 - 本文件适用于 `src/modules/notifications/`,代码路径相对本目录;应用公共规则见 `../../../AGENTS.md`。 - 页面:`views/NotificationsView.vue`(收件箱)、`views/NotificationDetailView.vue`(详情);状态在 `store/notifications.ts`,请求在 `api/notifications.ts`。 - 后端归 `iam/` 的 `notification/` 子域;契约见 `notification-v1.yaml`。 ## 页面与入口 | 目标 | 页面/入口 | API 与后端 | |---|---|---| | 消息收件箱、未读与分页 | `views/NotificationsView.vue` | `api/notifications.ts`、`store/notifications.ts`;`iam/notification/` | | 消息详情与业务跳转 | `views/NotificationDetailView.vue` | `api/notifications.ts` | | 文案与类型映射 | `presentation.ts`、`contracts.ts` | 服务端模板字段 | | 对外导出 | `public.ts` | — | ## 关键边界 - 未读计数与已读状态以服务端为准;本地乐观更新后必须回读,不长期保留本地计数。 - 消息跳转只带业务编号(订单号、入仓码、派送号等),不用内部 ID 作参数或标题。 - 只展示当前企业范围内的消息;模板变量由服务端填充,前端不补默认值。 - 消息列表失败要可重试,不清空已有内容。 ## 验证 - 定向:`pnpm test src/modules/notifications/<目标测试>`;字段变化同时核对 `notification-v1.yaml`。 - 本文件或索引变更后,从后端根运行 `./scripts/agents-index-contract.ps1`。