PageSourceSearch

https://battcn.com/js/fs-file-uploader-506e96b9-5UOBGa9g.js

js battcn.com collected 2026-09-25 22:11:17 UTC 9,204 bytes, 1 lines download raw bytes

1var ve=Object.defineProperty,ge=Object.defineProperties;var he=Object.getOwnPropertyDescriptors;var Q=Object.getOwnPropertySymbols;var be=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable;var W=(l,a,s)=>a in l?ve(l,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):l[a]=s,d=(l,a)=>{for(var s in a||(a={}))be.call(a,s)&&W(l,s,a[s]);if(Q)for(var s of Q(a))xe.call(a,s)&&W(l,s,a[s]);return l},B=(l,a)=>ge(l,he(a));var r=(l,a,s)=>new Promise((f,u)=>{var w=c=>{try{v(s.next(c))}catch(g){u(g)}},m=c=>{try{v(s.throw(c))}catch(g){u(g)}},v=c=>c.done?f(c.value):Promise.resolve(c.value).then(w,m);v((s=s.apply(l,a)).next())});import{n as Le,o as Ue,u as Te,m as V,k as Fe,j as Re}from"./bootstrap-CDQbDWFJ.js";import{d as Pe,j as ze,o as L,c as I,v as Ce,w as X,z as k,n as je,g as Be,m as Y,q as Ve,A as Ie,e as x,f as U,b as ke,x as Oe}from"../jse/index-index-CFRszfxt.js";const Se=Pe({name:"FsFileUploader",inheritAttrs:!1,props:{modelValue:{},limit:{type:Number},sizeLimit:{type:[Number,Object]},pixelLimit:{type:Object,required:!1},showLimitTip:{type:Boolean,default:!0},buildUrl:{default(){return l=>l}},buildUrls:{},button:{type:Object},listType:{type:String},beforeUpload:{type:Function},beforeUploadRequest:{type:Function},uploader:{type:Object},preview:{type:Object},valueType:{type:String,default:"url"},getFileName:{}},emits:["change","update:modelValue","success","exceed","remove"],setup(l,a){const{ui:s}=Ue(),{t:f}=Te(),u=x([]),w=x(),m=x(),v=U(()=>l.getFileName||(e=>r(null,null,function*(){if(typeof e!="string")return console.warn("获取文件名失败,请配置getFileName"),e;const t=e.substring(e.lastIndexOf("/")+1),i=t.indexOf("?");return i>=0?t.substring(0,i):t})));function c(e){return l.valueType==="object"?e:e[l.valueType]}function g(e){const t=[];for(let i of e)t.push(c(i));return t}function Z(e){return r(this,null,function*(){const t=[];for(let i of e){let o;typeof i=="string"||typeof i=="number"||typeof i=="boolean"||i instanceof Date?(o={url:void 0,key:i,value:i},l.valueType!=="object"&&(o[l.valueType]=i)):o=i,o[s.upload.id]||(o[s.upload.id]=Math.random()+""),o.status||(o.status=s.upload.status.success),t.push(o)}yield E(t);for(const i of t)if(!i.name){const o=i.url||i.value;i.name=yield v.value(o,i)}return t})}function O(e){return r(this,null,function*(){const t=[];for(let i of e){const o=i.response||i.fsRes,n=d({size:i.size,name:i.name,uid:i.uid},o!=null?o:i);t.push(n)}return yield E(t),g(t)})}function T(e){return r(this,null,function*(){const t=[];if(e==null||e.length===0){u.value=t;return}if(e instanceof Array)for(let o of e)t.push(o);else t.push(e);const i=yield Z(t);_(i)})}function ee(){return r(this,null,function*(){yield N.onChange(),yield N.onBlur()})}function S(e){return r(this,null,function*(){let t=yield te(e);A(t),Oe(()=>r(null,null,function*(){yield ee()}))})}function te(e){return r(this,null,function*(){if(e==null||e.length===0)return l.limit===1?null:[];if(l.limit===1)return(yield O(e))[0];const t=[];for(let i of e)s.upload.isSuccess(i)&&t.push(i);return yield O(t)})}function E(e){return r(this,null,function*(){let t=e.filter(i=>i.url==null);if(l.buildUrls){const i=t.map(n=>c(n)),o=yield l.buildUrls(i);for(let n=0;n<t.length;n++)t[n].url=o[n]}else if(l.buildUrl)for(let i of t)i.url=yield l.buildUrl(c(i));else for(let i of t)i.url=i.value||i.key})}function q(e){a.emit("change",e)}function A(e){w.value=e,a.emit("update:modelValue",e)}const N=s.formItem.injectFormItemContext();ke(()=>l.modelValue,e=>r(null,null,function*(){q(e),e!==w.value&&(yield T(e))})),T(l.modelValue);function ie(){return u.value.filter(e=>e.status===s.upload.status.uploading).length>0}function h(e,t){_(t),S(t)}function F(e,t,i){a.emit("success",{res:e,file:t,fileList:i}),h(t,i)}function D(e){let t;return e>1024*1024*1024?t=(e/(1024*1024*1024)).toFixed(2)+"G":e>1024*1024?t=(e/(1024*1024)).toFixed(2)+"M":t=Math.round(e/1024)+"K",t}const M=(e=!1)=>{const t=e?s.upload.limitAdd:0;return l.limit>0&&u.value.length>=l.limit+t};function le(){l.showLimitTip&&s.message.warn(f("fs.extends.fileUploader.limitTip",[l.limit]))}function oe(){if(M(!0))throw le(),a.emit("exceed",{fileList:u.value,limit:l.limit}),new Error("文件数量超限")}function se(e){if(l.sizeLimit!=null){let t=l.sizeLimit,i=null;if(typeof l.sizeLimit=="number"?i=(o,n)=>{const y=D(n),p=D(e.size);s.message.warn(f("fs.extends.fileUploader.sizeLimitTip",[y,p]))}:(t=l.sizeLimit.limit,i=l.sizeLimit.tip),e.size>t){let o="文件大小超过限制,当前文件大小:"+e.size/1024+"k";throw i(e.size,t),new Error(o)}}}const ae=e=>{let t=0,i=0,o="";if(l.pixelLimit)Array.isArray(l.pixelLimit)?(t=l.pixelLimit[0],i=l.pixelLimit[1]||l.pixelLimit[0]||0,o=l.pixelLimit[2]||""):typeof l.pixelLimit=="object"&&(t=l.pixelLimit.width||0,i=l.pixelLimit.height||0,o=l.pixelLimit.tip||"");else return Promise.resolve(!0);let n=o||f("fs.extends.fileUploader.pixelLimitTip",[t,i]);return new Promise((y,p)=>{let G=new FileReader;G.onload=we=>{var H;let J=(H=we.target)==null?void 0:H.result,b=new Image;b.onload=function(){t&&b.width>t||i&&b.height>i?(s.message.warn(n),p(n)):y(!0)},b.onerror=function(Ae){s.message.warn(f("fs.extends.fileUploader.loadError")),p(f("fs.extends.fileUploader.loadError"))},J&&(b.src=J)}
1,G.readAsDataURL(e)})},R=(i,...o)=>r(null,[i,...o],function*(e,t=u.value){if(l.beforeUpload&&(yield l.beforeUpload({file:e,fileList:u.value}))===!1)return!1;try{oe(),se(e),z()&&(yield ae(e))}catch(n){return!1}});function _(e){u.value=e}function ne(e){return r(this,null,function*(){e.options=l.uploader||{};const{getUploaderImpl:t}=Re();let i=yield t(e.options.type);if(i==null)throw s.message.warn("Sorry,The uploader component is not ready yet"),new Error("Sorry,The component is not ready yet");return yield i==null?void 0:i.upload(e)})}function P(e){return r(this,null,function*(){l.beforeUploadRequest&&(yield l.beforeUploadRequest(e));const{file:t,onProgress:i,onSuccess:o,onError:n}=e,y={file:t,fileName:t.name,onProgress:i};try{const p=yield ne(y);o(p)}catch(p){console.error("上传失败",p),n(p)}})}const re=U(()=>fe()?{is:"FsIcon",icon:s.icons.plus}:d({is:"FsButton",icon:s.icons.upload,text:f("fs.extends.fileUploader.text")},l.button)),K=x(!1),$=x(),ue=U(()=>d(d({},s.dialog.footer()),l.preview));function ce(e){return new Promise((t,i)=>{const o=new FileReader;o.readAsDataURL(e),o.onload=()=>t(o.result),o.onerror=n=>i(n)})}function z(){return l.listType===s.upload.typeImageCard||l.listType===s.upload.typeImage}function fe(){return l.listType===s.upload.typeImageCard}const C=e=>r(null,null,function*(){var t,i;if(!z()){let o;e.url?o=e.url:s.type==="antdv"?o=(t=e.response)==null?void 0:t.url:s.type==="element"?o=(i=e.fsRes)==null?void 0:i.url:o=e.url,window.open(o,"_blank")}!e.url&&!e.preview&&e.originFileObj&&(e.preview=yield ce(e.originFileObj)),$.value=e.url||e.preview,K.value=!0});function pe(){const e={customRequest:P,beforeUpload:R,limit:l.limit,listType:l.listType,onChange:t=>{const{file:i,fileList:o}=t;h(i,o),i.status==="done"&&F(i.response,i,o)},onPreview:C};return l.limit!=null&&a.attrs.maxCount==null&&(e.maxCount=l.limit),e}function de(){return{action:"",listType:l.listType,limit:l.limit,beforeUpload:R,httpRequest:P,onExceed:e=>{a.emit("exceed",e,u)},onRemove:(e,t)=>{h(e,t),a.emit("remove",e,t)},onChange:(e,t)=>
1{h(e,t)},onSuccess:(e,t,i)=>{e!=null&&(t.response=e,t.fsRes=e,F(e,t,i))},onPreview:C}}const j={};function me(){function e(t){let i=t.value||t;i=Fe(i);for(let o of i){const n=j[o.id];n&&V(o,n)}return i}return{action:"",limit:l.limit,listType:l.listType,onBeforeUpload:o=>r(null,[o],function*({file:t,fileList:i}){return R(t,i)}),customRequest:t=>{const i=t.file;P(B(d({},t),{file:i.file,onSuccess:o=>r(null,null,function*(){const n=l.valueType==="object"?o:o[l.valueType];o.url=yield l.buildUrl(n),V(i,o),j[i.id]=B(d({},o),{fsRes:o}),t.onFinish(i)}),onProgress:o=>{t.onProgress(o)}}))},onExceed:t=>{a.emit("exceed",t)},onRemove:t=>{a.emit("remove",t)},onChange:t=>{const{event:i,file:o,fileList:n}=t,y=e(n);h(o,[...y])},onFinish:t=>{const i=j[t.id];i&&V(t,i);const o=e(u);F(i,t,o)},onPreview:C}}const ye=U(()=>{let e=null;return s.type==="antdv"?e=pe():s.type==="element"?e=de():e=me(),d(d({},e),a.attrs)});return{ui:s,fileList:u,fileUploaderRef:m,initValue:T,onChange:q,onInput:A,hasUploading:ie,isPicture:z,computedFileSelectBtn:re,previewVisible:K,previewImage:$,computedPreview:ue,computedOnLimit:M,computedBinding:ye,emitValue:S}}}),Ee=["src"];function qe(l,a,s,f,u,w){return L(),ze("div",{class:Ie(["fs-file-uploader",{"fs-file-uploader-limit":l.computedOnLimit()}])},[(L(),I(k(l.ui.upload.name),Y({ref:"fileUploaderRef","file-list":l.fileList,"onUpdate:fileList":a[0]||(a[0]=m=>l.fileList=m)},l.computedBinding),{default:X(()=>[(L(),I(k(l.computedFileSelectBtn.is),je(Be(l.computedFileSelectBtn)),null,16))]),_:1},16,["file-list"])),l.isPicture()?(L(),I(k(l.ui.dialog.name),Y({key:0,[l.ui.dialog.visible]:l.previewVisible,["onUpdate:"+l.ui.dialog.visible]:a[1]||(a[1]=m=>l.previewVisible=m)},l.computedPreview),{default:X(()=>[Ve("img",{style:{"max-width":"100%","max-height":"100%"},src:l.previewImage},null,8,Ee)]),_:1},16)):Ce("",!0)],2)}const _e=Le(Se,[["render",qe]]);export{_e as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.