/** * 系统配置服务 * 负责系统配置的API调用 */ import apiClient from '@/infrastructure/api/client'; import { API_ENDPOINTS } from '@/infrastructure/api/endpoints'; /** 前端展示设置 */ export interface DisplaySettings { /** 是否允许未认种用户查看各省认种热度 */ allowNonAdopterViewHeat: boolean; /** 热度展示方式: 'count' 显示具体数量, 'level' 仅显示热度等级 */ heatDisplayMode: 'count' | 'level'; } /** 更新前端展示设置请求 */ export interface UpdateDisplaySettingsRequest { allowNonAdopterViewHeat?: boolean; heatDisplayMode?: 'count' | 'level'; } /** 系统配置项 */ export interface SystemConfigItem { key: string; value: string; description?: string; updatedAt: string; } /** * 系统配置服务 */ export const systemConfigService = { /** * 获取所有系统配置 */ async getAllConfigs(): Promise { return apiClient.get(API_ENDPOINTS.SYSTEM_CONFIG.ALL); }, /** * 获取前端展示设置 */ async getDisplaySettings(): Promise { return apiClient.get(API_ENDPOINTS.SYSTEM_CONFIG.DISPLAY_SETTINGS); }, /** * 更新前端展示设置 */ async updateDisplaySettings(settings: UpdateDisplaySettingsRequest): Promise { return apiClient.put(API_ENDPOINTS.SYSTEM_CONFIG.DISPLAY_SETTINGS, settings); }, /** * 获取单个配置 */ async getConfigByKey(key: string): Promise { return apiClient.get(API_ENDPOINTS.SYSTEM_CONFIG.BY_KEY(key)); }, /** * 更新单个配置 */ async updateConfigByKey(key: string, value: string, description?: string): Promise { return apiClient.put(API_ENDPOINTS.SYSTEM_CONFIG.BY_KEY(key), { value, description }); }, }; export default systemConfigService;