feat: 实现模板库metadata和跨域字体引用系统
实现了统一的metadata结构和字体作用域系统,支持文档和模板库之间的单向字体引用。 主要变更: - 模板库必须包含metadata字段(包括size、fonts、fonts_default) - 实现文档和模板库的size一致性校验 - 实现字体作用域系统(文档可引用模板库字体,反之不可) - 实现跨域循环引用检测 - 实现fonts_default级联规则(模板库→文档→系统默认) - 添加错误代码常量(SIZE_MISMATCH、FONT_NOT_FOUND等) - 更新文档和开发者指南 测试覆盖: - 新增33个测试(单元测试20个,集成测试13个) - 所有457个测试通过 Breaking Changes: - 模板库文件必须包含metadata字段 - 模板库metadata.size为必填字段 - 文档和模板库的size必须一致 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -75,3 +75,21 @@ class ValidationResult:
|
||||
lines.append(f"检查完成: 发现 {', '.join(summary_parts)}")
|
||||
|
||||
return "\n".join(lines)
|
||||
|
||||
|
||||
# ============= 错误代码常量 =============
|
||||
|
||||
# 模板库 metadata 相关错误
|
||||
ERROR_TEMPLATE_LIBRARY_MISSING_METADATA = "TEMPLATE_LIBRARY_MISSING_METADATA"
|
||||
ERROR_TEMPLATE_LIBRARY_METADATA_MISSING_SIZE = "TEMPLATE_LIBRARY_METADATA_MISSING_SIZE"
|
||||
ERROR_TEMPLATE_LIBRARY_METADATA_INVALID_SIZE = "TEMPLATE_LIBRARY_METADATA_INVALID_SIZE"
|
||||
|
||||
# Size 一致性错误
|
||||
ERROR_SIZE_MISMATCH = "SIZE_MISMATCH"
|
||||
|
||||
# 字体引用相关错误
|
||||
ERROR_TEMPLATE_FONT_REF_DOC_FORBIDDEN = "TEMPLATE_FONT_REF_DOC_FORBIDDEN"
|
||||
ERROR_TEMPLATE_PARENT_REF_DOC_FORBIDDEN = "TEMPLATE_PARENT_REF_DOC_FORBIDDEN"
|
||||
ERROR_FONT_NOT_FOUND = "FONT_NOT_FOUND"
|
||||
ERROR_CIRCULAR_REFERENCE = "CIRCULAR_REFERENCE"
|
||||
ERROR_FONT_DEFAULT_INVALID = "FONT_DEFAULT_INVALID"
|
||||
|
||||
Reference in New Issue
Block a user