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

133 lines
3.2 KiB
TypeScript

// 存储键名常量
export const STORAGE_KEYS = {
ACCESS_TOKEN: "access_token",
REFRESH_TOKEN: "refresh_token",
USER_INFO: "user_info",
DEVICE_ID: "device_id",
LAST_LOGIN: "last_login",
} as const
// API错误码常量
export const ERROR_CODES = {
SUCCESS: 0,
INVALID_PARAMS: 1001,
UNAUTHORIZED: 1002,
FORBIDDEN: 1003,
NOT_FOUND: 1004,
SERVER_ERROR: 1005,
NETWORK_ERROR: 1006,
TIMEOUT: 1007,
INVALID_TOKEN: 1008,
TOKEN_EXPIRED: 1009,
} as const
// API配置
export const API_CONFIG = {
// 基础配置
BASE_URL: process.env.NEXT_PUBLIC_API_BASE_URL || "https://ckbapi.quwanzhi.com",
TIMEOUT: 30000,
RETRY_COUNT: 3,
RETRY_DELAY: 1000,
// 错误码
ERROR_CODES,
// 存储键名
STORAGE_KEYS,
// 错误消息映射
ERROR_MESSAGES: {
[ERROR_CODES.SUCCESS]: "操作成功",
[ERROR_CODES.INVALID_PARAMS]: "参数错误",
[ERROR_CODES.UNAUTHORIZED]: "未授权访问",
[ERROR_CODES.FORBIDDEN]: "禁止访问",
[ERROR_CODES.NOT_FOUND]: "资源不存在",
[ERROR_CODES.SERVER_ERROR]: "服务器内部错误",
[ERROR_CODES.NETWORK_ERROR]: "网络连接失败",
[ERROR_CODES.TIMEOUT]: "请求超时",
[ERROR_CODES.INVALID_TOKEN]: "无效的访问令牌",
[ERROR_CODES.TOKEN_EXPIRED]: "访问令牌已过期",
},
// API端点
ENDPOINTS: {
// 认证相关
AUTH: {
LOGIN: "/api/auth/login",
LOGOUT: "/api/auth/logout",
REFRESH: "/api/auth/refresh",
CAPTCHA: "/api/auth/captcha",
VERIFY: "/api/auth/verify",
},
// 场景获客
SCENARIOS: {
LIST: "/api/scenarios",
CREATE: "/api/scenarios",
UPDATE: "/api/scenarios/:id",
DELETE: "/api/scenarios/:id",
START: "/api/scenarios/:id/start",
PAUSE: "/api/scenarios/:id/pause",
STATS: "/api/scenarios/:id/stats",
},
// 设备管理
DEVICES: {
LIST: "/api/devices",
CREATE: "/api/devices",
UPDATE: "/api/devices/:id",
DELETE: "/api/devices/:id",
STATUS: "/api/devices/:id/status",
},
// 微信账号
WECHAT: {
LIST: "/api/wechat/accounts",
CREATE: "/api/wechat/accounts",
UPDATE: "/api/wechat/accounts/:id",
DELETE: "/api/wechat/accounts/:id",
BIND: "/api/wechat/accounts/:id/bind",
UNBIND: "/api/wechat/accounts/:id/unbind",
},
// 流量池
TRAFFIC: {
LIST: "/api/traffic/pools",
CREATE: "/api/traffic/pools",
UPDATE: "/api/traffic/pools/:id",
DELETE: "/api/traffic/pools/:id",
STATS: "/api/traffic/pools/:id/stats",
},
// 内容库
CONTENT: {
LIST: "/api/content/library",
CREATE: "/api/content/library",
UPDATE: "/api/content/library/:id",
DELETE: "/api/content/library/:id",
UPLOAD: "/api/content/upload",
},
},
} as const
// 请求头配置
export const REQUEST_HEADERS = {
"Content-Type": "application/json",
Accept: "application/json",
"X-Requested-With": "XMLHttpRequest",
} as const
// 响应状态码
export const HTTP_STATUS = {
OK: 200,
CREATED: 201,
NO_CONTENT: 204,
BAD_REQUEST: 400,
UNAUTHORIZED: 401,
FORBIDDEN: 403,
NOT_FOUND: 404,
INTERNAL_SERVER_ERROR: 500,
BAD_GATEWAY: 502,
SERVICE_UNAVAILABLE: 503,
} as const