我的应用程序中有一个名为“提醒”的功能,它只是一个使用 Prisma ORM 的 MySQL 表。这是表架构:
model Tasks {
id Int @id @default(autoincrement())
name String
note String?
frequency String
on String
lastDone DateTime
property Property? @relation(fields: [propertyId], references: [id])
propertyId String?
}
/api/property/tasks
(POST) 的 API 端点,它返回当前任务列表
sessionToken
的 cookie 存储(永不过期)nextDue
和 frequency
值计算出名为 on
的变量。 (这会返回 new Date()
)nextDate
时向用户设备发送通知,即使浏览器选项卡已关闭?谢谢!
编辑:我可以接受最好不使用 OneSignal API 的解决方案。
我知道这已经晚了,但对于未来的任何人,我在这里都有一个有效的例子。它使用 web-push 库以及 next-pwa。
代码: https://github.com/david-randoll/push-notification-nextjs
现场演示: https://push-notification.davidrandoll.com/
一部 iPhone,您需要先 添加到主页 b4 才能正常工作。