74 lines
2.2 KiB
JavaScript
74 lines
2.2 KiB
JavaScript
/** 联调阶段:上传功能默认通过,使用固定文件地址 */
|
||
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 }];
|
||
}
|