订阅通知
首先需要订阅通知服务,获取您的唯一用户ID。
🔄 检查通知权限中...
您的用户ID:
请保存此ID,其他应用可以使用此ID向您发送通知。
测试通知
发送一个测试通知到您的浏览器。
测试通知
这是一条测试消息
API 使用指南
其他应用可以通过以下API接口发送通知:
🔗 API 端点
POST https://your-worker.your-subdomain.workers.dev/push
Content-Type: application/json
{
"userId": "您的用户ID",
"title": "通知标题",
"body": "通知内容",
"icon": "/icon.png",
"data": {
"url": "https://example.com",
"customData": "any value"
}
}
📦 批量推送
POST https://your-worker.your-subdomain.workers.dev/push/batch
Content-Type: application/json
{
"userIds": ["user1", "user2", "user3"],
"title": "群发通知",
"body": "这是一条群发消息"
}
🔧 JavaScript 示例
// 发送单个通知
async function sendNotification(userId, title, body) {
const response = await fetch('https://your-worker.your-subdomain.workers.dev/push', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
userId: userId,
title: title,
body: body,
data: {
timestamp: Date.now(),
source: 'my-app'
}
})
});
const result = await response.json();
console.log('通知发送结果:', result);
}
// 使用示例
sendNotification('your-user-id', '新消息', '您有一条新消息');
部署配置
在 Cloudflare Workers 中部署此服务需要以下配置:
📝 环境变量
VAPID_PUBLIC_KEY=你的VAPID公钥
VAPID_PRIVATE_KEY=你的VAPID私钥
💾 KV 命名空间
变量名: NOTIFICATIONS_KV
KV 命名空间: 用于存储用户订阅信息
🔑 生成 VAPID 密钥
npm install -g web-push
web-push generate-vapid-keys