package constant const ( // ConfigPath 配置文件路径 ConfigPath = "configs/config.ini" // DataDir 数据目录 DataDir = "./data" // DefaultDBPath 默认数据库路径 DefaultDBPath = "./data/baihu.db" // WebDistDir 前端构建目录 WebDistDir = "./web/dist" // DefaultRole 默认用户角色 DefaultRole = "user" // AdminRole 管理员角色 AdminRole = "admin" // ScriptsWorkDir 脚本工作目录 ScriptsWorkDir = "./data/scripts" // CookieName Cookie 名称 CookieName = "BHToken" // DefaultTaskTimeout 默认任务超时时间(分钟) DefaultTaskTimeout = 30 // Settings Section 常量 SectionSite = "site" SectionSystem = "system" SectionScheduler = "scheduler" // Site Settings Key 常量 KeyTitle = "title" KeySubtitle = "subtitle" KeyIcon = "icon" KeyPageSize = "page_size" KeyCookieDays = "cookie_days" // System Settings Key 常量 KeyInitialized = "initialized" // Scheduler Settings Key 常量 KeyWorkerCount = "worker_count" KeyQueueSize = "queue_size" KeyRateInterval = "rate_interval" // WebSocket 消息类型 WSTypeHeartbeat = "heartbeat" WSTypeHeartbeatAck = "heartbeat_ack" WSTypeTasks = "tasks" WSTypeTaskResult = "task_result" WSTypeTaskLog = "task_log" WSTypeExecute = "execute" WSTypeUpdate = "update" WSTypeDisconnect = "disconnect" WSTypeConnected = "connected" WSTypeDisabled = "disabled" WSTypeEnabled = "enabled" WSTypeFetchTasks = "fetch_tasks" WSTypeTaskHeartbeat = "task_heartbeat" WSTypeStop = "stop" // 任务状态 TaskStatusSuccess = "success" TaskStatusFailed = "failed" TaskStatusRunning = "running" TaskStatusPending = "pending" TaskStatusTimeout = "timeout" TaskStatusCancelled = "cancelled" TaskStatusQueued = "queued" // 任务类型 TaskTypeNormal = "task" TaskTypeRepo = "repo" // Agent 状态 AgentStatusOnline = "online" AgentStatusOffline = "offline" ) // TablePrefix 表前缀,从配置文件读取 var TablePrefix string // Secret JWT和密码salt密钥,从配置文件读取 var Secret string // DemoMode 演示模式,从环境变量读取 var DemoMode bool // DefaultIcon 默认站点图标 var DefaultIcon = `` // DefaultSettings 默认系统设置 var DefaultSettings = map[string]map[string]string{ SectionSite: { KeyTitle: "白虎面板", KeySubtitle: "轻量级定时任务管理系统", KeyIcon: DefaultIcon, KeyPageSize: "10", KeyCookieDays: "7", }, SectionScheduler: { KeyWorkerCount: "4", KeyQueueSize: "100", KeyRateInterval: "200", }, }