config.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package console_setting
  2. import "one-api/setting/config"
  3. type ConsoleSetting struct {
  4. ApiInfo string `json:"api_info"` // 控制台 API 信息 (JSON 数组字符串)
  5. UptimeKumaUrl string `json:"uptime_kuma_url"` // Uptime Kuma 服务地址(如 https://status.example.com )
  6. UptimeKumaSlug string `json:"uptime_kuma_slug"` // Uptime Kuma Status Page Slug
  7. Announcements string `json:"announcements"` // 系统公告 (JSON 数组字符串)
  8. FAQ string `json:"faq"` // 常见问题 (JSON 数组字符串)
  9. ApiInfoEnabled bool `json:"api_info_enabled"` // 是否启用 API 信息面板
  10. UptimeKumaEnabled bool `json:"uptime_kuma_enabled"` // 是否启用 Uptime Kuma 面板
  11. AnnouncementsEnabled bool `json:"announcements_enabled"` // 是否启用系统公告面板
  12. FAQEnabled bool `json:"faq_enabled"` // 是否启用常见问答面板
  13. }
  14. // 默认配置
  15. var defaultConsoleSetting = ConsoleSetting{
  16. ApiInfo: "",
  17. UptimeKumaUrl: "",
  18. UptimeKumaSlug: "",
  19. Announcements: "",
  20. FAQ: "",
  21. ApiInfoEnabled: true,
  22. UptimeKumaEnabled: true,
  23. AnnouncementsEnabled: true,
  24. FAQEnabled: true,
  25. }
  26. // 全局实例
  27. var consoleSetting = defaultConsoleSetting
  28. func init() {
  29. // 注册到全局配置管理器,键名为 console_setting
  30. config.GlobalConfig.Register("console_setting", &consoleSetting)
  31. }
  32. // GetConsoleSetting 获取 ConsoleSetting 配置实例
  33. func GetConsoleSetting() *ConsoleSetting {
  34. return &consoleSetting
  35. }