import { buildBaseUrl, getRequestServerConfig } from '../utils/request';
|
|
const normalizeUploadUrl = (value = '') => {
|
return String(value || '')
|
.replace(/`/g, '')
|
.trim();
|
};
|
|
export const uploadImage = (localFilePath) => {
|
return new Promise((resolve, reject) => {
|
const baseUrl = buildBaseUrl(getRequestServerConfig());
|
if (!baseUrl) {
|
reject(new Error('未配置服务地址,请先完成设备激活'));
|
return;
|
}
|
|
const token = uni.getStorageSync('token') || '';
|
|
uni.uploadFile({
|
url: `${baseUrl}/common/upload`,
|
filePath: localFilePath,
|
name: 'file', // 默认常用名,视后端要求可能为 'file'
|
header: {
|
'Authorization': `Bearer ${token}`
|
},
|
success: (uploadFileRes) => {
|
try {
|
const data = JSON.parse(uploadFileRes.data);
|
const normalizedUrl = normalizeUploadUrl(
|
data.url || data.fileName || data.data?.url || ''
|
);
|
|
resolve({
|
code: data.code,
|
url: normalizedUrl
|
});
|
} catch (e) {
|
reject(e);
|
}
|
},
|
fail: (err) => {
|
reject(err);
|
}
|
});
|
});
|
};
|