2026-05-18 09:12:14 +08:00
|
|
|
from typing import Any, Dict, List
|
|
|
|
|
|
2026-05-18 17:05:23 +08:00
|
|
|
from fastapi import APIRouter, Depends, Query
|
2026-05-18 09:12:14 +08:00
|
|
|
|
|
|
|
|
from app.core.response import success_response
|
|
|
|
|
from app.core.security import verify_api_token
|
2026-05-19 09:26:51 +08:00
|
|
|
from app.schemas.platform import AiAlarmSettingIn, ChannelConfigIn, DeviceConfigIn, LineAlarmSettingIn, NetConfigItem, SystemConfigIn, UartConfigItem
|
2026-05-18 09:12:14 +08:00
|
|
|
from app.services.platform_service import platform_service
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
router = APIRouter(prefix="/config", tags=["config"])
|
|
|
|
|
|
|
|
|
|
|
2026-05-18 12:35:27 +08:00
|
|
|
@router.get("/device", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def get_device_config() -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.get_device_config(), msg="获取设备配置成功")
|
|
|
|
|
|
|
|
|
|
|
2026-05-18 09:12:14 +08:00
|
|
|
@router.post("/device", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def save_device_config(payload: DeviceConfigIn) -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.save_device_config(payload))
|
|
|
|
|
|
|
|
|
|
|
2026-05-19 09:26:51 +08:00
|
|
|
@router.get("/device/net", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def get_net_config(nic: str = Query(..., min_length=1)) -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.get_net_config(nic=nic), msg="获取网卡配置成功")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/device/net", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def save_net_config(payload: NetConfigItem) -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.save_net_config(payload), msg="保存网卡配置成功")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get("/device/uart", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def get_uart_config(port: str = Query(..., min_length=1)) -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.get_uart_config(port=port), msg="获取串口配置成功")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/device/uart", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def save_uart_config(payload: UartConfigItem) -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.save_uart_config(payload), msg="保存串口配置成功")
|
|
|
|
|
|
|
|
|
|
|
2026-05-18 12:35:27 +08:00
|
|
|
@router.get("/channel", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def get_channel_config() -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.get_channel_config(), msg="获取通道配置成功")
|
|
|
|
|
|
|
|
|
|
|
2026-05-18 09:12:14 +08:00
|
|
|
@router.post("/channel", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def save_channel_config(payload: ChannelConfigIn) -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.save_channel_config(payload))
|
|
|
|
|
|
|
|
|
|
|
2026-05-18 12:35:27 +08:00
|
|
|
@router.get("/line_alarm_setting", dependencies=[Depends(verify_api_token)])
|
2026-05-18 17:05:23 +08:00
|
|
|
def get_line_alarm_setting(line_no: int = Query(default=1, ge=1)) -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.get_line_alarm_setting(line_no=line_no), msg="获取线路报警设置成功")
|
2026-05-18 12:35:27 +08:00
|
|
|
|
|
|
|
|
|
2026-05-18 09:12:14 +08:00
|
|
|
@router.post("/line_alarm_setting", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def save_line_alarm_setting(payload: LineAlarmSettingIn) -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.save_line_alarm_setting(payload))
|
|
|
|
|
|
|
|
|
|
|
2026-05-18 12:35:27 +08:00
|
|
|
@router.get("/ai_alarm_setting", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def get_ai_alarm_setting() -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.get_ai_alarm_setting(), msg="获取AI报警设置成功")
|
|
|
|
|
|
|
|
|
|
|
2026-05-18 09:12:14 +08:00
|
|
|
@router.post("/ai_alarm_setting", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def save_ai_alarm_setting(payload: List[AiAlarmSettingIn]) -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.save_ai_alarm_setting(payload))
|
|
|
|
|
|
|
|
|
|
|
2026-05-18 12:35:27 +08:00
|
|
|
@router.get("/system", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def get_system_config() -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.get_system_config(), msg="获取系统设置成功")
|
|
|
|
|
|
|
|
|
|
|
2026-05-18 09:12:14 +08:00
|
|
|
@router.post("/system", dependencies=[Depends(verify_api_token)])
|
|
|
|
|
def save_system_config(payload: SystemConfigIn) -> Dict[str, Any]:
|
|
|
|
|
return success_response(platform_service.save_system_config(payload))
|