upushServer 是 upush 项目的独立后端服务仓库,负责推送、云函数转发、数据库连接、邮箱验证码、账户安全相关后端流程等能力。
- 消息推送接口
/pushMessage - 云函数转发接口
/cloudfunction - 健康检查接口
/health - 邮箱验证码发送与校验
- 旧邮箱验证 / 修改邮箱 / 修改密码 / 注销账户
- MongoDB 数据访问
- 个推(GeTui / UniPush)消息推送
- Node.js
- Express
- MongoDB
- Resend
- GeTui / UniPush
upushServer/
├─ app.js
├─ package.json
├─ package-lock.json
├─ .env.example
├─ .gitignore
├─ cloudfunctions/
├─ db/
├─ docs/
├─ routes/
├─ unipush/
├─ utils/
└─ websocket/
- Node.js 18+
- MongoDB 可访问
- 可用的个推配置
- 可用的邮件发送配置(Resend)
npm install
cp .env.example .env
npm startWindows PowerShell:
Copy-Item .env.example .env
npm install
npm start默认监听地址:
http://127.0.0.1:3000
支持通过环境变量覆盖:
PORT=3000
请复制 .env.example 为 .env 后填写真实值。
GETUI_APPKEYGETUI_MASTERSECRETGETUI_SERVER_URL
DB_HOSTDB_PORTDB_USERDB_PASSWORDDB_NAME
RESEND_API_KEYRESEND_FROM_EMAIL
EMAIL_CODE_EXPIRE_MINUTESEMAIL_CODE_SEND_COOLDOWN_SECONDSEMAIL_CODE_SEND_WINDOW_MINUTESEMAIL_CODE_SEND_MAX_PER_WINDOW
PORT:服务端口,默认3000NODE_ENV:运行环境,默认development
返回服务状态、数据库连接情况、运行环境、运行时长等。
发送推送消息。
通过查询参数提交推送消息。
按目标 ID 提交推送消息。
详细用法见:docs/push-message-api.md
按 functionName 调用后端云函数。
其中消息列表云函数 getPushMessage 的详细说明见:docs/get-push-message-api.md
查看日志文件并按日期、级别、关键词做基础筛选。
详细用法见:docs/logs-api.md
当前仓库已经完成基础独立化整理:
- 已补
.gitignore - 已保留
.env.example - 已首提并推送到独立 GitHub 仓库
- 服务端口支持
PORT - 云函数目录按项目根路径解析,独立运行更稳定
- 运行时缓存默认不会进入版本控制
- 不要提交真实
.env - 不要提交数据库账号、邮件密钥、推送密钥
- 不要提交运行时 token 缓存
- 若历史上暴露过密钥,请尽快轮换
- 生产环境建议补鉴权、日志、限流与 HTTPS
当前仓库下一步优先考虑:
- 请求日志 / 异常日志 / 审计日志
/pushMessage鉴权加强- 推送链路错误回传与可观测性
- 更完整的部署说明
- 后端配置与环境区分
详见:ROADMAP.md