# Change: 按实际接口更新管理端通知中心 ## Why 通知中心已有前端链路,但当前类型和页面仍兼容旧字段,例如 `content`、`read_status`、旧的未读摘要结构和可路由目标结构。后端接口文档已更新为实际可用的管理端 API,需要按真实响应字段和受控目标协议修正通知铃铛、抽屉、通知中心及状态同步逻辑。 ## What Changes - 按实际接口更新通知项字段:`body`、`is_read`、`read_at`、`ref_type`、`ref_id`、`ref_key`。 - 按实际接口更新通知列表筛选参数:使用 `is_read` boolean,支持 `category`、`type`、`severity`、`page`、`page_size`。 - 接入真实未读数响应 `{ count, display_count }`,顶部徽标直接展示后端 `display_count`。 - 接入真实未读分类汇总 `{ approval, expiry, sync, system, total }`,抽屉最近通知通过通知列表接口获取,最多展示10条。 - 全部已读调用 `PUT /api/admin/notifications/read-all`,支持可选 `category` 请求体。 - 受控目标按 `target_type`、`target_id`、`target_key` 建立前端白名单映射,不接受或执行任意 URL/路由字段。 - 通知中心展示正文 `body`、读取状态 `is_read`、首次已读时间 `read_at`,并支持余额、审批、临期、同步/系统分类。 - 本变更只覆盖管理端,明确不接入 C 端 `/api/c/v1/notifications`。 ## Impact - Affected specs: - `notification-center` - Affected code: - `src/types/api/notification.ts` - `src/api/modules/notification.ts` - `src/store/modules/notification.ts` - `src/components/core/layouts/art-header-bar/index.vue` - `src/components/core/layouts/art-notification/index.vue` - `src/views/notifications/index.vue` - `src/utils/business/notificationNavigation.ts` - API contracts: - `GET /api/admin/notifications` - `PUT /api/admin/notifications/{id}/read` - `PUT /api/admin/notifications/read-all` - `GET /api/admin/notifications/unread-count` - `GET /api/admin/notifications/unread-summary` - `GET /api/admin/notifications/{id}/target` - Out of scope: - C 端 `/api/c/v1/notifications` 接口和页面 - 创建、编辑或删除通知 - WebSocket、浏览器推送和新的实时推送机制