Files
v6ole 5aadbc78c6 feat: v0.9.0 新增记录日志、设备更换记录及IMC服务集成
- 新增 RecordsLog.vue 操作记录日志页面
- 新增 ReplacementRecords.vue 设备更换记录页面
- 新增 imc_service.py IMC网管系统集成服务
- 新增 datetime.js 前端日期时间工具函数
- 新增 OLT时间同步.md 文档
- 扩展 devices.py API:设备更换记录、批量操作等
- 扩展 ssh_service.py:OLT时间同步功能
- 扩展 olt.py:新增时间同步相关接口
- 更新 DeviceList.vue:增强设备列表功能
- 更新路由和导航菜单
- 将 .claude/ 和 .mcp.json 加入 .gitignore

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 10:36:06 +08:00

52 lines
1.3 KiB
Python

"""设备相关 Schema"""
from pydantic import BaseModel
from typing import Optional
from datetime import datetime
class ONUDeviceBase(BaseModel):
mac_address: str
olt_id: Optional[int] = None
region: Optional[str] = None
school_name: Optional[str] = None
building: Optional[str] = None
place_type: Optional[str] = None # 场所类型
room_number: Optional[str] = None
notes: Optional[str] = None # 备注
class ONUDeviceResponse(ONUDeviceBase):
id: int
status: Optional[str] = None
distance_m: Optional[int] = None
slot_number: Optional[int] = None
port_number: Optional[int] = None
port_id: Optional[str] = None # 完整端口标识,如 "1/0/2:4"
model: Optional[str] = None
olt_location: Optional[str] = None # OLT 安装位置
created_at: datetime
class Config:
from_attributes = True
class DeviceListResponse(BaseModel):
total: int
items: list[ONUDeviceResponse]
class RebootResponse(BaseModel):
success: bool
message: str
class OpticalPowerResponse(BaseModel):
power_in: Optional[str] = None
power_out: Optional[str] = None
bind_mac: Optional[str] = None
dev_id: Optional[int] = None
epon_dev_name: Optional[str] = None
olt_if_name: Optional[str] = None
onu_if_desc: Optional[str] = None