fix: file lock

This commit is contained in:
tao.chen
2026-08-11 21:26:55 +08:00
parent d4013a07a9
commit dd6f176ca8
13 changed files with 345 additions and 97 deletions
@@ -86,6 +86,7 @@ type State = {
createFolder: (name: string, parentPath: string) => Promise<void>;
deleteScript: (script: ScriptItem) => Promise<void>;
deleteDirectory: (path: string) => Promise<void>;
toggleScriptLock: (script: ScriptItem) => Promise<void>;
openPublishDialog: (script: ScriptItem) => void;
submitPublish: (releaseNote: string, visibility: Visibility) => Promise<void>;
@@ -631,6 +632,28 @@ export const useScriptWorkspaceStore = create<State>((set, get) => {
}
},
toggleScriptLock: async (script) => {
const api = requireApi();
useUiStore.getState().closeContextMenu();
try {
const updated = await api.setScriptLock(script.script_id, !script.is_locked);
set((state) => ({
scripts: state.scripts.map((s) =>
s.script_id === updated.script_id ? updated : s,
),
}));
pushToast(
"success",
`${updated.script_name}${updated.is_locked ? "锁定" : "解锁"}`,
);
} catch (error) {
pushToast(
"error",
error instanceof Error ? error.message : "锁定状态更新失败",
);
}
},
openPublishDialog: (script) => {
useUiStore.getState().openPublishDialog(script);
},