@alifd/meet-react
Version:
Fusion Mobile React UI System Component
49 lines • 1.22 kB
JavaScript
import File from '@uni/file';
import { isAndroid, isStrictWechatMiniProgram } from '../utils';
import { UPLOAD_THROTTLE } from './utils';
function request(obj) {
var task = File.upload({
url: obj.action,
formData: obj.data,
filePath: obj.file,
withCredentials: obj.withCredentials,
fileName: obj.filename,
fileType: obj.fileType,
header: obj.headers,
success: function success(res) {
return obj.onSuccess(res);
},
fail: function fail(e) {
return obj.onError(e);
}
});
var skipTaskProgressUpdate = isAndroid && isStrictWechatMiniProgram;
if (task && task.onProgressUpdate && !skipTaskProgressUpdate) {
task.onProgressUpdate(function (_ref) {
var progress = _ref.progress;
obj.onProgress({
percent: progress
});
});
} else {
var percent = 10;
var timer = setInterval(function () {
if (percent < 90) {
percent += 10;
obj.onProgress({
percent: percent
});
} else {
clearInterval(timer);
}
}, UPLOAD_THROTTLE);
}
return {
abort: function abort() {
if (task && task.abort) {
task.abort();
}
}
};
}
export default request;