shuzhiren-comfyui/任务队列后端/outside/outPlatforms/messageDispatcher.js

52 lines
1.5 KiB
JavaScript

import mdWebSocketServer from '../../utils/mdWebSocketServer.js';
export function getGenerateUrl() {
return process.env.MESSAGE_DISPATCHER_URL;
}
export function getGenerateHeader(apikey) {
const jwtToken = mdWebSocketServer.getJwtToken();
return {
'Content-Type': 'application/json'
};
}
export function getGenerateBody(task) {
const taskData = JSON.parse(task.payload);
const jwtToken = mdWebSocketServer.getJwtToken();
const payload = { ...taskData, apiKey: jwtToken, webhookUrl: process.env.CALLBACK_URL };
console.log('[messageDispatcher] 请求体:', payload);
return JSON.stringify(payload);
}
export function getQueryUrl() {
return process.env.CALLBACK_URL;
}
export async function getSuccessTasks(response) {
try {
const res = await response.json();
console.log('[messageDispatcher] 响应:\n', res);
if (res.success === true && res.data && res.data.requestId) {
return { msg: 'success', code: 0, data: { taskId: res.data.requestId } };
} else {
return { message: res, type: 2 };
}
} catch (error) {
console.error('[messageDispatcher] 解析响应失败:', error);
return { message: error.message, type: 2 };
}
}
export async function getTaskResult(response) {
const res = await JSON.parse(response);
const files = [];
if (res.msg === 'success' && res.code === 0) {
for (const file of res.data)
files.push(file.fileUrl);
return { files: files[0], type: 1 };
} else {
return { message: res.msg, type: 2 };
}
}