53 lines
1.6 KiB
Markdown
53 lines
1.6 KiB
Markdown
这次新增/补齐的主要是这些字段,都是给前端判断“能不能继续发、当前内容锁不锁、扣了多少积分”用的。
|
|
{
|
|
"canSendMessage": false,
|
|
"cannotSendReason": "insufficient_credits",
|
|
"creditBalance": 0,
|
|
"creditsCharged": 0,
|
|
"requiredCredits": 2,
|
|
"shortfallCredits": 2
|
|
}
|
|
字段含义
|
|
canSendMessage
|
|
用户是否还能继续发普通聊天消息。
|
|
如果是 false,前端应该禁用输入框/发送按钮,提示充值。
|
|
cannotSendReason
|
|
不能继续发送消息的原因。
|
|
目前主要是:
|
|
insufficient_credits
|
|
表示免费聊天次数用完,并且积分也不够继续发消息。
|
|
creditBalance
|
|
本次接口处理后的用户积分余额。
|
|
比如原来 100,发了一条会员普通消息扣 2,这里返回 98。
|
|
creditsCharged
|
|
本次实际扣掉的积分。
|
|
例如:
|
|
普通聊天扣 2
|
|
照片扣 40
|
|
语音消息扣 20
|
|
私密消息扣 10
|
|
没有扣费就是 0
|
|
requiredCredits
|
|
本次动作理论上需要多少积分。
|
|
比如用户想看照片,需要 40,就返回 40。
|
|
如果免费额度内,通常是 0。
|
|
shortfallCredits
|
|
用户还差多少积分。
|
|
比如照片需要 40,用户只有 15,则:
|
|
{
|
|
"requiredCredits": 40,
|
|
"creditBalance": 15,
|
|
"shortfallCredits": 25
|
|
}
|
|
和旧字段的关系
|
|
blocked
|
|
当前这条回复/内容是否被锁住。比如照片、语音、私密消息积分不够时是 true。
|
|
blockReason
|
|
当前内容被锁的原因,比如:
|
|
insufficient_credits
|
|
image_paywall
|
|
voice_message
|
|
private_message
|
|
lockDetail
|
|
给前端展示锁定卡片/充值提示的详细信息。
|
|
里面也会带 requiredCredits/currentCredits/shortfallCredits,方便前端直接渲染弹窗。 |