captain-ui
Version:
有赞vue wap业务组件库
62 lines (49 loc) • 1.38 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _zanAjax = _interopRequireDefault(require("zan-ajax"));
/**
* 确保请求的参数正确
*/
function normalizeArguments(url, options) {
if (typeof url === 'string') {
options = options || {};
options.url = url;
return options;
}
return url;
}
var ajaxConfig = {
transformRequest: function transformRequest(config) {
if (config.xhrFields && config.xhrFields.withCredentials) {
config.withCredentials = true;
delete config.xhrFields;
}
return config;
}
};
function ajax(url, options) {
var ajaxOptions = normalizeArguments(url, options);
var promise = (0, _zanAjax.default)(ajaxOptions, ajaxConfig); // 默认超时30秒
if (ajaxOptions.timeout === undefined) {
ajaxOptions.timeout = 30000;
}
return promise.then(function (rawResp) {
return rawResp.data;
}, function (rawResp) {
var error = rawResp.response;
if (error && error.data) {
return Promise.reject(error.data);
}
var msg = rawResp.message || '网络请求错误';
var code = 99999;
return Promise.reject({
msg: msg,
code: code
});
});
}
ajax.CancelToken = _zanAjax.default.CancelToken;
var _default = ajax;
exports.default = _default;