'use strict'; /** * 根据 msg.crudFlow.list 设置查询请求,兼容旧的手工注入流程。 */ return configureListRequest(msg, node); function configureListRequest(message, node) { if (!message.crudFlow || !message.crudFlow.list) { return message; } const list = message.crudFlow.list; const baseUrl = message.crudFlow.baseUrl || ''; message.method = (list.method || 'GET').toUpperCase(); message.url = mergeUrl(baseUrl, list.path || ''); message.headers = Object.assign({}, message.crudFlow.headers || {}, list.headers || {}); if (list.payload !== undefined) { message.payload = clone(list.payload); } else if (message.payload !== undefined) { delete message.payload; } message.listRequestConfigured = true; return message; } function mergeUrl(base, path) { const prefix = (base || '').replace(/\/+$/, ''); const suffix = (path || '').replace(/^\/+/, ''); if (!prefix) { return `/${suffix}`; } if (!suffix) { return prefix; } return `${prefix}/${suffix}`; } function clone(value) { return value == null ? value : JSON.parse(JSON.stringify(value)); }