"""设置相关路由""" from fastapi import APIRouter, Depends from services.settings_service import SettingsService from models.schemas import SettingsSchema from api.deps import get_settings_service from core.log import logger router = APIRouter(prefix="/api/settings", tags=["settings"]) def success_response(message: str, data=None): return {"code": 200, "message": message, "data": data} def error_response(message: str, code: int = 500): return {"code": code, "message": message, "data": None} @router.get("") async def get_settings(service: SettingsService = Depends(get_settings_service)): try: settings = await service.get_settings() return success_response("获取设置成功", settings) except Exception as e: logger.error(f"Get settings failed: {e}") return error_response("获取设置失败") @router.post("") async def save_settings( request: SettingsSchema, service: SettingsService = Depends(get_settings_service), ): try: success = await service.save_settings(request) if not success: return error_response("保存设置失败") return success_response("保存设置成功", request.model_dump()) except Exception as e: logger.error(f"Save settings failed: {e}") return error_response(f"保存设置失败: {str(e)}")