/** 联调阶段:上传功能默认通过,使用固定文件地址 */ export const DEFAULT_UPLOAD_FILE_URL = "https://s1.aigei.com/prevfiles/6f2754563be2491bad7c957904cd7d2a.jpg?e=2051020800&token=P7S2Xpzfz11vAkASLTkfHN7Fw-oOZBecqeJaxypL:CR60zg7VKDp-jUWyYls_rdvyQMM="; /** * 解析上传结果 ID / URL(不调用真实上传接口) * @param {Array|object} [_files] * @returns {string} */ export function resolveUploadFileId(_files) { return DEFAULT_UPLOAD_FILE_URL; } /** 多附件:序列化为 JSON 数组字符串,与后端格式保持一致 */ export function resolveUploadFileIds(files) { if (!files?.length) { return undefined; } const valid = files .filter((file) => file?.url) .map((file) => ({ url: file.url, uid: file.uid || undefined, name: file.name || file.fileName || "附件", status: file.status || "done", })); if (!valid.length) { return DEFAULT_UPLOAD_FILE_URL; } return JSON.stringify(valid); } export function parseUploadFileList(urls, defaultName = "附件.pdf") { if (!urls) { return []; } const raw = String(urls).trim(); // JSON 数组字符串:如 '[{"url":"...","uid":"...","name":"...","status":"done"}]' if (raw.startsWith("[") && raw.endsWith("]")) { try { const parsed = JSON.parse(raw); if (Array.isArray(parsed)) { return parsed .filter((item) => item?.url) .map((item) => ({ name: item.name || `${defaultName.replace(".pdf", "")}1`, fileName: item.fileName || item.name || `${defaultName.replace(".pdf", "")}1`, url: item.url, uid: item.uid || undefined, status: item.status || "done", })); } } catch (_) { // JSON 解析失败,回退到逗号分隔处理 } } // 旧格式:逗号分隔的 URL 字符串 return raw .split(",") .map((url) => url.trim()) .filter(Boolean) .map((url, index) => ({ name: `${defaultName.replace(".pdf", "")}${index + 1}.pdf`, fileName: `${defaultName.replace(".pdf", "")}${index + 1}.pdf`, url, })); } export function mockUploadFileList(name = "附件.pdf") { return [{ name, fileName: name, url: DEFAULT_UPLOAD_FILE_URL }]; }