feat:新增代码注释

This commit is contained in:
2026-09-29 19:52:52 +08:00
parent ff8adba01b
commit af84485e8d
11 changed files with 224 additions and 7 deletions
+5
View File
@@ -9,12 +9,17 @@ from app.schemas.screen import Canvas, Screen
class UpdateCanvasHandler(BaseActionHandler[UpdateCanvasAction]):
def apply(self, screen: Screen, action: UpdateCanvasAction) -> Screen:
# 将现有画布转成字典,保留动作没有指定的字段
properties = screen.canvas.model_dump()
# 顶层字段整体替换,嵌套对象不做深度合并
properties.update(deepcopy(action.properties))
# 校验合并后的画布属性,尺寸等字段不合法时直接抛出异常
canvas = Canvas.model_validate(properties)
# 深拷贝大屏后替换画布,避免修改原始快照
result = screen.model_copy(deep=True)
result.canvas = canvas
# 返回包含新画布属性的完整大屏副本
return result