import http from '../http/http'; /** * 从上传接口响应中解析文件访问路径(R:data 字段为路径字符串) */ const parseUploadFilePath = (res) => { const body = res?.data; if (typeof body === 'string') { return body; } if (body && typeof body.data === 'string') { return body.data; } if (body && typeof body.data === 'object' && body.data) { return body.data.url || body.data.fileUrl || body.data.path || body.data.uploadPath || ''; } return body?.url || body?.fileUrl || body?.path || ''; }; const uploadFile = (files, callback) => { files.status = 'uploading'; files.message = '上传中...'; const form = new FormData(); form.append('file', files.file); http.post('/app-enf/common/file/upload', form) .then((res) => { const filePath = parseUploadFilePath(res); if (!filePath) { files.status = 'failed'; files.message = '上传失败'; console.error('上传响应缺少文件路径', res?.data); return; } files.status = 'done'; files.message = '上传成功'; files.url = filePath; // 兼容 enforcementPlanAdd 等页面的 res.url 写法 callback && callback({ url: filePath, data: res?.data, raw: res }); }) .catch((err) => { files.status = 'failed'; files.message = '上传失败'; console.error('文件上传失败', err?.response?.data || err); }); }; const nameCorrect=(name)=>{ let name1=[{}]; name1=String(name).split(" "); if(name1[0].length==2){ if(name1.length>1){ return (String(name1[0]).substr(0,1)+"\u3000"+String(name1[0]).substr(1)+" "+name1[1]); }else{ return (String(name1[0]).substr(0,1)+"\u3000"+String(name1[0]).substr(1)); } }else{ return name; } } const encryptPhone=(num)=>{ if(!/^\d{11}$/.test(num))return num; const al= num.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2"); return al; } export{uploadFile,nameCorrect,encryptPhone,parseUploadFilePath};