这是一个部署在 Cloudflare Workers 上的 APNs 推送接口。它支持系统分组、基础 Markdown、 interruptionLevel、跳转 URL、图片 URL、图标 URL 和 sound,适合给一组 NeoServer iPhone 设备发测试通知和告警。
groupKey 映射到 APNs thread-idmarkdown 存入 data.markdown 并生成纯文本摘要interruptionLevel 映射到 APNs interruption levelurl 用于点击跳转imageUrl / iconUrl 仅供 app 内展示sound 支持字符串或对象填写参数后直接调用 /push,系统通知仍是标准 APNs 文本,富内容在 NeoServer app 收件箱中展示。
如果带 markdown,可以不传 body;示例里保留了 URL、分组和富媒体字段。
curl -sS -X POST "https://ns.joyk.com/push" \
-H "content-type: application/json" \
--data '{
"deviceTokens": ["<your-device-token>"],
"title": "NeoServer",
"groupKey": "server-prod-1",
"markdown": "## CPU Alert\nUsage is **95%**",
"interruptionLevel": "time-sensitive",
"url": "https://example.com/alert/123",
"imageUrl": "https://example.com/image.png",
"iconUrl": "https://example.com/icon.png",
"sound": "default",
"badge": 1
}'
提交后这里会显示 Worker 返回结果。
{
"ok": true
}