首页 教程 官方文档 关于 打开老人端 进入家属端
官方文档

接口与部署说明

接口基址 https://api.y.sakurumii.top

概览

前端是 PWA,后端是 Worker,接口统一返回 { ok, data } 或 { ok, error }。

前端

React + Vite,构建为 PWA。

后端

Workers + Hono,数据存 D1。

定时

Cron 每 5 分钟巡检。

快速开始

后端先建表,再启动。

# 后端
cd worker
npm install
npx wrangler d1 execute wenyabao-db --file=./schema.sql
npx wrangler dev

# 前端
cd frontend
npm install
npm run dev

接口总览

除注册登录外,接口需带 Authorization: Bearer <token>;老人端用设备码识别身份。

账号 · /auth

POST/auth/send-code发送邮箱验证码
POST/auth/register验证码注册
POST/auth/login邮箱密码登录

老人 · /elders

POST/elders/bind老人端绑定设备码
GET/elders家属名下老人列表
GET/elders/me老人端读取本人信息
GET/elders/:id老人详情
GET/elders/:id/today今日用药概览
DELETE/elders/:id/bind解除绑定

用药 · /medications

GET/medications/reference用药参考清单
POST/medications新增用药
GET/medications用药列表
PUT/medications/:id修改用药
DELETE/medications/:id删除用药

提醒 · /reminders

POST/reminders/ack确认已服药
GET/reminders/pending待确认提醒
GET/reminders/history服药历史记录

消息 · /messages

POST/messages发送留言
GET/messages留言列表

告警 · /alerts

POST/alerts触发告警(含紧急求助)
GET/alerts告警列表
POST/alerts/:id/ack标记告警已处理

推送 · /push

POST/push/subscribe注册 Web Push 订阅
POST/push/test发送测试推送

后台 · /admin

POST/admin/login管理员登录
GET/admin/stats仪表盘统计
GET/admin/users用户列表
POST/admin/users/:id/status启用 / 禁用用户
DELETE/admin/users/:id删除用户
GET/admin/elders全部老人
GET/admin/push-logs推送日志
GET/admin/cron-logs定时任务日志
GET/admin/audit-logs审计日志

环境变量

密钥用 wrangler secret put 写入,不进代码与文档。

Worker 端:

JWT_SECRET
VAPID_PUBLIC_KEY
VAPID_PRIVATE_KEY
RESEND_API_KEY
PUSHPLUS_TOKEN
ADMIN_PASSWORD

前端(构建时注入):

VITE_API_BASE=https://api.y.sakurumii.top
VITE_VAPID_PUBLIC_KEY=...

部署指南

前端部署为 Pages 项目,后端部署为 Worker。

# 前端
cd frontend
npm run build
npx wrangler pages deploy dist --project-name=wenyabao

# 后端
cd worker
npx wrangler d1 execute wenyabao-db --file=./schema.sql
npx wrangler deploy

域名规划:

PAGESwww.y.sakurumii.top官网 + 应用(/app/)
WORKERapi.y.sakurumii.top接口服务
301y.sakurumii.top跳转到 www

技术架构

请求经 Cloudflare 边缘节点进入 Worker,读写 D1;定时任务由 Cron 触发,推送走 Web Push,失败降级 PushPlus。

  • 前端:React 18 · Vite · TypeScript · Tailwind · PWA
  • 后端:Cloudflare Workers · Hono · D1 · KV
  • 推送:Web Push(VAPID)+ PushPlus 降级
  • 邮件:Resend
  • 安全:bcrypt · JWT · 密钥托管