UNPKG

z-react-ui

Version:

z-react-ui,是一款基于 Dumi,由 React + TypeScript 开发的组件库 🎉。

95 lines (69 loc) 2.73 kB
"use strict"; 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;