52 lines
2.8 KiB
JavaScript
52 lines
2.8 KiB
JavaScript
const BASE = "/api/yeban-wm";
|
|
|
|
async function post(path, body = {}) {
|
|
const res = await fetch(`${BASE}${path}`, {
|
|
method: "POST",
|
|
headers: { "Content-Type": "application/json" },
|
|
body: JSON.stringify(body),
|
|
});
|
|
return res.json();
|
|
}
|
|
|
|
export const API = {
|
|
// workflows - 自动保存(无弹框)
|
|
list: () => post("/list"),
|
|
save: (workflow_name, workflow_data, group_id, options = {}) =>
|
|
post("/save", { workflow_name, workflow_data, group_id, ...options }),
|
|
|
|
// 手动保存(无弹框)- 直接使用标签栏名称
|
|
saveQuick: (workflow_name, workflow_data, group_id) =>
|
|
post("/save", { workflow_name, workflow_data, group_id, auto_save: false }),
|
|
|
|
// 另存为(有弹框)
|
|
saveAs: (workflow_name, workflow_data, group_id) =>
|
|
post("/save", { workflow_name, workflow_data, group_id, auto_save: false }),
|
|
|
|
load: (workflow_id) => post("/load", { workflow_id }),
|
|
delete: (workflow_id) => post("/delete", { workflow_id }),
|
|
rename: (workflow_id, new_name) => post("/rename", { workflow_id, new_name }),
|
|
move: (workflow_id, target_group_id) => post("/move", { workflow_id, target_group_id }),
|
|
copy: (workflow_id, target_group_id, new_name) => post("/copy", { workflow_id, target_group_id, new_name }),
|
|
backup: (workflow_id) => post("/backup", { workflow_id }),
|
|
import: (import_path, workflow_name, group_id) => post("/import", { import_path, workflow_name, group_id }),
|
|
toggleStar: (workflow_id) => post("/toggle-star", { workflow_id }),
|
|
updateTags: (workflow_id, tags) => post("/update-tags", { workflow_id, tags }),
|
|
search: (query) => post("/search", { query }),
|
|
settings: () => post("/settings"),
|
|
updateSettings: (settings) => post("/settings/update", settings),
|
|
|
|
// thumbnail
|
|
saveThumbnail: (workflow_id, data_url) => post("/save-thumbnail", { workflow_id, data_url }),
|
|
thumbnailUrl: (workflow_id) => `${BASE}/thumbnail/${workflow_id}`,
|
|
|
|
// groups
|
|
createGroup: (name, parent_group_id) => post("/create-group", { name, parent_group_id }),
|
|
deleteGroup: (group_id) => post("/delete-group", { group_id }),
|
|
renameGroup: (group_id, new_name) => post("/rename-group", { group_id, new_name }),
|
|
|
|
// versions
|
|
listVersions: (workflow_id) => post("/versions/list", { workflow_id }),
|
|
restoreVersion: (workflow_id, version_filename) => post("/versions/restore", { workflow_id, version_filename }),
|
|
};
|