@aliretail/react-materials-components
Version:
113 lines (85 loc) • 2.74 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
exports.getCookie = getCookie;
exports.getFileTypeFromExt = getFileTypeFromExt;
exports.getFileTypeFromUploadType = getFileTypeFromUploadType;
exports.request = request;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _axios = _interopRequireDefault(require("axios"));
var _excluded = ["method", "data"];
var AxiosInstance = _axios["default"].create();
delete AxiosInstance.defaults.xsrfCookieName;
delete AxiosInstance.defaults.xsrfHeaderName;
AxiosInstance.defaults.withCredentials = true;
var _default = AxiosInstance;
exports["default"] = _default;
function request(options) {
var method = options.method,
data = options.data,
config = (0, _objectWithoutPropertiesLoose2["default"])(options, _excluded);
var dataOrParams = {};
if (['PUT', 'POST'].includes(method.toUpperCase())) {
dataOrParams.data = data;
} else {
dataOrParams.params = data;
}
return AxiosInstance.request((0, _extends2["default"])({
method: method
}, config, dataOrParams));
}
function getCookie(name) {
if (!document.cookie) {
return null;
}
var xsrfCookies = document.cookie.split(';').map(function (c) {
return c.trim();
}).filter(function (c) {
return c.startsWith(name + "=");
});
if (xsrfCookies.length === 0) {
return null;
}
return decodeURIComponent(xsrfCookies[0].split('=')[1]);
}
var TYPE_LIST_VIDEO = ['.mp4', '.mov', '.avi', '.flv', '.rmvb', '.mpeg', '.m3u8'];
var TYPE_LIST_IMG = ['.png', '.jpg', '.jpeg', '.svg', '.gif', '.bmp'];
var TYPE_LIST_FILE = ['.doc', '.docx', '.pdf', '.xls', '.xlsx'];
function getFileTypeFromUploadType(type) {
var fileType = '';
switch (type) {
case 'image':
fileType = TYPE_LIST_IMG.join(',');
break;
case 'video':
fileType = TYPE_LIST_VIDEO.join(',');
break;
case 'xls':
fileType = TYPE_LIST_FILE.join(',');
break;
case 'all':
fileType = '*/*';
break;
default:
fileType = '*/*';
break;
}
return fileType;
}
function getFileTypeFromExt(url) {
var imgReg = new RegExp("(" + TYPE_LIST_IMG.join('|') + ")$");
var videoReg = new RegExp("(" + TYPE_LIST_VIDEO.join('|') + ")$");
var fileReg = new RegExp("(" + TYPE_LIST_FILE.join('|') + ")$");
if (imgReg.test(url)) {
return 'image';
}
if (videoReg.test(url)) {
return 'video';
}
if (fileReg.test(url)) {
return 'file';
}
return null;
}