mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-20 20:39:55 +00:00
fix: 调整前端组件样式和修复后端调度器问题
修复操作列按钮宽度计算问题,调整日志详情页标签宽度 优化任务状态选项标签,从"暂停"改为"停用" 移除后端调度器无用导入,添加job_id到日志记录 添加job_id查询参数到任务日志接口 优化前端应用列表页搜索表单和分页样式 修复Pydantic错误消息处理,去除冗余前缀 添加应用模型的前置处理和验证逻辑
This commit is contained in:
@@ -35,11 +35,14 @@ class JobLogQueryParam:
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
job_id: Optional[int] = Query(None, description="定时任务ID"),
|
||||
job_name: Optional[str] = Query(None, description="任务名称"),
|
||||
status: Optional[bool] = Query(None, description="状态: 正常,失败"),
|
||||
start_time: Optional[DateTimeStr] = Query(None, description="开始时间", example="2025-01-01 00:00:00"),
|
||||
end_time: Optional[DateTimeStr] = Query(None, description="结束时间", example="2025-12-31 23:59:59"),
|
||||
) -> None:
|
||||
# 定时任务ID查询
|
||||
self.job_id = job_id
|
||||
# 模糊查询字段
|
||||
self.job_name = ("like", job_name)
|
||||
# 精确查询字段
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator
|
||||
|
||||
from app.core.base_schema import BaseSchema
|
||||
|
||||
@@ -14,6 +14,28 @@ class ApplicationCreateSchema(BaseModel):
|
||||
status: bool = Field(True, description="是否启用(True:启用 False:禁用)")
|
||||
description: Optional[str] = Field(default=None, max_length=255, description="描述")
|
||||
|
||||
@model_validator(mode="before")
|
||||
@classmethod
|
||||
def _normalize(cls, data):
|
||||
"""模型级前置处理:去除首尾空格,空字符串转为 None(可选字段)。"""
|
||||
if isinstance(data, dict):
|
||||
for key in ("name", "access_url", "icon_url", "description"):
|
||||
val = data.get(key)
|
||||
if isinstance(val, str):
|
||||
val = val.strip()
|
||||
# 将可选字段的空字符串转换为 None
|
||||
if key in ("icon_url", "description") and val == "":
|
||||
val = None
|
||||
data[key] = val
|
||||
return data
|
||||
|
||||
@field_validator('name')
|
||||
@classmethod
|
||||
def _validate_name_length(cls, v: str) -> str:
|
||||
if len(v) > 64:
|
||||
raise ValueError('应用名称长度不能超过64字符')
|
||||
return v
|
||||
|
||||
|
||||
class ApplicationUpdateSchema(ApplicationCreateSchema):
|
||||
"""应用更新模型"""
|
||||
|
||||
Reference in New Issue
Block a user