ipink-util
Version:
util.js
2 lines (1 loc) • 3.94 kB
JavaScript
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./request.js"),o=require("./config.js"),t=require("./is.js"),i=require("./util.js"),a=require("./toast.js"),n=require("./image.js"),uploadFile=n=>{let{o:s,prefix:r=o.i.t,key:l=o.i.l,file:f,u:d="image",formData:u,p:c,T:p,m:y=p,h:g=o.i.h,loading:T=o.i.loading,k:m,L:x,D:w=x,v:h,j:k=o.i.j}=n||{};const L=e.q(o.i.U,s,r);void 0===w&&(w=o.i.P),void 0===y&&(y=o.i.A);let D=o.O();return y&&("function"==typeof T?T(m||""):D&&("undefined"!=typeof uni?uni.m({title:m,icon:"none"}):wx.m({title:m||"",icon:"none"}))),new Promise((n=>{let s={url:L,S:f,name:l,u:d,formData:u,timeout:o.i.timeout,p:{...c}};e.B(s.p),s=o.J("BeforeUpload",s);const r=uni.uploadFile({...s,N:e=>{let s=e.$;var r=t.C(e.data)?JSON.parse(e.data):e.data||{};if(r=o.J("AfterUpload",r),200==e.statusCode){const e=r[o.i.F]==o.i.M;let a="",s=o.i.G;if(e){if(s){let e=i.H(r,s)?r[s]:i.H(r.data,s)?r.data[s]:r.data;a=t.isArray(e)?e[0]:e}else a=t.isArray(r.data)?r.data[0]:r.data;return n({ok:!0,I:f,data:a,K:r.K||r.message||"上传成功"})}}s=r.K||r.message||s||h,w&&s&&("function"==typeof k?k(s):a.j(s)),n({ok:!1,I:f,K:s})},R:e=>{let o=e&&e.$||h;w&&o&&("function"==typeof k?k(o):a.j(o)),n({ok:!1,I:f,K:o,V:e})},complete:()=>{y&&("function"==typeof g?g():D&&("undefined"!=typeof uni?uni.hideLoading():wx.hideLoading()))}});o.J("ExecUpload",r)}))},uploadMoreFile=n=>{let{o:s,prefix:r=o.i.t,files:l,key:f=o.i.l,u:d="image",formData:u,p:c,T:p,m:y=p,h:g=o.i.h,loading:T=o.i.loading,k:m,L:x,D:w=x,v:h,j:k=o.i.j}=n||{};void 0===w&&(w=o.i.P),void 0===y&&(y=o.i.A);let L=o.O();return y&&("function"==typeof T?T(m||""):L&&("undefined"!=typeof uni?uni.m({title:m,icon:"none"}):wx.m({title:m||"",icon:"none"}))),new Promise((async n=>{if(t.W()){let e=[],o=[],t=[];return t=(l||[]).map((async(e,o)=>uploadFile({o:s,key:f,u:d,formData:u,p:c,file:e,prefix:r,D:!1}).catch((e=>e)))),void(await i.allSettled(t).then((t=>{if(t.forEach((t=>{t&&t.ok?e.push(t):o.push(t)})),e.length>0?n({ok:!0,data:e.map((e=>e.data))}):n({ok:!1,K:"上传失败!",data:e.map((e=>e.data)),V:o[0].V}),o.length>0){let e=o[0].V&&o[0].V.$,t=`${o.length}份上传失败!${e?"失败原因:"+e:""}`;w&&t&&("function"==typeof k?k(t):a.j(t))}})).catch((e=>{let o=e&&e.$||e.$||h;w&&o&&("function"==typeof k?k(o):a.j(o)),n({ok:!1,K:"上传失败!",V:e})})))}let p=(l||[]).map(((e,o)=>({name:o,uri:e})));let T={url:e.q(o.i.U,s,r),files:p,u:d,formData:u,p:{...c}};e.B(T.p),T=o.J("BeforeUpload",T);const m=uni.uploadFile({...T,N:e=>{let s=e?.$;var r=t.C(e.data)?JSON.parse(e.data):e.data||{};if(r=o.J("AfterUpload",r),200==e.statusCode){if(r[o.i.F]==o.i.M){let e=[],a=o.i.G;if(a){let o=i.H(r,a)?r[a]:i.H(r.data,a)?r.data[a]:r.data;e=t.isArray(o)?o:[]}else e=t.isArray(r.data)?r.data:[];return n({ok:!0,I:l,data:e,K:r.K||r.message||"上传成功"})}}s=r.K||r.message||s||h,w&&s&&("function"==typeof k?k(s):a.j(s)),n({ok:!1,data:[],K:s})},R:e=>{let o=e&&e.$||h;w&&o&&("function"==typeof k?k(o):a.j(o)),n({ok:!1,I:l,K:o,V:e})},complete:()=>{y&&("function"==typeof g?g():L&&("undefined"!=typeof uni?uni.hideLoading():wx.hideLoading()))}});o.J("ExecUpload",m)}))};exports.upload=async function(e,t){let{o:i,key:a,u:s,formData:r,p:l,T:f,m:d,h:u,loading:c,k:p,L:y,D:g=y,v:T,j:m,prefix:x,count:w=1,X:h=1,Y:k,Z:L=60,camera:D="back",_:v=!0,type:j}=e||{},q=[];if(q="other"==j?await n.ee({count:w,X:h,Y:k,type:"all",D:g}):"video"==j?await n.oe({X:h,Z:L,camera:D,_:v,D:g}):await n.te({count:w,X:h,u:s,Y:k,D:g}),q=o.J("AfterChooseFile",q),!q||!q.length)return{ok:!1};if(t){if(!1===t(q))return{ok:!1}}return new Promise((async e=>{let o={};o=1===q.length?await uploadFile({o:i,key:a,u:s,formData:r,p:l,file:q[0],T:f,prefix:x,m:d,h:u,loading:c,k:p,D:g,v:T,j:m}):await uploadMoreFile({o:i,key:a,u:s,formData:r,p:l,files:q,T:f,prefix:x,m:d,h:u,loading:c,k:p,D:g,v:T,j:m}),e(o)}))},exports.uploadFile=uploadFile,exports.uploadMoreFile=uploadMoreFile;