# Node.js 接入示例 示例仅依赖 Node.js 18 及以上版本自带的 `fetch` 和 `crypto`,可以复制到业务项目后端使用。 在通知中心仓库内可执行 `npm run test:example` 验证客户端签名和请求格式。 ```js import { YouYiDianNotificationClient } from './notification-client.mjs' const client = new YouYiDianNotificationClient({ baseUrl: process.env.YYD_NOTIFICATION_CENTER_URL, projectCode: process.env.YYD_NOTIFICATION_PROJECT_CODE, projectSecret: process.env.YYD_NOTIFICATION_PROJECT_SECRET, }) const recipientUserId = '16408293139985728' const delivery = await client.send({ idempotencyKey: `asset_disposal:53:${recipientUserId}:v1`, recipientUserId, title: '资产报废待审批', content: [ '**申请时间:** 2026年7月16日 14:30', '', '**资产:** 摄影灯 A-102', '', '**申请人:** 无邪', ].join('\n'), actionTitle: '立即审批', actionUrl: 'https://asset.jiansun.vip/workflows/disposals/53', }) console.log('通知已受理:', delivery.id, delivery.status) const latest = await client.getDelivery(delivery.id) console.log('当前投递状态:', latest.status) ``` 如果业务项目只能提供花名,先由通知中心维护人登记花名映射,然后将发送参数中的 `recipientUserId` 替换为: ```js recipientAlias: '海棠' ``` `recipientUserId` 与 `recipientAlias` 只能传一个;未登记花名会返回 `RECIPIENT_ALIAS_NOT_FOUND`,不会发送通知。 注意: - 这段代码只能运行在后端。 - 不要把三个环境变量使用 `NEXT_PUBLIC_`、`VITE_` 等前端公开前缀。 - 业务调用失败后重试时复用原幂等键,但每次 HTTP 请求会自动生成新的 nonce。 - 多人通知请逐人调用 `send`,并把收件人 `userId` 或已登记花名放入幂等键。