跳到主要内容

功能、套餐与额度

功能

功能是你希望平台帮助你控制的能力单元,例如:

  • app-access
  • chat-basic
  • image-generate
  • storage

每个功能都有一个稳定的 slug,第三方应用调用 API 时使用的就是这个标识。

功能类型

权限型功能

适合只有“可用/不可用”两种状态的能力,例如:

  • 是否允许使用某个模块
  • 是否允许进入某个页面
  • 是否拥有某个等级权限

额度型功能

适合需要记录剩余额度的能力,例如:

  • 请求次数
  • 生成次数
  • 存储空间
  • 积分

套餐

套餐是一组功能授权或额度的组合。它通常对应你的售卖单元,例如:

  • 免费版
  • 专业版
  • 企业版

一个套餐可以同时包含:

  • 若干权限型功能
  • 若干额度型功能

套餐组与面值

套餐还有两个和续费规则相关的重要字段。文档中统一把 group 称为“套餐组”,把 value 称为“面值”:

  • group:套餐组。相同 group 的套餐会被视为同一条续费链,同一时刻最多只有一个生效套餐。
  • value:面值。用于同组升级时把旧套餐剩余价值折算成新套餐时长。

设计上可以这样理解:

  • 同组:互斥切换、续费、升级、降级排队
  • 跨组:相互独立,可以同时生效
  • 免费套餐:面值为 0
  • 付费套餐:面值大于 0

额度

对额度型功能,你可以在套餐中配置:

  • 总额度
  • 重置周期
  • 消耗优先级

这让同一客户可以同时拥有:

  • 长期权限
  • 周期额度
  • 临时赠送额度

这里的“同时拥有”主要发生在跨组或不同功能来源场景下,不建议依赖同组多个套餐并行叠加来表达业务。

设计建议

  • slug 一旦开始对接就尽量不要变
  • 功能名称面向业务人员,slug 面向程序调用
  • 套餐命名尽量对应真实售卖口径
  • 对需要定期恢复的额度,配置清晰的重置周期