210 lines
3.9 KiB
JavaScript
210 lines
3.9 KiB
JavaScript
// 常量定义
|
|
|
|
// API基础地址
|
|
const API_BASE = 'https://pactgo.cn/api/v1'
|
|
|
|
// WebSocket地址
|
|
const WEBSOCKET_URL = 'wss://pactgo.cn/ws/task'
|
|
|
|
// 任务状态
|
|
const TASK_STATUS = {
|
|
PENDING: 'pending',
|
|
PROCESSING: 'processing',
|
|
COMPLETED: 'completed',
|
|
FAILED: 'failed',
|
|
CANCELLED: 'cancelled'
|
|
}
|
|
|
|
// 任务类型
|
|
const TASK_TYPE = {
|
|
TEXT: 'text',
|
|
IMAGE: 'image',
|
|
FILE: 'file',
|
|
AUDIO: 'audio',
|
|
VIDEO: 'video'
|
|
}
|
|
|
|
// 消息类型
|
|
const MESSAGE_TYPE = {
|
|
TEXT: 'text',
|
|
IMAGE: 'image',
|
|
FILE: 'file',
|
|
SYSTEM: 'system',
|
|
TASK: 'task'
|
|
}
|
|
|
|
// 本地存储键名
|
|
const STORAGE_KEYS = {
|
|
TOKEN: 'token',
|
|
USER_INFO: 'userInfo',
|
|
DEVICE_ID: 'deviceId',
|
|
TASK_HISTORY: 'taskHistory',
|
|
CHAT_HISTORY: 'chatHistory',
|
|
SYSTEM_CONFIG: 'systemConfig'
|
|
}
|
|
|
|
// 网络超时时间(毫秒)
|
|
const NETWORK_TIMEOUT = {
|
|
REQUEST: 10000,
|
|
UPLOAD: 30000,
|
|
DOWNLOAD: 30000,
|
|
WEBSOCKET: 10000
|
|
}
|
|
|
|
// 重试配置
|
|
const RETRY_CONFIG = {
|
|
MAX_RETRIES: 3,
|
|
RETRY_DELAY: 1000,
|
|
BACKOFF_MULTIPLIER: 2
|
|
}
|
|
|
|
// 分页配置
|
|
const PAGINATION = {
|
|
DEFAULT_PAGE_SIZE: 20,
|
|
MAX_PAGE_SIZE: 100,
|
|
PRELOAD_PAGES: 2
|
|
}
|
|
|
|
// 文件上传限制
|
|
const UPLOAD_LIMITS = {
|
|
MAX_FILE_SIZE: 10 * 1024 * 1024, // 10MB
|
|
MAX_IMAGE_SIZE: 5 * 1024 * 1024, // 5MB
|
|
ALLOWED_TYPES: ['image/jpeg', 'image/png', 'image/gif', 'text/plain', 'application/pdf']
|
|
}
|
|
|
|
// WebSocket消息类型
|
|
const WS_MESSAGE_TYPE = {
|
|
AUTH: 'auth',
|
|
PING: 'ping',
|
|
PONG: 'pong',
|
|
MESSAGE: 'message',
|
|
TASK_STATUS: 'task_status',
|
|
SYSTEM: 'system',
|
|
ERROR: 'error'
|
|
}
|
|
|
|
// 系统配置
|
|
const SYSTEM_CONFIG = {
|
|
APP_NAME: '智控未来',
|
|
APP_VERSION: '1.0.0',
|
|
API_VERSION: 'v1',
|
|
SUPPORTED_FEATURES: ['chat', 'task', 'file_upload', 'websocket']
|
|
}
|
|
|
|
// 错误代码
|
|
const ERROR_CODES = {
|
|
NETWORK_ERROR: 1000,
|
|
AUTH_ERROR: 1001,
|
|
API_ERROR: 1002,
|
|
VALIDATION_ERROR: 1003,
|
|
FILE_ERROR: 1004,
|
|
WEBSOCKET_ERROR: 1005,
|
|
TASK_ERROR: 1006
|
|
}
|
|
|
|
// 错误消息
|
|
const ERROR_MESSAGES = {
|
|
[ERROR_CODES.NETWORK_ERROR]: '网络连接失败',
|
|
[ERROR_CODES.AUTH_ERROR]: '认证失败',
|
|
[ERROR_CODES.API_ERROR]: '接口调用失败',
|
|
[ERROR_CODES.VALIDATION_ERROR]: '参数验证失败',
|
|
[ERROR_CODES.FILE_ERROR]: '文件处理失败',
|
|
[ERROR_CODES.WEBSOCKET_ERROR]: 'WebSocket连接失败',
|
|
[ERROR_CODES.TASK_ERROR]: '任务处理失败'
|
|
}
|
|
|
|
// 默认头像
|
|
const DEFAULT_AVATAR = '/assets/images/default-avatar.png'
|
|
|
|
// 默认图标
|
|
const DEFAULT_ICONS = {
|
|
HOME: '/assets/icons/home.png',
|
|
CHAT: '/assets/icons/chat.png',
|
|
TASK: '/assets/icons/task.png',
|
|
USER: '/assets/icons/user.png',
|
|
SEND: '/assets/icons/send.png',
|
|
UPLOAD: '/assets/icons/upload.png',
|
|
SETTINGS: '/assets/icons/settings.png'
|
|
}
|
|
|
|
// 颜色配置
|
|
const COLORS = {
|
|
PRIMARY: '#07c160',
|
|
SECONDARY: '#10aeff',
|
|
SUCCESS: '#07c160',
|
|
WARNING: '#f0ad4e',
|
|
ERROR: '#dd524d',
|
|
INFO: '#10aeff',
|
|
TEXT_PRIMARY: '#333333',
|
|
TEXT_SECONDARY: '#666666',
|
|
TEXT_HINT: '#999999',
|
|
BACKGROUND: '#f5f5f5',
|
|
WHITE: '#ffffff',
|
|
BORDER: '#e0e0e0'
|
|
}
|
|
|
|
// 字体大小
|
|
const FONT_SIZES = {
|
|
SMALL: '24rpx',
|
|
NORMAL: '28rpx',
|
|
LARGE: '32rpx',
|
|
XLARGE: '36rpx',
|
|
TITLE: '40rpx'
|
|
}
|
|
|
|
// 间距配置
|
|
const SPACING = {
|
|
XS: '10rpx',
|
|
SM: '20rpx',
|
|
MD: '30rpx',
|
|
LG: '40rpx',
|
|
XL: '50rpx'
|
|
}
|
|
|
|
// 圆角配置
|
|
const BORDER_RADIUS = {
|
|
SMALL: '5rpx',
|
|
NORMAL: '10rpx',
|
|
LARGE: '20rpx',
|
|
ROUND: '50%'
|
|
}
|
|
|
|
// 阴影配置
|
|
const SHADOWS = {
|
|
SMALL: '0 2rpx 10rpx rgba(0, 0, 0, 0.1)',
|
|
NORMAL: '0 4rpx 20rpx rgba(0, 0, 0, 0.15)',
|
|
LARGE: '0 8rpx 30rpx rgba(0, 0, 0, 0.2)'
|
|
}
|
|
|
|
// 动画配置
|
|
const ANIMATIONS = {
|
|
DURATION_SHORT: 200,
|
|
DURATION_NORMAL: 300,
|
|
DURATION_LONG: 500,
|
|
EASING: 'ease-in-out'
|
|
}
|
|
|
|
module.exports = {
|
|
API_BASE,
|
|
WEBSOCKET_URL,
|
|
TASK_STATUS,
|
|
TASK_TYPE,
|
|
MESSAGE_TYPE,
|
|
STORAGE_KEYS,
|
|
NETWORK_TIMEOUT,
|
|
RETRY_CONFIG,
|
|
PAGINATION,
|
|
UPLOAD_LIMITS,
|
|
WS_MESSAGE_TYPE,
|
|
SYSTEM_CONFIG,
|
|
ERROR_CODES,
|
|
ERROR_MESSAGES,
|
|
DEFAULT_AVATAR,
|
|
DEFAULT_ICONS,
|
|
COLORS,
|
|
FONT_SIZES,
|
|
SPACING,
|
|
BORDER_RADIUS,
|
|
SHADOWS,
|
|
ANIMATIONS
|
|
} |