133 lines
3.2 KiB
TypeScript
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
|