fix: 调整前端组件样式和修复后端调度器问题

修复操作列按钮宽度计算问题,调整日志详情页标签宽度
优化任务状态选项标签,从"暂停"改为"停用"
移除后端调度器无用导入,添加job_id到日志记录
添加job_id查询参数到任务日志接口
优化前端应用列表页搜索表单和分页样式
修复Pydantic错误消息处理,去除冗余前缀
添加应用模型的前置处理和验证逻辑
This commit is contained in:
zhangtao
2025-10-28 01:35:06 +08:00
parent 780e02b9de
commit 96335b385f
9 changed files with 85 additions and 86 deletions
@@ -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):
"""应用更新模型"""