fix(任务): 修复快速创建导致的重复ID
This commit is contained in:
@@ -3,6 +3,7 @@ import { create } from 'zustand';
|
||||
import type { DevTask, DevTaskStatus } from '@/lib/dev-task';
|
||||
import { generateTaskNo, isLegacyTask } from '@/lib/dev-task';
|
||||
import { applyDevTaskTransition, normalizeDevTaskOnCreate } from '@/lib/dev-task-workflow';
|
||||
import { createEntityId, dedupeEntityIds } from '@/lib/entity-id';
|
||||
import { loadServerData, saveServerData } from '@/lib/server-data';
|
||||
|
||||
function saveStored(items: DevTask[]) {
|
||||
@@ -16,7 +17,9 @@ async function loadStored(): Promise<DevTask[] | null> {
|
||||
if (Array.isArray(parsed) && parsed.some(isLegacyTask)) {
|
||||
return null;
|
||||
}
|
||||
return parsed;
|
||||
const result = dedupeEntityIds(parsed, 'task');
|
||||
if (result.changed) saveStored(result.items);
|
||||
return result.items;
|
||||
}
|
||||
} catch {}
|
||||
return null;
|
||||
@@ -48,7 +51,7 @@ export const useDevTaskStore = create<DevTaskState>((set, get) => ({
|
||||
const now = new Date().toISOString();
|
||||
const task: DevTask = normalizeDevTaskOnCreate({
|
||||
...data,
|
||||
id: `task-${Date.now()}`,
|
||||
id: createEntityId('task'),
|
||||
taskNo: generateTaskNo(list),
|
||||
isBlocked: false,
|
||||
createdAt: now,
|
||||
|
||||
Reference in New Issue
Block a user