// 与后端GraphQL接口对应的配置类型定义 export interface SiteInfoType { name: string; locale_default: string; locales_supported: string[]; } export interface BrandConfigType { logo_url: string; primary_color: string; dark_mode_default: boolean; } export interface FooterLinkType { name: string; url: string; visible_to_guest: boolean; } export interface SiteConfigType { info: SiteInfoType; brand: BrandConfigType; footer_links: FooterLinkType[]; } export interface BannerNoticeType { enabled: boolean; text: Record; // locale -> text } export interface MaintenanceWindowType { enabled: boolean; start_time?: Date; end_time?: Date; message: Record; // locale -> message } export interface ModalAnnouncementType { id: string; title: Record; // locale -> title content: Record; // locale -> content start_time: Date; end_time: Date; audience: string[]; priority: string; } export interface NoticeMaintenanceType { banner: BannerNoticeType; maintenance_window: MaintenanceWindowType; modal_announcements: ModalAnnouncementType[]; } export interface DocLinkType { name: string; url: string; description: string; } export interface ChatGroupType { name: string; url?: string; qr_code?: string; description: string; } export interface SupportChannelsType { email: string; ticket_system: string; chat_groups: ChatGroupType[]; working_hours: Record; // locale -> hours } export interface DocsSupportType { links: DocLinkType[]; channels: SupportChannelsType; } export interface FeatureSwitchesType { registration_enabled: boolean; invite_code_required: boolean; email_verification: boolean; } export interface LimitsConfigType { max_users: number; max_invite_codes_per_user: number; session_timeout_hours: number; } export interface NotificationConfigType { welcome_email: boolean; system_announcements: boolean; maintenance_alerts: boolean; } export interface OpsConfigType { features: FeatureSwitchesType; limits: LimitsConfigType; notifications: NotificationConfigType; } export interface SiteOpsConfigType { site: SiteConfigType; notice_maintenance: NoticeMaintenanceType; docs_support: DocsSupportType; ops: OpsConfigType; } export interface ConfigValidationResultType { valid: boolean; errors: string[]; warnings: string[]; } // 配置更新相关类型 export interface ConfigUpdateInput { key: string; value: string; // 统一使用字符串类型以符合 GraphQL schema } export interface ConfigUpdateResult { success: boolean; message?: string; }