{
if (typeof data === "undefined") {
setWorkflow(undefined);
}
}}
onData={(data) => {
console.debug("workflow", data);
setWorkflow(data);
}}
/>
),
},
{
title: "参数设置",
content: (
{
console.info("TaskBuilderProp prop value", data);
setProp(data);
const channels = new Map();
data?.forEach((value) => {
value.param?.forEach((param) => {
if (param.type.includes("channel")) {
channels.set(param.value, 1);
}
});
});
//获取channel token
let payload: IPayload[] = [];
if (chapter) {
channels.forEach((_value, key) => {
const [channelId, power] = key.split("@");
payload = payload.concat(
chapter.map((item) => {
return {
res_id: channelId,
res_type: "channel",
book: item.book,
para_start: item.paragraph,
para_end: item.paragraph + item.chapter_len,
power: power as TPower,
};
})
);
});
const url = "/v2/access-token";
const values = { payload: payload };
console.info("api request", url, values);
post(url, values).then(
(json) => {
console.info("api response token", json);
setTokens(json.data.rows);
}
);
}
}}
/>
),
},
{
title: "生成任务",
content: (
title
{title}
新增任务组
{chapter?.length}
每个任务组任务数量
{workflow?.length}
{messages?.map((item, id) => {
return
{item}
;
})}
),
},
{
title: "完成",
content: projects ? (
) : (
<>>
),
},
];
const next = () => {
setCurrent(current + 1);
};
const prev = () => {
setCurrent(current - 1);
};
const items = steps.map((item) => ({ key: item.title, title: item.title }));
const [api, contextHolder] = notification.useNotification();
const openNotification = (
type: NotificationType,
title: string,
description?: string
) => {
api[type]({
message: title,
description: description,
});
};
//生成任务组
const projectGroup = async () => {
if (!studioName || !chapter) {
console.error("缺少参数", studioName, chapter);
return;
}
const url = "/v2/project-tree";
const values: IProjectTreeInsertRequest = {
studio_name: studioName,
data: chapter.map((item, id) => {
return {
id: item.paragraph.toString(),
title: id === 0 && title ? title : (item.text ?? ""),
type: "instance",
weight: item.chapter_strlen,
parent_id: item.parent.toString(),
res_id: `${item.book}-${item.paragraph}`,
};
}),
};
let res;
try {
console.info("api request", url, values);
res = await post(
url,
values
);
console.info("api response", res);
// 检查响应状态
if (!res.ok) {
throw new Error(`HTTP error! status: `);
}
setProjects(res.data.rows);
setMessages((origin) => [...origin, "生成任务组成功"]);
} catch (error) {
console.error("Fetch error:", error);
openNotification("error", "生成任务组失败");
throw error;
}
return res.data.rows;
};
const DoButton = () => {
return (
<>
>
);
};
return (
{contextHolder}
{steps[current].content}
{current < steps.length - 1 ? (
) : (
<>>
)}
{current < steps.length - 2 && (
)}
{current === steps.length - 2 && (
<>
{done ? (
) : (
)}
>
)}
);
};
export default TaskBuilderChapter;