From 64b432916af9c9218ab3f3eca614e26c542142ae Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 07 十一月 2023 15:47:13 +0800 Subject: [PATCH] bug --- minipro_standard/uni_modules/uview-ui/libs/luch-request/core/Request.js | 396 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 198 insertions(+), 198 deletions(-) diff --git a/minipro_standard/uni_modules/uview-ui/libs/luch-request/core/Request.js b/minipro_standard/uni_modules/uview-ui/libs/luch-request/core/Request.js index f7a22dd..cc48566 100644 --- a/minipro_standard/uni_modules/uview-ui/libs/luch-request/core/Request.js +++ b/minipro_standard/uni_modules/uview-ui/libs/luch-request/core/Request.js @@ -1,198 +1,198 @@ -/** - * @Class Request - * @description luch-request http璇锋眰鎻掍欢 - * @version 3.0.7 - * @Author lu-ch - * @Date 2021-09-04 - * @Email webwork.s@qq.com - * 鏂囨。: https://www.quanzhan.co/luch-request/ - * github: https://github.com/lei-mu/luch-request - * DCloud: http://ext.dcloud.net.cn/plugin?id=392 - * HBuilderX: beat-3.0.4 alpha-3.0.4 - */ - -import dispatchRequest from './dispatchRequest' -import InterceptorManager from './InterceptorManager' -import mergeConfig from './mergeConfig' -import defaults from './defaults' -import { isPlainObject } from '../utils' -import clone from '../utils/clone' - -export default class Request { - /** - * @param {Object} arg - 鍏ㄥ眬閰嶇疆 - * @param {String} arg.baseURL - 鍏ㄥ眬鏍硅矾寰� - * @param {Object} arg.header - 鍏ㄥ眬header - * @param {String} arg.method = [GET|POST|PUT|DELETE|CONNECT|HEAD|OPTIONS|TRACE] - 鍏ㄥ眬榛樿璇锋眰鏂瑰紡 - * @param {String} arg.dataType = [json] - 鍏ㄥ眬榛樿鐨刣ataType - * @param {String} arg.responseType = [text|arraybuffer] - 鍏ㄥ眬榛樿鐨剅esponseType銆傛敮浠樺疂灏忕▼搴忎笉鏀寔 - * @param {Object} arg.custom - 鍏ㄥ眬榛樿鐨勮嚜瀹氫箟鍙傛暟 - * @param {Number} arg.timeout - 鍏ㄥ眬榛樿鐨勮秴鏃舵椂闂达紝鍗曚綅 ms銆傞粯璁�60000銆侶5(HBuilderX 2.9.9+)銆丄PP(HBuilderX 2.9.9+)銆佸井淇″皬绋嬪簭锛�2.10.0锛夈�佹敮浠樺疂灏忕▼搴� - * @param {Boolean} arg.sslVerify - 鍏ㄥ眬榛樿鐨勬槸鍚﹂獙璇� ssl 璇佷功銆傞粯璁rue.浠匒pp瀹夊崜绔敮鎸侊紙HBuilderX 2.3.3+锛� - * @param {Boolean} arg.withCredentials - 鍏ㄥ眬榛樿鐨勮法鍩熻姹傛椂鏄惁鎼哄甫鍑瘉锛坈ookies锛夈�傞粯璁alse銆備粎H5鏀寔锛圚BuilderX 2.6.15+锛� - * @param {Boolean} arg.firstIpv4 - 鍏―NS瑙f瀽鏃朵紭鍏堜娇鐢╥pv4銆傞粯璁alse銆備粎 App-Android 鏀寔 (HBuilderX 2.8.0+) - * @param {Function(statusCode):Boolean} arg.validateStatus - 鍏ㄥ眬榛樿鐨勮嚜瀹氫箟楠岃瘉鍣ㄣ�傞粯璁tatusCode >= 200 && statusCode < 300 - */ - constructor(arg = {}) { - if (!isPlainObject(arg)) { - arg = {} - console.warn('璁剧疆鍏ㄥ眬鍙傛暟蹇呴』鎺ユ敹涓�涓狾bject') - } - this.config = clone({ ...defaults, ...arg }) - this.interceptors = { - request: new InterceptorManager(), - response: new InterceptorManager() - } - } - - /** - * @Function - * @param {Request~setConfigCallback} f - 璁剧疆鍏ㄥ眬榛樿閰嶇疆 - */ - setConfig(f) { - this.config = f(this.config) - } - - middleware(config) { - config = mergeConfig(this.config, config) - const chain = [dispatchRequest, undefined] - let promise = Promise.resolve(config) - - this.interceptors.request.forEach((interceptor) => { - chain.unshift(interceptor.fulfilled, interceptor.rejected) - }) - - this.interceptors.response.forEach((interceptor) => { - chain.push(interceptor.fulfilled, interceptor.rejected) - }) - - while (chain.length) { - promise = promise.then(chain.shift(), chain.shift()) - } - - return promise - } - - /** - * @Function - * @param {Object} config - 璇锋眰閰嶇疆椤� - * @prop {String} options.url - 璇锋眰璺緞 - * @prop {Object} options.data - 璇锋眰鍙傛暟 - * @prop {Object} [options.responseType = config.responseType] [text|arraybuffer] - 鍝嶅簲鐨勬暟鎹被鍨� - * @prop {Object} [options.dataType = config.dataType] - 濡傛灉璁句负 json锛屼細灏濊瘯瀵硅繑鍥炵殑鏁版嵁鍋氫竴娆� JSON.parse - * @prop {Object} [options.header = config.header] - 璇锋眰header - * @prop {Object} [options.method = config.method] - 璇锋眰鏂规硶 - * @returns {Promise<unknown>} - */ - request(config = {}) { - return this.middleware(config) - } - - get(url, options = {}) { - return this.middleware({ - url, - method: 'GET', - ...options - }) - } - - post(url, data, options = {}) { - return this.middleware({ - url, - data, - method: 'POST', - ...options - }) - } - - // #ifndef MP-ALIPAY - put(url, data, options = {}) { - return this.middleware({ - url, - data, - method: 'PUT', - ...options - }) - } - - // #endif - - // #ifdef APP-PLUS || H5 || MP-WEIXIN || MP-BAIDU - delete(url, data, options = {}) { - return this.middleware({ - url, - data, - method: 'DELETE', - ...options - }) - } - - // #endif - - // #ifdef H5 || MP-WEIXIN - connect(url, data, options = {}) { - return this.middleware({ - url, - data, - method: 'CONNECT', - ...options - }) - } - - // #endif - - // #ifdef H5 || MP-WEIXIN || MP-BAIDU - head(url, data, options = {}) { - return this.middleware({ - url, - data, - method: 'HEAD', - ...options - }) - } - - // #endif - - // #ifdef APP-PLUS || H5 || MP-WEIXIN || MP-BAIDU - options(url, data, options = {}) { - return this.middleware({ - url, - data, - method: 'OPTIONS', - ...options - }) - } - - // #endif - - // #ifdef H5 || MP-WEIXIN - trace(url, data, options = {}) { - return this.middleware({ - url, - data, - method: 'TRACE', - ...options - }) - } - - // #endif - - upload(url, config = {}) { - config.url = url - config.method = 'UPLOAD' - return this.middleware(config) - } - - download(url, config = {}) { - config.url = url - config.method = 'DOWNLOAD' - return this.middleware(config) - } -} - -/** - * setConfig鍥炶皟 - * @return {Object} - 杩斿洖鎿嶄綔鍚庣殑config - * @callback Request~setConfigCallback - * @param {Object} config - 鍏ㄥ眬榛樿config - */ +/** + * @Class Request + * @description luch-request http璇锋眰鎻掍欢 + * @version 3.0.7 + * @Author lu-ch + * @Date 2021-09-04 + * @Email webwork.s@qq.com + * 鏂囨。: https://www.quanzhan.co/luch-request/ + * github: https://github.com/lei-mu/luch-request + * DCloud: http://ext.dcloud.net.cn/plugin?id=392 + * HBuilderX: beat-3.0.4 alpha-3.0.4 + */ + +import dispatchRequest from './dispatchRequest' +import InterceptorManager from './InterceptorManager' +import mergeConfig from './mergeConfig' +import defaults from './defaults' +import { isPlainObject } from '../utils' +import clone from '../utils/clone' + +export default class Request { + /** + * @param {Object} arg - 鍏ㄥ眬閰嶇疆 + * @param {String} arg.baseURL - 鍏ㄥ眬鏍硅矾寰� + * @param {Object} arg.header - 鍏ㄥ眬header + * @param {String} arg.method = [GET|POST|PUT|DELETE|CONNECT|HEAD|OPTIONS|TRACE] - 鍏ㄥ眬榛樿璇锋眰鏂瑰紡 + * @param {String} arg.dataType = [json] - 鍏ㄥ眬榛樿鐨刣ataType + * @param {String} arg.responseType = [text|arraybuffer] - 鍏ㄥ眬榛樿鐨剅esponseType銆傛敮浠樺疂灏忕▼搴忎笉鏀寔 + * @param {Object} arg.custom - 鍏ㄥ眬榛樿鐨勮嚜瀹氫箟鍙傛暟 + * @param {Number} arg.timeout - 鍏ㄥ眬榛樿鐨勮秴鏃舵椂闂达紝鍗曚綅 ms銆傞粯璁�60000銆侶5(HBuilderX 2.9.9+)銆丄PP(HBuilderX 2.9.9+)銆佸井淇″皬绋嬪簭锛�2.10.0锛夈�佹敮浠樺疂灏忕▼搴� + * @param {Boolean} arg.sslVerify - 鍏ㄥ眬榛樿鐨勬槸鍚﹂獙璇� ssl 璇佷功銆傞粯璁rue.浠匒pp瀹夊崜绔敮鎸侊紙HBuilderX 2.3.3+锛� + * @param {Boolean} arg.withCredentials - 鍏ㄥ眬榛樿鐨勮法鍩熻姹傛椂鏄惁鎼哄甫鍑瘉锛坈ookies锛夈�傞粯璁alse銆備粎H5鏀寔锛圚BuilderX 2.6.15+锛� + * @param {Boolean} arg.firstIpv4 - 鍏―NS瑙f瀽鏃朵紭鍏堜娇鐢╥pv4銆傞粯璁alse銆備粎 App-Android 鏀寔 (HBuilderX 2.8.0+) + * @param {Function(statusCode):Boolean} arg.validateStatus - 鍏ㄥ眬榛樿鐨勮嚜瀹氫箟楠岃瘉鍣ㄣ�傞粯璁tatusCode >= 200 && statusCode < 300 + */ + constructor(arg = {}) { + if (!isPlainObject(arg)) { + arg = {} + console.warn('璁剧疆鍏ㄥ眬鍙傛暟蹇呴』鎺ユ敹涓�涓狾bject') + } + this.config = clone({ ...defaults, ...arg }) + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + } + } + + /** + * @Function + * @param {Request~setConfigCallback} f - 璁剧疆鍏ㄥ眬榛樿閰嶇疆 + */ + setConfig(f) { + this.config = f(this.config) + } + + middleware(config) { + config = mergeConfig(this.config, config) + const chain = [dispatchRequest, undefined] + let promise = Promise.resolve(config) + + this.interceptors.request.forEach((interceptor) => { + chain.unshift(interceptor.fulfilled, interceptor.rejected) + }) + + this.interceptors.response.forEach((interceptor) => { + chain.push(interceptor.fulfilled, interceptor.rejected) + }) + + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()) + } + + return promise + } + + /** + * @Function + * @param {Object} config - 璇锋眰閰嶇疆椤� + * @prop {String} options.url - 璇锋眰璺緞 + * @prop {Object} options.data - 璇锋眰鍙傛暟 + * @prop {Object} [options.responseType = config.responseType] [text|arraybuffer] - 鍝嶅簲鐨勬暟鎹被鍨� + * @prop {Object} [options.dataType = config.dataType] - 濡傛灉璁句负 json锛屼細灏濊瘯瀵硅繑鍥炵殑鏁版嵁鍋氫竴娆� JSON.parse + * @prop {Object} [options.header = config.header] - 璇锋眰header + * @prop {Object} [options.method = config.method] - 璇锋眰鏂规硶 + * @returns {Promise<unknown>} + */ + request(config = {}) { + return this.middleware(config) + } + + get(url, options = {}) { + return this.middleware({ + url, + method: 'GET', + ...options + }) + } + + post(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'POST', + ...options + }) + } + + // #ifndef MP-ALIPAY + put(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'PUT', + ...options + }) + } + + // #endif + + // #ifdef APP-PLUS || H5 || MP-WEIXIN || MP-BAIDU + delete(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'DELETE', + ...options + }) + } + + // #endif + + // #ifdef H5 || MP-WEIXIN + connect(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'CONNECT', + ...options + }) + } + + // #endif + + // #ifdef H5 || MP-WEIXIN || MP-BAIDU + head(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'HEAD', + ...options + }) + } + + // #endif + + // #ifdef APP-PLUS || H5 || MP-WEIXIN || MP-BAIDU + options(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'OPTIONS', + ...options + }) + } + + // #endif + + // #ifdef H5 || MP-WEIXIN + trace(url, data, options = {}) { + return this.middleware({ + url, + data, + method: 'TRACE', + ...options + }) + } + + // #endif + + upload(url, config = {}) { + config.url = url + config.method = 'UPLOAD' + return this.middleware(config) + } + + download(url, config = {}) { + config.url = url + config.method = 'DOWNLOAD' + return this.middleware(config) + } +} + +/** + * setConfig鍥炶皟 + * @return {Object} - 杩斿洖鎿嶄綔鍚庣殑config + * @callback Request~setConfigCallback + * @param {Object} config - 鍏ㄥ眬榛樿config + */ -- Gitblit v1.9.3