safety-eval-service-frontend/src/utils/mockUpload.js

74 lines
2.2 KiB
JavaScript
Raw Normal View History

2026-06-23 18:07:30 +08:00
/** 联调阶段:上传功能默认通过,使用固定文件地址 */
export const DEFAULT_UPLOAD_FILE_URL =
2026-06-30 17:32:29 +08:00
"https://s1.aigei.com/prevfiles/6f2754563be2491bad7c957904cd7d2a.jpg?e=2051020800&token=P7S2Xpzfz11vAkASLTkfHN7Fw-oOZBecqeJaxypL:CR60zg7VKDp-jUWyYls_rdvyQMM=";
2026-06-23 18:07:30 +08:00
/**
* 解析上传结果 ID / URL不调用真实上传接口
* @param {Array|object} [_files]
* @returns {string}
*/
export function resolveUploadFileId(_files) {
return DEFAULT_UPLOAD_FILE_URL;
}
2026-07-07 15:58:05 +08:00
/** 多附件:序列化为 JSON 数组字符串,与后端格式保持一致 */
2026-06-26 14:27:49 +08:00
export function resolveUploadFileIds(files) {
if (!files?.length) {
return undefined;
}
2026-07-07 15:58:05 +08:00
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) {
2026-06-26 14:27:49 +08:00
return DEFAULT_UPLOAD_FILE_URL;
}
2026-07-07 15:58:05 +08:00
return JSON.stringify(valid);
2026-06-26 14:27:49 +08:00
}
export function parseUploadFileList(urls, defaultName = "附件.pdf") {
if (!urls) {
return [];
}
2026-07-07 15:58:05 +08:00
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
2026-06-26 14:27:49 +08:00
.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,
}));
}
2026-06-23 18:07:30 +08:00
export function mockUploadFileList(name = "附件.pdf") {
return [{ name, fileName: name, url: DEFAULT_UPLOAD_FILE_URL }];
}