refactor(annotation): 优化模板默认选择逻辑

- 添加 resolveTemplateTimestamp 函数解析模板时间戳
- 将默认模板选择逻辑从查找内置模板改为选择最新更新的模板
- 使用 reduce 方法实现按时间戳排序的模板选择
- 提高模板选择的准确性和时效性
This commit is contained in:
2026-01-27 00:07:33 +08:00
parent 977a930c97
commit e489a0023a
2 changed files with 26 additions and 2 deletions

View File

@@ -34,8 +34,20 @@ const resolveTemplateDataType = (datasetType?: DatasetType) => {
return undefined;
}
};
const resolveTemplateTimestamp = (template: AnnotationTemplate) => {
const timestamp = template.updatedAt || template.createdAt;
const parsed = Date.parse(timestamp);
return Number.isNaN(parsed) ? 0 : parsed;
};
const resolveDefaultTemplate = (items: AnnotationTemplate[]) =>
items.find((template) => template.builtIn) || items[0];
items.reduce<AnnotationTemplate | undefined>((latest, current) => {
if (!latest) {
return current;
}
return resolveTemplateTimestamp(current) > resolveTemplateTimestamp(latest)
? current
: latest;
}, undefined);
export default function AnnotationTaskCreate() {
const navigate = useNavigate();

View File

@@ -71,8 +71,20 @@ const resolveTemplateDataType = (datasetType?: DatasetType) => {
return undefined;
}
};
const resolveTemplateTimestamp = (template: AnnotationTemplate) => {
const timestamp = template.updatedAt || template.createdAt;
const parsed = Date.parse(timestamp);
return Number.isNaN(parsed) ? 0 : parsed;
};
const resolveDefaultTemplate = (items: AnnotationTemplate[]) =>
items.find((template) => template.builtIn) || items[0];
items.reduce<AnnotationTemplate | undefined>((latest, current) => {
if (!latest) {
return current;
}
return resolveTemplateTimestamp(current) > resolveTemplateTimestamp(latest)
? current
: latest;
}, undefined);
export default function CreateAnnotationTask({
open,