UNPKG

captain-ui

Version:

有赞vue wap业务组件库

54 lines (44 loc) 1.14 kB
import rawAjax from '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 = rawAjax(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 = rawAjax.CancelToken; export default ajax;