Skip to content

兑换码(Redemption) ​

这是什么 ​

Redemption 是批量发放的兑换码。管理员生成后,用户在「兑换码中心」输入兑换码即可获得额度或激活套餐。

在哪里看到 ​

  • 后台 → 兑换码管理:列表、批量导出 CSV / TXT
  • 前台 → 兑换码:用户输入兑换码
  • 后台 → 用户管理 → 详情:用户已兑换过的记录

你需要为「兑换码功能」设置什么 ​

项在哪里设置后影响
type兑换码管理 → 新增「额度」直接加 User.quota;「套餐」创建 Subscription
quota兑换码管理 → 新增兑换后写入额度
plan_id兑换码管理 → 新增仅「套餐」类型需要;兑换后激活
expired_time兑换码管理 → 新增过期后该码不可再兑换
max_redemptions兑换码管理 → 新增默认 1

关键字段(每张码) ​

字段含义设置后影响
key兑换码字符串用户输入的凭证;改了就发不出去了
type类型额度 / 套餐;决定兑换后的入账动作
quota额度值兑换后写入额度(仅「额度」类型)
plan_id关联套餐兑换后激活的套餐(仅「套餐」类型)
max_redemptions总次数默认 1;大于 1 时支持「一码多兑」
redeemed_count已兑次数自动递增;满后失效
expired_time过期时间Unix 秒 / 0 = 永不过期
status状态未使用 / 已用完 / 已过期;决定是否还能兑换

兑换后的入账 ​

  • 额度类型:User.quota += 兑换额度,无需审批
  • 套餐类型:创建一条 Subscription,状态为「生效中」,到期时间 = 现在 + Plan 的 duration_days

兑换码格式 ​

默认生成 24 位随机字符串。批量发放建议使用 CSV 导出,后台也支持 TXT 一码一行。

相关页面 ​

相关 API ​

  • POST /api/redemption/ — 创建兑换码
  • GET /api/redemption/ — 列表
  • POST /api/redemption/redeem — 用户兑换(前台)
  • DELETE /api/redemption/:id — 删除