/** * @name axios-miniprogram * @description 基于 Promise 的 HTTP 请求库,适用于各大小程序平台。 * @version v2.0.0-rc-1 * @date 2021-05-30 16:16:13 * @author fluffff * @github git+https://github.com/fluffff/axios-miniprogram.git * @issues https://github.com/fluffff/axios-miniprogram/issues */ var extendStatics = function (d, b) {extendStatics = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (d, b) {d.__proto__ = b;} || function (d, b) {for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];};return extendStatics(d, b);};function __extends(d, b) {if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");extendStatics(d, b);function __() {this.constructor = d;}d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());}var __assign = function () {__assign = Object.assign || function __assign(t) {for (var s, i = 1, n = arguments.length; i < n; i++) {s = arguments[i];for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];}return t;};return __assign.apply(this, arguments);};function __rest(s, e) {var t = {};for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];}return t;}function __spreadArray(to, from) {for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) to[j] = from[i];return to;} var _toString = Object.prototype.toString;function isArray(value) {return Array.isArray(value);}function isDate(date) {return _toString.call(date) === '[object Date]';}function isEmptyArray(value) {return isArray(value) && value.length === 0;}function isFunction(value) {return typeof value === 'function';}function isNull(value) {return value === null;}function isPlainObject(value) {return _toString.call(value) === '[object Object]';}function isString(value) {return typeof value === 'string';}function isUndefined(value) {return typeof value === 'undefined';} function deepMerge() {var objs = [];for (var _i = 0; _i < arguments.length; _i++) {objs[_i] = arguments[_i];}var result = {};objs.forEach(function (obj) {return Object.keys(obj).forEach(function (key) {var val = obj[key];var resultVal = result[key];if (isPlainObject(resultVal) && isPlainObject(val)) {result[key] = deepMerge(resultVal, val);} else if (isPlainObject(val)) {result[key] = deepMerge(val);} else {result[key] = val;}});});return result;}function omit(obj) {var keys = [];for (var _i = 1; _i < arguments.length; _i++) {keys[_i - 1] = arguments[_i];}var _omit = Object.assign({}, obj);keys.forEach(function (key) {return delete _omit[key];});return _omit;}function assert(condition, msg) {if (!condition) {throwError(msg);}}function throwError(msg) {throw new Error("[axios-miniprogram]: " + msg);}function toLowerCase(value, defaultValue) {if (!isString(value)) {value = defaultValue;}return value.toLowerCase();}function toUpperCase(value, defaultValue) {if (!isString(value)) {value = defaultValue;}return value.toUpperCase();} function isPlatform(value) {return isPlainObject(value) && isFunction(value.request) && isFunction(value.upload) && isFunction(value.download);}function revisePlatformApiNames(platform) {var _a, _b, _c;return {request: (_a = platform.request) !== null && _a !== void 0 ? _a : platform.httpRequest,upload: (_b = platform.upload) !== null && _b !== void 0 ? _b : platform.uploadFile,download: (_c = platform.download) !== null && _c !== void 0 ? _c : platform.downloadFile};}function createAdapter(platform) {assert(isPlainObject(platform), 'platform 需要是一个 object');assert(isFunction(platform.request), 'platform.request 需要是一个 function');assert(isFunction(platform.upload), 'platform.upload 需要是一个 function');assert(isFunction(platform.download), 'platform.download 需要是一个 function');function transformResult(result) {if (!isUndefined(result.statusCode)) {result.status = result.statusCode;delete result.statusCode;}if (isUndefined(result.status)) {result.status = isUndefined(result.data) ? 400 : 200;}if (!isUndefined(result.header)) {result.headers = result.header;delete result.header;}if (isUndefined(result.headers)) {result.headers = {};}if (!isUndefined(result.errMsg)) {result.statusText = result.errMsg;delete result.errMsg;}if (isUndefined(result.statusText)) {result.statusText = result.status === 200 ? 'OK' : result.status === 400 ? 'Bad Adapter' : '';}}function transformOptions(config) {return __assign(__assign({}, config), {header: config.headers,success: function success(response) {transformResult(response);config.success(response);},fail: function fail(error) {transformResult(error);config.fail(error);}});}function injectDownloadData(response) {if (!isPlainObject(response.data)) {response.data = {};}if (!isUndefined(response.tempFilePath)) {response.data.tempFilePath = response.tempFilePath;delete response.tempFilePath;}if (!isUndefined(response.apFilePath)) {response.data.tempFilePath = response.apFilePath;delete response.apFilePath;}if (!isUndefined(response.filePath)) {response.data.filePath = response.filePath;delete response.filePath;}}function callRequest(request, baseOptions) {return request(baseOptions);}function callUpload(upload, baseOptions) {assert(isPlainObject(baseOptions.data), '上传文件时 data 需要是一个 object');assert(isString(baseOptions.data.fileName), '上传文件时 data.fileName 需要是一个 string');assert(isString(baseOptions.data.filePath), '上传文件时 data.filePath 需要是一个 string');var _a = baseOptions.data,fileName = _a.fileName,filePath = _a.filePath,fileType = _a.fileType,hideLoading = _a.hideLoading,formData = __rest(_a, ["fileName", "filePath", "fileType", "hideLoading"]);var options = __assign(__assign({}, baseOptions), {name: fileName,fileName: fileName,filePath: filePath,fileType: fileType !== null && fileType !== void 0 ? fileType : 'image',hideLoading: hideLoading,formData: formData});return upload(options);}function callDownload(download, baseOptions) {var _a, _b;var options = __assign(__assign({}, baseOptions), {filePath: (_a = baseOptions.params) === null || _a === void 0 ? void 0 : _a.filePath,fileName: (_b = baseOptions.params) === null || _b === void 0 ? void 0 : _b.fileName,success: function success(response) {injectDownloadData(response);baseOptions.success(response);}});return download(options);}return function adapterDefault(config) {var baseOptions = transformOptions(config);switch (config.type) {case 'request':return callRequest(platform.request, baseOptions);case 'upload':return callUpload(platform.upload, baseOptions);case 'download':return callDownload(platform.download, baseOptions);default:throwError("\u65E0\u6CD5\u8BC6\u522B\u7684\u8BF7\u6C42\u7C7B\u578B " + config.type);}};}function getAdapterDefault() {var tryGetPlatforms = [function () {return uni;}, function () {return wx;}, function () {return my;}, function () {return swan;}, function () {return tt;}, function () {return qq;}, function () {return qh;}, function () {return ks;}, function () {return dd;}];var platform;while (!isEmptyArray(tryGetPlatforms) && !isPlatform(platform)) {try {var tryGetPlatform = tryGetPlatforms.shift();if (isPlainObject(platform = tryGetPlatform())) {platform = revisePlatformApiNames(platform);}} catch (err) {}}if (!isPlatform(platform)) {return;}return createAdapter(platform);} function encode(str) {return encodeURIComponent(str).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');}function buildURL(url, params, paramsSerializer) {if (url === void 0) {url = '';}if (paramsSerializer === void 0) {paramsSerializer = paramsSerialization;}if (!isPlainObject(params)) {return url;}return generateURL(url, paramsSerializer(params));}var combineREG = /(?= 200 && status < 300;},timeout: 10000,dataType: 'json',responseType: 'text',enableHttp2: false,enableQuic: false,enableCache: false,sslVerify: true}; function createInstance(defaults) {var instance = new Axios(defaults);function axios(url, config) {if (isString(url)) {config = Object.assign({}, config, {url: url});} else {config = url;}return instance.request(config);}Object.assign(axios, instance);Object.setPrototypeOf(axios, Object.getPrototypeOf(instance));return axios;}var axios = createInstance(defaults);axios.Axios = Axios;axios.CancelToken = CancelToken;axios.create = function create(defaults) {return createInstance(mergeConfig(axios.defaults, defaults));};axios.createAdapter = createAdapter;axios.isCancel = isCancel; export default axios;