utils-uniapp 1.1.11 → 1.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,7 +15,7 @@ export declare const CONTENT_TYPES: Readonly<{
15
15
  */
16
16
  FORM_URLENCODED: string;
17
17
  /**
18
- * 文件上传表单 multipart/form‑data
18
+ * 文件上传表单 multipart/form-data
19
19
  */
20
20
  FORM_DATA: string;
21
21
  }>;
@@ -53,16 +53,17 @@ export interface CacheAdapter {
53
53
  * 设置缓存
54
54
  * @param key 缓存key
55
55
  * @param value 缓存存储内容
56
- * @param expire 过期秒数;语义由适配器实现,约定 <=0 代表永不过期;request库仅透传数值,不做过期逻辑
56
+ * @param expire 过期秒数;语义由适配器实现;request库仅透传数值,不做过期逻辑
57
57
  */
58
58
  set(key: string, value: unknown, expire: number): void;
59
59
  }
60
60
 
61
61
  /**
62
62
  * 外部传入缓存配置入参(仅调用方使用,业务传入)
63
- * @description 开启请求缓存 isCache=true 时,必须传入对应 mode 的适配器 localAdapter / sessionAdapter
64
63
  */
65
64
  export interface CacheConfigInput {
65
+ /** 是否开启缓存 */
66
+ enable?: boolean;
66
67
  /**
67
68
  * 自定义缓存业务key;不填默认由url生成,**不包含请求参数**,同URL不同参数务必手动指定key
68
69
  */
@@ -72,23 +73,18 @@ export interface CacheConfigInput {
72
73
  */
73
74
  prefix?: string;
74
75
  /**
75
- * 缓存存储模式
76
- * - local:持久存储
77
- * - session:会话存储(H5会话销毁;小程序降级持久)
78
- */
79
- mode?: 'local' | 'session';
80
- /**
81
- * 缓存过期时间,单位秒;语义由外部CacheAdapter实现,约定 <=0代表永不过期;库默认兜底1小时(3600s)
76
+ * 缓存过期时间,单位秒;库默认兜底1小时(3600s)
82
77
  */
83
78
  expire?: number;
84
79
  /**
85
- * local模式对应的缓存适配器实例;mode=local且开启缓存时必填
80
+ * 缓存适配器实例;enable=true开启缓存时必填
81
+ * 支持直接传入实例,或同步获取实例的函数;禁止async异步函数
86
82
  */
87
- localAdapter?: CacheAdapter | null;
88
- /**
89
- * session模式对应的缓存适配器实例;mode=session且开启缓存时必填
90
- */
91
- sessionAdapter?: CacheAdapter | null;
83
+ adapter?: CacheAdapter | null | ((ctx: {
84
+ url: string;
85
+ config: HttpRequestConfig;
86
+ options: UserRequestOpts;
87
+ }) => CacheAdapter | null);
92
88
  }
93
89
 
94
90
  /**
@@ -96,9 +92,9 @@ export interface CacheConfigInput {
96
92
  * @description adapter 字段由内部派生生成,外部禁止传入、禁止读取使用
97
93
  */
98
94
  interface CacheConfig {
95
+ enable: boolean;
99
96
  key: string;
100
97
  prefix: string;
101
- mode: 'local' | 'session';
102
98
  expire: number;
103
99
  readonly adapter: CacheAdapter | null;
104
100
  }
@@ -148,11 +144,7 @@ interface RequestOptions {
148
144
  */
149
145
  showError: boolean;
150
146
  /**
151
- * 是否开启请求缓存;开启时cacheConfig必须提供对应mode的适配器
152
- */
153
- isCache: boolean;
154
- /**
155
- * 缓存配置;adapter为内部运行时派生字段,外部请勿传入、请勿访问;开启isCache:true,必须传入对应模式的适配器,否则运行时抛出异常
147
+ * 缓存配置;adapter为内部运行时派生字段,外部请勿传入、请勿访问;开启缓存必须传入适配器,否则运行时抛出异常
156
148
  */
157
149
  cacheConfig: CacheConfig;
158
150
  /**
@@ -184,7 +176,6 @@ interface RequestOptions {
184
176
  /**
185
177
  * 业务侧传入配置【外部用户参数,支持拦截器数组】
186
178
  * 经过内部 normalizeOpts 之后转换为 RequestOptions
187
- * @description isCache 设置为 true 时,cacheConfig 需要传入对应 mode 的适配器 localAdapter / sessionAdapter,否则运行时抛出异常
188
179
  */
189
180
  export interface UserRequestOpts {
190
181
  /**
@@ -196,11 +187,7 @@ export interface UserRequestOpts {
196
187
  */
197
188
  showError?: boolean;
198
189
  /**
199
- * 是否开启请求缓存;开启时cacheConfig必须提供对应mode的适配器(localAdapter/sessionAdapter)
200
- */
201
- isCache?: boolean;
202
- /**
203
- * 缓存配置,用户传入部分字段即可;isCache=true必须传入对应mode适配器
190
+ * 缓存配置,用户传入部分字段即可;开启缓存时cacheConfig.adapter必须提供适配器
204
191
  */
205
192
  cacheConfig?: Partial<CacheConfigInput>;
206
193
  /**
@@ -231,29 +218,45 @@ export interface UserRequestOpts {
231
218
 
232
219
  /**
233
220
  * 请求config:uni.request配置,排除内部强制覆盖字段,允许业务扩展
221
+ * @note baseURL 为库自定义字段,非uni原生API字段
234
222
  */
235
- export type HttpRequestConfig = Omit<UniApp.RequestOptions, 'url'|'header'|'method'|'data'|'cancelToken'> & {[key:string]:any};
223
+ export type HttpRequestConfig = Partial<Omit<UniApp.RequestOptions, 'url' | 'header' | 'method' | 'data' | 'cancelToken'>> & {
224
+ /** 库自定义:请求基础地址,非uni.request原生参数 */
225
+ baseURL?: string;
226
+ /** 库自定义:headers支持对象或者返回对象的工厂函数 */
227
+ headers?: Record<string, string> | (() => Record<string, string>);
228
+ [key: string]: any;
229
+ };
236
230
 
237
231
  /**
238
232
  * 上传config:uni.uploadFile配置,排除内部强制覆盖字段
233
+ * @note baseURL 为库自定义字段,非uni.uploadFile原生API字段
239
234
  */
240
- export type UploadConfig = Omit<UniApp.UploadFileOptions, 'url'|'header'|'filePath'|'name'|'formData'|'cancelToken'> & {[key:string]:any};
235
+ export type UploadConfig = Partial<Omit<UniApp.UploadFileOptions, 'url' | 'header' | 'filePath' | 'name' | 'formData' | 'cancelToken'>> & {
236
+ /** 库自定义:请求基础地址 */
237
+ baseURL?: string;
238
+ /** 库自定义:headers支持对象或者返回对象的工厂函数 */
239
+ headers?: Record<string, string> | (() => Record<string, string>);
240
+ [key: string]: any;
241
+ };
241
242
 
242
243
  /**
243
244
  * 下载config:uni.downloadFile配置,排除内部强制覆盖字段
245
+ * @note baseURL 为库自定义字段,非uni.downloadFile原生API字段
244
246
  */
245
- export type DownloadConfig = Omit<UniApp.DownloadFileOptions, 'url'|'header'|'cancelToken'> & {[key:string]:any};
247
+ export type DownloadConfig = Partial<Omit<UniApp.DownloadFileOptions, 'url' | 'header' | 'cancelToken'>> & {
248
+ /** 库自定义:请求基础地址 */
249
+ baseURL?: string;
250
+ /** 库自定义:headers支持对象或者返回对象的工厂函数 */
251
+ headers?: Record<string, string> | (() => Record<string, string>);
252
+ [key: string]: any;
253
+ };
246
254
 
247
255
  /**
248
256
  * 请求取消控制器(仿axios CancelToken)
249
257
  * @description 注意:当前实现token由请求内部source生成,**不支持外部传入自定义cancelToken**
250
258
  */
251
259
  export declare const CancelToken: {
252
- /**
253
- * 保存token与uni任务映射
254
- */
255
- caches: Record<string, UniTask>;
256
-
257
260
  /**
258
261
  * 注册请求任务
259
262
  * @param token 取消令牌
@@ -369,12 +372,7 @@ export declare function createRequest(defaultConfig: HttpRequestConfig, defaultO
369
372
  export declare function createUploadFile(
370
373
  defaultConfig: UploadConfig,
371
374
  defaultOpts?: UserRequestOpts
372
- ): <T = any>(
373
- url: string,
374
- params: { filePath: string; keyName?: string; [key: string]: any },
375
- config?: UploadConfig,
376
- options?: UserRequestOpts
377
- ) => Promise<T>;
375
+ ): <T = any>(url: string, params: { filePath: string; keyName?: string;[key: string]: any }, config?: UploadConfig, options?: UserRequestOpts) => Promise<T>;
378
376
 
379
377
  /**
380
378
  * 创建下载文件实例
@@ -385,12 +383,7 @@ export declare function createUploadFile(
385
383
  export declare function createDownloadFile(
386
384
  defaultConfig: DownloadConfig,
387
385
  defaultOpts?: UserRequestOpts
388
- ): <T = any>(
389
- url: string,
390
- params?: Record<string, any>,
391
- config?: DownloadConfig,
392
- options?: UserRequestOpts
393
- ) => Promise<T>;
386
+ ): <T = any>(url: string, params?: Record<string, any>, config?: DownloadConfig, options?: UserRequestOpts) => Promise<T>;
394
387
 
395
388
  export type {
396
389
  CacheAdapter,
package/lib/http/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../_rollupPluginBabelHelpers-fa19b5b2.js"),x=require("../object/index.js"),E=require("../magic/index.js");var H=["headers"],M=["localAdapter","sessionAdapter"],$=["keyName","filePath"],R=Object.freeze({JSON:"application/json;charset=UTF-8",TEXT:"text/plain;charset=UTF-8",FORM_URLENCODED:"application/x-www-form-urlencoded;charset=UTF-8",FORM_DATA:"multipart/form-data"}),C={caches:Object.create(null),add:function(r,n){this.caches[r]=n},delete:function(r){Reflect.deleteProperty(this.caches,r)},_cancel:function(r){var n=this.caches[r];typeof(n==null?void 0:n.abort)=="function"&&n.abort()},cancelAll:function(){Object.values(this.caches).forEach(function(r){typeof(r==null?void 0:r.abort)=="function"&&r.abort()}),this.caches=Object.create(null)},source:function(){var r=this,n="".concat(Date.now(),"-").concat(E.getRandomStr(16));return{token:n,cancel:function(){return r._cancel(n)}}}};function k(e,r){return new Promise(function(n,i){var t=uni[e](a._objectSpread2(a._objectSpread2({},r),{},{success:function(c){if(c.statusCode>=200&&c.statusCode<300)return n(c);i({type:"fail",res:c})},fail:function(c){i({type:"fail",res:c})},complete:function(){r.cancelToken&&C.delete(r.cancelToken)}}));r.cancelToken&&C.add(r.cancelToken,t)})}var j=0,T=!1;function U(e){T||(T=!0,uni.showLoading({title:e,mask:!0}))}function D(){T&&(T=!1,uni.hideLoading())}function z(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"加载中...";j++,j===1&&U(e)}function W(){j>0&&j--,j===0&&D()}function q(e,r){return function(n,i,t,s){return e(n,r,i,t,s)}}function I(e){return typeof e=="function"?e:function(){return e||{}}}function w(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=I(r.headers)(),t=I(n.headers)(),s=a._objectSpread2(a._objectSpread2(a._objectSpread2({},r),n),{},{headers:a._objectSpread2(a._objectSpread2({},i),t)}),c=s.headers,p=a._objectWithoutProperties(s,H),l=e.startsWith("http")?e:s.baseURL?s.baseURL+e:e;return{urlRes:l,headers:c,configRes:p}}function N(e){return typeof e=="function"?[e]:Array.isArray(e)?e.filter(function(r){return typeof r=="function"}):[]}function O(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=a._objectSpread2(a._objectSpread2({qs:!0,showError:!0,isCache:!1,cacheConfig:{},loadingText:e.loadingText,loading:!0,reqInterceptor:function(d){return d},resInterceptor:function(d){return d},errInterceptor:function(){}},r),n),t=a._objectSpread2(a._objectSpread2({},r.cacheConfig),n.cacheConfig),s=t.localAdapter,c=t.sessionAdapter,p=a._objectWithoutProperties(t,M),l=a._objectSpread2({key:"",prefix:"api",mode:"local",expire:60*60},p);if(!l.key){var h=(l.prefix||"api").replace(/:$/,"");l.key="".concat(h,":").concat(e.url)}if(l.adapter=l.mode==="session"?c:s,Object.defineProperty(l,"adapter",{writable:!1,configurable:!1}),i.cacheConfig=l,i.isCache){var u=l.adapter;if(!(u&&typeof u.get=="function"&&typeof u.set=="function"))throw new Error("开启缓存(isCache=true)时,请在cacheConfig传入对应mode的适配器,适配器必须实现 get(key)、set(key,value,expire) 方法")}return["reqInterceptor","resInterceptor","errInterceptor"].forEach(function(f){var d=[].concat(a._toConsumableArray(N(r[f])),a._toConsumableArray(N(n[f])));i[f]=d.length?E.composeAsync.apply(void 0,a._toConsumableArray(d)):function(o){return o}}),i}function F(e,r){var n=Array.from(r);return function(){return e.apply(void 0,a._toConsumableArray(x.cloneDeepWithDescriptors(n)))}}function L(e,r,n,i,t){return A.apply(this,arguments)}function A(){return A=a._asyncToGenerator(a._regenerator().m(function e(r,n,i,t,s){var c,p,l,h,u,f,d;return a._regenerator().w(function(o){for(;;)switch(o.p=o.n){case 0:return t.loading&&(z(t.loadingText),c=function(){W(),c=null}),o.p=1,o.n=2,t.reqInterceptor(i,t);case 2:return p=o.v,o.n=3,r(n,p);case 3:return l=o.v,o.n=4,t.resInterceptor(l,t,s);case 4:return h=o.v,o.a(2,h);case 5:return o.p=5,d=o.v,o.n=6,t.errInterceptor(d,t);case 6:if(u=o.v,u===void 0){o.n=7;break}return o.a(2,u);case 7:return o.a(2,Promise.reject(d));case 8:return o.p=8,(f=c)===null||f===void 0||f(),o.f(8);case 9:return o.a(2)}},e,null,[[1,5,8,9]])})),A.apply(this,arguments)}function G(e,r){function n(i,t,s,c,p){var l=C.source(),h=F(n,arguments),u=O({url:i,loadingText:"加载中..."},r,p),f=w(i,e,c),d=f.urlRes,o=f.headers,v=f.configRes,b=u.isCache,m=u.cacheConfig;if(b){var g=m.adapter.get(m.key);if(g)return Promise.resolve(g)}var _=t.toUpperCase()==="GET",y=_?R.JSON:u.qs?R.FORM_URLENCODED:R.JSON,S=a._objectSpread2({cancelToken:l.token,method:t,url:d,data:s,header:a._objectSpread2({"Content-Type":y},o)},v);return L(k,"request",S,u,h).then(function(P){return b&&m.adapter.set(m.key,P,m.expire),P})}return n.get=q(n,"get"),n.post=q(n,"post"),n}function J(e,r){return function n(i,t,s,c){var p=C.source(),l=F(n,arguments),h=O({loadingText:"上传中..."},r,c),u=w(i,e,s),f=u.urlRes,d=u.headers,o=u.configRes,v=a._objectSpread2({keyName:"file"},t),b=v.keyName,m=b===void 0?"file":b,g=v.filePath,_=a._objectWithoutProperties(v,$);if(!g||!g.startsWith("http://tmp")&&!g.startsWith("wxfile://tmp"))return Promise.resolve({data:g});var y=a._objectSpread2({cancelToken:p.token,url:f,filePath:g,name:m,formData:_,header:a._objectSpread2({},d)},o);return L(k,"uploadFile",y,h,l)}}function Y(e,r){return function n(i,t,s,c){var p=C.source(),l=F(n,arguments),h=O({loadingText:"下载中..."},r,c),u=w(i,e,s),f=u.urlRes,d=u.headers,o=u.configRes,v=f;if(t&&a._typeof(t)==="object"){var b=Object.entries(t).filter(function(g){var _=a._slicedToArray(g,2),y=_[1];return y!=null&&y!==""}).map(function(g){var _=a._slicedToArray(g,2),y=_[0],S=_[1];return"".concat(encodeURIComponent(y),"=").concat(encodeURIComponent(S))}).join("&");b&&(v+=(v.includes("?")?"&":"?")+b)}var m=a._objectSpread2({cancelToken:p.token,url:v,header:a._objectSpread2({},d)},o);return L(k,"downloadFile",m,h,l)}}exports.CONTENT_TYPES=R;exports.CancelToken=C;exports.createDownloadFile=Y;exports.createRequest=G;exports.createUploadFile=J;exports.endLoading=W;exports.hideLoading=D;exports.promisifyRequest=k;exports.showLoading=U;exports.startLoading=z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../_rollupPluginBabelHelpers-fa19b5b2.js"),x=require("../object/index.js"),U=require("../magic/index.js");var H=["cancelToken"],M=["headers"],G=["keyName","filePath"],R=Object.freeze({JSON:"application/json;charset=UTF-8",TEXT:"text/plain;charset=UTF-8",FORM_URLENCODED:"application/x-www-form-urlencoded;charset=UTF-8",FORM_DATA:"multipart/form-data"}),C=Object.seal(function(){var e=Object.create(null);function i(a){var r=e[a];typeof(r==null?void 0:r.abort)=="function"&&r.abort()}return Object.seal({add:function(r,t){e[r]=t},delete:function(r){Reflect.deleteProperty(e,r)},_cancel:i,cancelAll:function(){Object.values(e).forEach(function(r){typeof(r==null?void 0:r.abort)=="function"&&r.abort()}),Object.keys(e).forEach(function(r){return delete e[r]})},source:function(){var r="".concat(Date.now(),"-").concat(U.getRandomStr(16));return{token:r,cancel:function(){return i(r)}}}})}());function k(e,i){return new Promise(function(a,r){var t=i.cancelToken,s=n._objectWithoutProperties(i,H),f=uni[e](n._objectSpread2(n._objectSpread2({},s),{},{success:function(c){if(c.statusCode>=200&&c.statusCode<300)return a(c);var d=new Error("HTTP status ".concat(c.statusCode));r(Object.assign(d,{type:"fail",res:c}))},fail:function(c){var d=new Error(c.errMsg||"request fail");r(Object.assign(d,{type:"fail",res:c}))},complete:function(){t&&C.delete(t)}}));t&&C.add(t,f)})}var T=0,S=!1;function $(e){S||(S=!0,uni.showLoading({title:e,mask:!0}))}function D(){S&&(S=!1,uni.hideLoading())}function z(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"加载中...";T++,T===1&&$(e)}function W(){T>0&&T--,T===0&&D()}function N(e,i){return function(a,r,t,s){return e(a,i,r,t,s)}}function I(e){return typeof e=="function"?e:function(){return e||{}}}function A(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=I(i.headers)(),t=I(a.headers)(),s=n._objectSpread2(n._objectSpread2(n._objectSpread2({},i),a),{},{headers:n._objectSpread2(n._objectSpread2({},r),t)}),f=s.headers,g=n._objectWithoutProperties(s,M),c=e.startsWith("http")?e:s.baseURL?"".concat(s.baseURL.replace(/\/+$/,""),"/").concat(e.replace(/^\/+/,"")):e;return{urlRes:c,headers:f,configRes:g}}function P(e){return typeof e=="function"?[e]:Array.isArray(e)?e.filter(function(i){return typeof i=="function"}):[]}function J(e){var i=e.url,a=e.config,r=a===void 0?{}:a,t=e.baseOpts,s=t===void 0?{}:t,f=e.defaultOpts,g=f===void 0?{}:f,c=e.options,d=c===void 0?{}:c,l=n._objectSpread2(n._objectSpread2({enable:!1,key:"",prefix:"api",expire:60*60},g.cacheConfig),d.cacheConfig);if(!l.key){var p=(l.prefix||"api").replace(/:$/,"");l.key="".concat(p,":").concat(i)}var u=l.adapter;if(l.enable&&(typeof u=="function"&&(u=u({url:i,config:r,options:s})),!(u&&typeof u.get=="function"&&typeof u.set=="function")))throw new Error("开启缓存(cacheConfig.enable=true)时,请在cacheConfig传入对应adapter的适配器,适配器必须实现 get(key)、set(key,value,expire) 方法");return Object.freeze(n._objectSpread2(n._objectSpread2({},l),{},{adapter:u}))}function E(e){var i=e.url,a=e.loadingText,r=e.config,t=e.defaultOpts,s=t===void 0?{}:t,f=e.options,g=f===void 0?{}:f,c=e.isCache,d=c===void 0?!0:c,l=n._objectSpread2(n._objectSpread2({qs:!0,showError:!0,cacheConfig:{},loadingText:a,loading:!0,reqInterceptor:function(u){return u},resInterceptor:function(u){return u},errInterceptor:function(){}},s),g);return d&&(l.cacheConfig=J({url:i,config:r,baseOpts:l,defaultOpts:s,options:g})),["reqInterceptor","resInterceptor","errInterceptor"].forEach(function(p){var u=[].concat(n._toConsumableArray(P(s[p])),n._toConsumableArray(P(g[p])));l[p]=u.length?U.composeAsync.apply(void 0,n._toConsumableArray(u)):function(o){return o}}),l}function q(e,i){var a=Array.from(i);return function(){return e.apply(void 0,n._toConsumableArray(x.cloneDeepWithDescriptors(a)))}}function L(e,i,a,r,t){return w.apply(this,arguments)}function w(){return w=n._asyncToGenerator(n._regenerator().m(function e(i,a,r,t,s){var f,g,c,d,l,p,u;return n._regenerator().w(function(o){for(;;)switch(o.p=o.n){case 0:return f=null,t.loading&&(z(t.loadingText),f=function(){W(),f=null}),o.p=1,o.n=2,t.reqInterceptor(r,t);case 2:return g=o.v,o.n=3,i(a,g);case 3:return c=o.v,o.n=4,t.resInterceptor(c,t,s);case 4:return d=o.v,o.a(2,d);case 5:return o.p=5,u=o.v,o.n=6,t.errInterceptor(u,t,s);case 6:if(l=o.v,l===void 0){o.n=7;break}return o.a(2,l);case 7:return o.a(2,Promise.reject(u));case 8:return o.p=8,(p=f)===null||p===void 0||p(),o.f(8);case 9:return o.a(2)}},e,null,[[1,5,8,9]])})),w.apply(this,arguments)}function Y(e,i){function a(r,t,s,f,g){var c=C.source(),d=q(a,arguments),l=A(r,e,f),p=l.urlRes,u=l.headers,o=l.configRes,v=E({url:r,loadingText:"加载中...",config:n._objectSpread2(n._objectSpread2({},o),{},{headers:u}),defaultOpts:i,options:g,isCache:!0}),h=v.cacheConfig,j=h.enable;if(j){var b=h.adapter.get(h.key);if(b)return Promise.resolve(b)}var _=t.toUpperCase()==="GET",y=_?R.JSON:v.qs?R.FORM_URLENCODED:R.JSON,O=n._objectSpread2({cancelToken:c.token,method:t,url:p,data:s,header:n._objectSpread2({"Content-Type":y},u)},o),m=L(k,"request",O,v,d).then(function(F){return j&&h.adapter.set(h.key,F,h.expire),F});return m.cancel=c.cancel,m.token=c.token,m}return a.get=N(a,"get"),a.post=N(a,"post"),a}function B(e,i){return function a(r,t,s,f){var g=C.source(),c=q(a,arguments),d=A(r,e,s),l=d.urlRes,p=d.headers,u=d.configRes,o=E({url:r,loadingText:"上传中...",config:n._objectSpread2(n._objectSpread2({},u),{},{headers:p}),defaultOpts:i,options:f,isCache:!1}),v=n._objectSpread2({keyName:"file"},t),h=v.keyName,j=h===void 0?"file":h,b=v.filePath,_=n._objectWithoutProperties(v,G);function y(m){return m?!!(m.startsWith("wxfile://tmp")||m.startsWith("http://tmp")||m.startsWith("http://temp")||m.startsWith("blob:")||m.startsWith("_doc/")):!1}if(!y(b))return Promise.resolve({data:b});var O=n._objectSpread2({cancelToken:g.token,url:l,filePath:b,name:j,formData:_,header:n._objectSpread2({},p)},u);return L(k,"uploadFile",O,o,c)}}function V(e,i){return function a(r,t,s,f){var g=C.source(),c=q(a,arguments),d=A(r,e,s),l=d.urlRes,p=d.headers,u=d.configRes,o=E({url:r,loadingText:"下载中...",config:n._objectSpread2(n._objectSpread2({},u),{},{headers:p}),defaultOpts:i,options:f,isCache:!1}),v=l;if(t&&n._typeof(t)==="object"&&!Array.isArray(t)){var h=Object.entries(t).filter(function(b){var _=n._slicedToArray(b,2),y=_[1];return y!=null&&y!==""}).map(function(b){var _=n._slicedToArray(b,2),y=_[0],O=_[1];return"".concat(encodeURIComponent(y),"=").concat(encodeURIComponent(O))}).join("&");h&&(v+=(v.includes("?")?"&":"?")+h)}var j=n._objectSpread2({cancelToken:g.token,url:v,header:n._objectSpread2({},p)},u);return L(k,"downloadFile",j,o,c)}}exports.CONTENT_TYPES=R;exports.CancelToken=C;exports.createDownloadFile=V;exports.createRequest=Y;exports.createUploadFile=B;exports.endLoading=W;exports.hideLoading=D;exports.promisifyRequest=k;exports.showLoading=$;exports.startLoading=z;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "utils-uniapp",
3
- "version": "1.1.11",
3
+ "version": "1.1.13",
4
4
  "description": "aubyn's utils for uniapp",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",