Files
cozsweet-frontend-nextjs/docs/backend/send.md
T

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,方便前端直接渲染弹窗。