跳到主要内容
返回全部作品
项目类型: 数字商品交付应用
当前阶段: 功能实现

取件处

以邀请码串起即时交付与人工工单:Next.js Server Actions 处理核销,配套管理后台、邮件通知、会话鉴权与接口限流。
  • Next.js
  • Server Actions
  • SQLite
  • JWT
  • Nodemailer

01 / 背景与目标

交易完成后,买家需要拿到对应资源,卖家需要跟进人工开通的服务。取件处用一枚邀请码串起核销、交付与工单:可即时交付的商品直接展示内容,需要人工开通的商品生成工单,卖家在后台回填后,买家用同一枚邀请码查看结果。

02 / 核心实现

邀请码生成与核销

邀请码由 crypto.randomBytes 生成,取自去掉易混字符的 32 字符表;输入时统一大小写与分隔符。已核销的码再次提交会直接跳转结果页,买家可随时回看交付内容。

分级交付与工单

即时交付的商品核销后立即展示资源;需要人工开通的商品生成待开通工单并邮件通知卖家,邮件失败只记录错误、不阻断核销。后台回填 IP、端口等信息时做格式校验。

会话鉴权与限流

后台密码用 timingSafeEqual 比较,会话为 HS256 JWT,存于 httpOnly、SameSite=Lax 的 Cookie;核销接口按 IP 限流(10 分钟 20 次),只有配置反向代理后才信任 X-Forwarded-For。

轻量部署与链路检查

使用 Node 22 内置 SQLite(WAL 模式),无需额外数据库服务,并提供 1Panel 反向代理部署说明。冒烟脚本经 HTTP 直接驱动 Server Action,覆盖三类邀请码核销、无效码、后台登录与工单回填。

03 / 处理流程

  1. 后台生成邀请码
  2. 买家提交并核验
  3. 即时交付 / 生成工单
  4. 邮件通知卖家
  5. 后台回填,买家查看结果

04 / 当前边界

展示业务设计与技术实现;后台、真实邀请码与交付内容不公开。