Optimize user detail page for asset assessment and tag info. #VERCEL_SKIP Co-authored-by: null <4804959+fnvtk@users.noreply.github.com>
72 lines
1.3 KiB
TypeScript
72 lines
1.3 KiB
TypeScript
export type ScenarioStatus = "draft" | "running" | "paused" | "completed" | "active" | "archived"
|
|
export type Channel = "phone" | "wechat" | "douyin" | "xiaohongshu" | "api"
|
|
|
|
export interface ScenarioBase {
|
|
id: string
|
|
name: string
|
|
type: string
|
|
status: ScenarioStatus
|
|
creator: string
|
|
createdAt: string
|
|
updatedAt: string
|
|
description?: string
|
|
}
|
|
|
|
export interface Scenario {
|
|
id: string
|
|
name: string
|
|
channel: Channel
|
|
createdAt: string
|
|
status: ScenarioStatus
|
|
config?: Record<string, unknown>
|
|
}
|
|
|
|
export interface CreateScenarioParams {
|
|
name: string
|
|
type: string
|
|
channel: Channel
|
|
description?: string
|
|
}
|
|
|
|
export interface UpdateScenarioParams extends Partial<CreateScenarioParams> {
|
|
id: string
|
|
}
|
|
|
|
export interface QueryScenarioParams {
|
|
type?: string
|
|
status?: ScenarioStatus
|
|
keyword?: string
|
|
dateRange?: { start: string; end: string }
|
|
page?: number
|
|
pageSize?: number
|
|
}
|
|
|
|
export interface ScenarioStats {
|
|
id: string
|
|
impressions: number
|
|
clicks: number
|
|
conversions: number
|
|
}
|
|
|
|
export interface AcquisitionRecord {
|
|
id: string
|
|
scenarioId: string
|
|
userId: string
|
|
time: string
|
|
channel: Channel
|
|
}
|
|
|
|
export interface PaginatedResponse<T> {
|
|
items: T[]
|
|
total: number
|
|
page: number
|
|
pageSize: number
|
|
totalPages: number
|
|
}
|
|
|
|
export interface ApiResponse<T> {
|
|
code: number
|
|
message: string
|
|
data: T | null
|
|
}
|