z-react-ui
Version:
z-react-ui,是一款基于 Dumi,由 React + TypeScript 开发的组件库 🎉。
95 lines (69 loc) • 2.73 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
require("antd/es/message/style");
var _message2 = _interopRequireDefault(require("antd/es/message"));
var _request = _interopRequireDefault(require("./request"));
var _checkImageFileWH = _interopRequireDefault(require("./checkImageFileWH"));
function uploadFile(_ref) {
var _ref$name = _ref.name,
name = _ref$name === void 0 ? 'file' : _ref$name,
file = _ref.file,
url = _ref.url,
rules = _ref.rules,
successOrFailTip = _ref.successOrFailTip,
otherFormDataParams = _ref.otherFormDataParams;
// 首先校验
if (rules) {
var maxSize = rules.maxSize,
fileType = rules.fileType,
WH = rules.WH; // 校验文件类型
if (fileType && Array.isArray(fileType.value) && !fileType.value.includes(file.type)) {
_message2.default.error(fileType.msg);
return false;
} // 校验文件体积大小
if (maxSize && maxSize.value < file.size / 1024) {
_message2.default.error(maxSize.msg);
return false;
} // 校验文件尺寸大小
if (WH && WH.value) {
return (0, _checkImageFileWH.default)(file, WH.value).catch(function (errKey) {
_message2.default.error(WH.msg[errKey] || '图片上传失败');
throw new Error();
});
}
}
var formData = new FormData();
formData.append(name, file); // 表示对象有值
if (otherFormDataParams && Object.keys(otherFormDataParams).length) {
Object.entries(otherFormDataParams).forEach(function (_ref2) {
var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
k = _ref3[0],
v = _ref3[1];
formData.append(k, v);
});
}
var isExistence = !!(successOrFailTip && Object.keys(successOrFailTip).length);
return (0, _request.default)(url, {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data'
},
data: formData
}).then(function (data) {
if (!data || data.status !== 200 || !data.data || !data.success) {
_message2.default.error("".concat(isExistence ? successOrFailTip.failTip : '上传文件失败'));
throw new Error("".concat(isExistence ? successOrFailTip.failTip : '上传文件失败'));
}
_message2.default.success("".concat(isExistence ? successOrFailTip.successTip : '上传文件成功')); // 成功后,返回data
return data;
}).catch(function (e) {
console.warn(e);
});
}
var _default = uploadFile;
exports.default = _default;