feat(data): add paywall payment APIs

This commit is contained in:
2026-06-18 12:53:06 +08:00
parent 567d3f9184
commit 35c30ac31e
38 changed files with 840 additions and 10 deletions
@@ -4,6 +4,12 @@
*/
import { z } from "zod";
export const ChatBlockDetailSchema = z.object({
type: z.string(),
usedToday: z.number(),
limit: z.number(),
});
export const ChatSendResponseSchema = z.object({
mode: z.string().default(""),
reply: z.string(),
@@ -17,7 +23,15 @@ export const ChatSendResponseSchema = z.object({
isGuest: z.boolean().default(false),
// 函数式 default —— 每次 parse 时重新调 Date.now()(后端不返回 timestamp 时用当下时间)
timestamp: z.number().default(() => Date.now()),
blocked: z.boolean().nullable().default(null),
blockReason: z.string().nullable().default(null),
blockDetail: ChatBlockDetailSchema.nullable().default(null),
paywallTriggered: z.boolean(),
showUpgrade: z.boolean(),
imageType: z.string().nullable().default(null),
imageUrl: z.string().nullable().default(null),
});
export type ChatSendResponseInput = z.input<typeof ChatSendResponseSchema>;
export type ChatSendResponseData = z.output<typeof ChatSendResponseSchema>;
export type ChatBlockDetailData = z.output<typeof ChatBlockDetailSchema>;