Files
cunkebao_v3/Cunkebao/lib/api/traffic.ts
笔记本里的永平 5ff15472f5 feat: 本次提交更新内容如下
场景获客列表搞定
2025-07-07 17:08:27 +08:00

132 lines
3.5 KiB
TypeScript

// 流量池管理API模块
import { apiClient } from "./client"
// 流量池数据类型定义
export interface TrafficPool {
id: string
name: string
description: string
userCount: number
activeUsers: number
tags: string[]
source: string
createTime: string
lastUpdateTime: string
status: "active" | "inactive"
dailyGrowth: number
conversionRate: number
}
export interface TrafficStats {
total: number
active: number
inactive: number
totalUsers: number
todayAdded: number
averageConversion: number
}
export interface CreateTrafficPoolRequest {
name: string
description: string
source: string
tags?: string[]
}
// 获取流量池列表
export async function getTrafficPools(): Promise<TrafficPool[]> {
try {
const response = await apiClient.get("/v1/traffic/pools")
return response.data || []
} catch (error) {
console.error("获取流量池列表失败:", error)
// 返回模拟数据作为降级处理
return [
{
id: "1",
name: "高价值客户池",
description: "高消费能力的潜在客户群体",
userCount: 1250,
activeUsers: 890,
tags: ["高价值", "活跃"],
source: "线上推广",
createTime: "2024-01-01 10:00:00",
lastUpdateTime: "2024-01-07 14:30:00",
status: "active",
dailyGrowth: 25,
conversionRate: 12.5,
},
{
id: "2",
name: "新用户引导池",
description: "新注册用户的培育池",
userCount: 2340,
activeUsers: 1560,
tags: ["新用户", "培育"],
source: "注册引导",
createTime: "2024-01-02 11:00:00",
lastUpdateTime: "2024-01-07 13:45:00",
status: "active",
dailyGrowth: 45,
conversionRate: 8.3,
},
{
id: "3",
name: "沉睡用户唤醒池",
description: "长期未活跃用户的唤醒池",
userCount: 890,
activeUsers: 234,
tags: ["沉睡", "唤醒"],
source: "历史数据",
createTime: "2024-01-03 09:30:00",
lastUpdateTime: "2024-01-07 10:20:00",
status: "active",
dailyGrowth: 8,
conversionRate: 5.2,
},
]
}
}
// 获取流量池统计
export async function getTrafficStats(): Promise<TrafficStats> {
try {
const response = await apiClient.get("/v1/traffic/stats")
return response.data || { total: 0, active: 0, inactive: 0, totalUsers: 0, todayAdded: 0, averageConversion: 0 }
} catch (error) {
console.error("获取流量池统计失败:", error)
return {
total: 8,
active: 6,
inactive: 2,
totalUsers: 15420,
todayAdded: 156,
averageConversion: 8.7,
}
}
}
// 创建流量池
export async function createTrafficPool(
pool: CreateTrafficPoolRequest,
): Promise<{ success: boolean; message?: string }> {
try {
const response = await apiClient.post("/v1/traffic/pools", pool)
return { success: true, message: "流量池创建成功" }
} catch (error) {
console.error("创建流量池失败:", error)
return { success: false, message: "创建流量池失败" }
}
}
// 删除流量池
export async function deleteTrafficPool(poolId: string): Promise<{ success: boolean; message?: string }> {
try {
const response = await apiClient.delete(`/v1/traffic/pools/${poolId}`)
return { success: true, message: "流量池删除成功" }
} catch (error) {
console.error("删除流量池失败:", error)
return { success: false, message: "删除流量池失败" }
}
}