1 line
15 KiB
JavaScript
1 line
15 KiB
JavaScript
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0dc87b4b"],{"13a3":function(e,t,a){"use strict";a("bada")},"182d":function(e,t,a){var r=a("f8cd"),n=RangeError;e.exports=function(e,t){var a=r(e);if(a%t)throw n("Wrong offset");return a}},"1d02":function(e,t,a){"use strict";var r=a("ebb5"),n=a("a258").findLastIndex,o=r.aTypedArray,c=r.exportTypedArrayMethod;c("findLastIndex",(function(e){return n(o(this),e,arguments.length>1?arguments[1]:void 0)}))},"3c5d":function(e,t,a){"use strict";var r=a("da84"),n=a("c65b"),o=a("ebb5"),c=a("07fa"),i=a("182d"),l=a("7b0b"),d=a("d039"),u=r.RangeError,s=r.Int8Array,f=s&&s.prototype,p=f&&f.set,b=o.aTypedArray,m=o.exportTypedArrayMethod,v=!d((function(){var e=new Uint8ClampedArray(2);return n(p,e,{length:1,0:3},1),3!==e[1]})),j=v&&o.NATIVE_ARRAY_BUFFER_VIEWS&&d((function(){var e=new s(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));m("set",(function(e){b(this);var t=i(arguments.length>1?arguments[1]:void 0,1),a=l(e);if(v)return n(p,this,a,t);var r=this.length,o=c(a),d=0;if(o+t>r)throw u("Wrong length");while(d<o)this[t+d]=a[d++]}),!v||j)},"77d9":function(e,t,a){a("1d02")},"8e74":function(e,t,a){"use strict";a("caad"),a("d9e2"),a("907a"),a("3c5d"),a("fa9e"),a("77d9");var r=a("7a23"),n=a("bc3a"),o=a.n(n),c=a("fedc");function i(e,t,a){a.width=t.width,a.height=t.height;const r=t.naturalHeight/t.height,n=a.getContext("2d");n.drawImage(t,0,0,a.width,a.height),e.forEach(e=>{n.beginPath(),n.strokeStyle="red",n.moveTo(e[0][0]/r,e[0][1]/r),n.lineTo(e[1][0]/r,e[1][1]/r),n.lineTo(e[2][0]/r,e[2][1]/r),n.lineTo(e[3][0]/r,e[3][1]/r),n.closePath(),n.stroke()})}var l=a("5502");const d=e=>(Object(r["pushScopeId"])("data-v-c62807bc"),e=e(),Object(r["popScopeId"])(),e),u={class:"flex align-center"},s=d(()=>Object(r["createElementVNode"])("h3",null,"提取文件类型:",-1)),f=Object(r["createTextVNode"])("文件解析"),p=Object(r["createTextVNode"])("图片解析"),b=d(()=>Object(r["createElementVNode"])("h1",null,"文件文本提取工具",-1)),m=d(()=>Object(r["createElementVNode"])("p",null,"上传文件提取文本内容(支持 .txt, .pdf, .docx, mp4 , mp3, wav)",-1)),v={class:"container"},j=d(()=>Object(r["createElementVNode"])("input",{type:"file",id:"file-input",accept:".txt,.pdf,.docx,'.mp4','.mp3','.wav'"},null,-1)),y={id:"file-info"},O=d(()=>Object(r["createElementVNode"])("button",{id:"extract-btn",disabled:""},"提取文本",-1)),h=d(()=>Object(r["createElementVNode"])("h3",null,"提取结果:",-1)),g={id:"result"},w={"element-loading-text":"模型加载中......"},x={class:"flex align-center just-between"},V=d(()=>Object(r["createElementVNode"])("h1",null,"文件文本提取工具",-1)),A={title:"刷新",class:"pointer"},E=d(()=>Object(r["createElementVNode"])("p",null,"上传文件提取文本内容(支持 .png, .jpg )",-1)),N={class:"container flex",style:{height:"248px"}},C={class:"mr10"},T=Object(r["createTextVNode"])("上传图片"),k={id:"file-info"},B={class:"box"},I={class:"imd"},_=["src"],R=["src"],L={class:"imd"},S=d(()=>Object(r["createElementVNode"])("h3",null,"提取结果:",-1)),D={class:"textModel noScollLine","element-loading-text":"图片解析中......"},F={key:0},U=Object(r["createTextVNode"])("取消"),P=Object(r["createTextVNode"])("确认");var z={__name:"index",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(e,{emit:t}){const a=e,n=Object(l["b"])(),d=Object(r["ref"])("请先上传文件..."),z=Object(r["ref"])("未选择文件"),{proxy:M}=Object(r["getCurrentInstance"])(),$=Object(r["ref"])("文件解析"),Y=Object(r["ref"])(!1),W=Object(r["ref"])({}),G=Object(r["ref"])(!0),J=Object(r["ref"])(!1),H=Object(r["ref"])(""),K=Object(r["ref"])("请先上传文件..."),q=Object(r["ref"])([]),Q=Object(r["ref"])(),X=Object(r["ref"])(),Z=Object(r["reactive"])({width:"",height:""}),ee=Object(r["ref"])({Authorization:n.getters.token}),te=Object(r["ref"])(""),ae=Object(r["ref"])(""),re=()=>{G.value=!imgIsLoad,Y.value=!!imgIsLoad,Object(r["nextTick"])(()=>{const e=document.getElementById("file-input"),t=document.getElementById("extract-btn");let a=null;e.addEventListener("change",(function(e){e.target.files.length>0?(a=e.target.files[0],z.value=`已选择: ${a.name} (${(a.size/1024).toFixed(2)} KB)`,t.disabled=!1,ae.value=a.name,pe(a)):(a=null,z.value="未选择文件",t.disabled=!0),"video/mp4"==a.type&&upfileOnchange(a)})),t.addEventListener("click",(async function(){if(!a)return d.value="请先选择文件";d.value="正在处理文件...";try{let e="";const t=a.name.split(".").pop().toLowerCase();if("txt"===t)e=await ne(a);else if("pdf"===t)e=await oe(a);else if("docx"===t)e=await ce(a);else{if(!["mp4","mp3","wav"].includes(t))throw new Error("不支持的文件类型");await start(),e="数据加载有点慢,请稍等。。。。",setTimeout(()=>{d.value=videoText},2e3)}d.value=e||"未提取到文本内容"}catch(e){d.value="处理失败: "+e.message}}))})};function ne(e){return new Promise((t,a)=>{const r=new FileReader;r.onload=e=>t(e.target.result),r.onerror=e=>a(new Error("文件读取失败")),r.readAsText(e)})}async function oe(e){return new Promise((t,a)=>{const r=new FileReader;r.onload=async function(){try{const e=new Uint8Array(this.result),a=await pdfjsLib.getDocument(e).promise;let r="";for(let t=1;t<=a.numPages;t++){const e=await a.getPage(t),n=await e.getTextContent(),o=n.items.map(e=>e.str).join(" ");r+=o+"\n\n"}t(r)}catch(e){a(e)}},r.onerror=a,r.readAsArrayBuffer(e)})}async function ce(e){return new Promise((t,a)=>{const r=new FileReader;r.onload=function(e){const r=e.target.result;mammoth.extractRawText({arrayBuffer:r}).then((function(e){t(e.value)})).catch((function(e){a(e)}))},r.onerror=a,r.readAsArrayBuffer(e)})}Object(r["watch"])(()=>a.modelValue,e=>{e&&re()},{immediate:!0,deep:!0});const ie=e=>{te.value=e.data},le=e=>{ae.value=e.name,W.value=e,H.value=URL.createObjectURL(e.raw),J.value=!0,K.value="图片文件解析中。。。",setTimeout(()=>{de()},600)},de=async()=>{const e=Q.value,t=X.value,a=await c["recognize"](e),{text:r,points:n}=a;i(n,e,t),Z.width=e.width-40+"px",q.value=r,J.value=!1,K.value="解析失败,请选择清晰一点的图片重试!"},ue=e=>{d.value="请先上传文件...",z.value="选择文件",W.value={},K.value="请先上传文件...",q.value=[],H.value="",ae.value="","图片解析"==e&&(imgIsLoad||M.$message({type:"error",message:"加载失败,请刷新页面"}))},se=()=>{if("文件解析"==$.value){if("请先上传文件..."==d.value)return M.$message({type:"warning",message:"请解析文件"});t("change",{text:d.value,fjdz:te.value,fjmc:ae.value})}else{if(0==q.value.length)return M.$message({type:"warning",message:"请解析文件"});t("change",{text:q.value.join(",\n"),fjdz:te.value,fjmc:ae.value})}fe()},fe=()=>{d.value="请先上传文件",z.value="未选择文件",W.value={},K.value="请先上传文件...",q.value=[],H.value="",$.value="文件解析",t("update:modelValue",!1)},pe=e=>{let t=new FormData;t.append("file",e);let a=localStorage.getItem("token");o()({method:"post",url:"/mosty-api/mosty-base/minio/image/upload/id",data:t,headers:{"Content-type":"multipart/form-data",Authorization:a}}).then(e=>{te.value=e.data?e.data.data:null})},be=async()=>{if(!imgIsLoad)try{await c["init"](),imgIsLoad=!0,M.$message({type:"success",message:"加载成功"})}catch(e){M.$message({type:"error",message:"加载失败,请刷新页面"}),imgIsLoad=!1}},me=()=>{document.getElementById("file-input").click()};return(t,a)=>{const n=Object(r["resolveComponent"])("el-radio"),o=Object(r["resolveComponent"])("el-radio-group"),c=Object(r["resolveComponent"])("RefreshRight"),i=Object(r["resolveComponent"])("el-icon"),l=Object(r["resolveComponent"])("CircleCheckFilled"),M=Object(r["resolveComponent"])("CircleCloseFilled"),Z=Object(r["resolveComponent"])("el-button"),te=Object(r["resolveComponent"])("el-upload"),ae=Object(r["resolveComponent"])("el-dialog"),re=Object(r["resolveDirective"])("loading");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",null,[Object(r["createVNode"])(ae,{modelValue:e.modelValue,"onUpdate:modelValue":a[1]||(a[1]=e=>Object(r["isRef"])(modelValue)?modelValue.value=e:null),title:"文件解析",width:"1000px","show-close":!0,center:!0,"close-on-click-modal":!1,"before-close":fe},{footer:Object(r["withCtx"])(()=>[Object(r["createVNode"])(Z,{onClick:fe},{default:Object(r["withCtx"])(()=>[U]),_:1}),Object(r["createVNode"])(Z,{type:"primary",onClick:se},{default:Object(r["withCtx"])(()=>[P]),_:1})]),default:Object(r["withCtx"])(()=>[Object(r["createElementVNode"])("div",u,[s,Object(r["createVNode"])(o,{modelValue:$.value,"onUpdate:modelValue":a[0]||(a[0]=e=>$.value=e),onChange:ue},{default:Object(r["withCtx"])(()=>[Object(r["createVNode"])(n,{label:"文件解析"},{default:Object(r["withCtx"])(()=>[f]),_:1}),Object(r["createVNode"])(n,{label:"图片解析"},{default:Object(r["withCtx"])(()=>[p]),_:1})]),_:1},8,["modelValue"])]),Object(r["withDirectives"])(Object(r["createElementVNode"])("div",null,[b,m,Object(r["createElementVNode"])("div",v,[j,Object(r["createElementVNode"])("button",{onClick:me},"选择文件"),Object(r["createElementVNode"])("p",y,Object(r["toDisplayString"])(z.value),1)]),O,h,Object(r["createElementVNode"])("div",g,Object(r["toDisplayString"])(d.value),1)],512),[[r["vShow"],"文件解析"==$.value]]),Object(r["withDirectives"])((Object(r["openBlock"])(),Object(r["createElementBlock"])("div",w,[Object(r["createElementVNode"])("div",x,[V,Object(r["createElementVNode"])("span",A,[Object(r["createVNode"])(i,{color:"#0072ff",size:"30px",onClick:be},{default:Object(r["withCtx"])(()=>[Object(r["createVNode"])(c)]),_:1}),Y.value?(Object(r["openBlock"])(),Object(r["createBlock"])(i,{key:0,color:"#23c044",size:"14px"},{default:Object(r["withCtx"])(()=>[Object(r["createVNode"])(l)]),_:1})):Object(r["createCommentVNode"])("",!0),Y.value?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createBlock"])(i,{key:1,color:"#e60e0e",size:"14px"},{default:Object(r["withCtx"])(()=>[Object(r["createVNode"])(M)]),_:1}))])]),E,Object(r["createElementVNode"])("div",N,[Object(r["createElementVNode"])("div",C,[Object(r["createVNode"])(te,{headers:ee.value,accept:".png,.jpg,jpeg",action:"/mosty-api/mosty-base/minio/image/upload/id","show-file-list":!1,"on-success":ie,"on-change":le},{default:Object(r["withCtx"])(()=>[Object(r["createVNode"])(Z,{size:"medium",type:"primary"},{default:Object(r["withCtx"])(()=>[T]),_:1})]),_:1},8,["headers"]),Object(r["createElementVNode"])("p",k,Object(r["toDisplayString"])(W.value.name||"未选择文件"),1)]),Object(r["createElementVNode"])("div",B,[Object(r["createElementVNode"])("div",I,[H.value?(Object(r["openBlock"])(),Object(r["createElementBlock"])("img",{key:0,src:H.value,style:{width:"340px","max-height":"200px"}},null,8,_)):Object(r["createCommentVNode"])("",!0),Object(r["withDirectives"])(Object(r["createElementVNode"])("img",{src:H.value,ref_key:"imageRef",ref:Q},null,8,R),[[r["vShow"],!1]])]),Object(r["withDirectives"])(Object(r["createElementVNode"])("div",L,[Object(r["createElementVNode"])("canvas",{ref_key:"canvasRef",ref:X},null,512)],512),[[r["vShow"],!1]])])]),S,Object(r["withDirectives"])((Object(r["openBlock"])(),Object(r["createElementBlock"])("div",D,[0==q.value.length?(Object(r["openBlock"])(),Object(r["createElementBlock"])("p",F,Object(r["toDisplayString"])(K.value),1)):(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],{key:1},Object(r["renderList"])(q.value,(e,t)=>(Object(r["openBlock"])(),Object(r["createElementBlock"])("p",{key:t},Object(r["toDisplayString"])(e),1))),128))])),[[re,J.value]])])),[[r["vShow"],"图片解析"==$.value],[re,G.value]])]),_:1},8,["modelValue"])])}}},M=(a("13a3"),a("d959")),$=a.n(M);const Y=$()(z,[["__scopeId","data-v-c62807bc"]]);t["a"]=Y},"907a":function(e,t,a){"use strict";var r=a("ebb5"),n=a("07fa"),o=a("5926"),c=r.aTypedArray,i=r.exportTypedArrayMethod;i("at",(function(e){var t=c(this),a=n(t),r=o(e),i=r>=0?r:a+r;return i<0||i>=a?void 0:t[i]}))},"986a":function(e,t,a){"use strict";var r=a("ebb5"),n=a("a258").findLast,o=r.aTypedArray,c=r.exportTypedArrayMethod;c("findLast",(function(e){return n(o(this),e,arguments.length>1?arguments[1]:void 0)}))},a258:function(e,t,a){var r=a("0366"),n=a("44ad"),o=a("7b0b"),c=a("07fa"),i=function(e){var t=1==e;return function(a,i,l){var d,u,s=o(a),f=n(s),p=r(i,l),b=c(f);while(b-- >0)if(d=f[b],u=p(d,b,s),u)switch(e){case 0:return d;case 1:return b}return t?-1:void 0}};e.exports={findLast:i(0),findLastIndex:i(1)}},a981:function(e,t){e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},bada:function(e,t,a){},e163:function(e,t,a){var r=a("1a2d"),n=a("1626"),o=a("7b0b"),c=a("f772"),i=a("e177"),l=c("IE_PROTO"),d=Object,u=d.prototype;e.exports=i?d.getPrototypeOf:function(e){var t=o(e);if(r(t,l))return t[l];var a=t.constructor;return n(a)&&t instanceof a?a.prototype:t instanceof d?u:null}},e177:function(e,t,a){var r=a("d039");e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},ebb5:function(e,t,a){"use strict";var r,n,o,c=a("a981"),i=a("83ab"),l=a("da84"),d=a("1626"),u=a("861d"),s=a("1a2d"),f=a("f5df"),p=a("0d51"),b=a("9112"),m=a("cb2d"),v=a("9bf2").f,j=a("3a9b"),y=a("e163"),O=a("d2bb"),h=a("b622"),g=a("90e3"),w=a("69f3"),x=w.enforce,V=w.get,A=l.Int8Array,E=A&&A.prototype,N=l.Uint8ClampedArray,C=N&&N.prototype,T=A&&y(A),k=E&&y(E),B=Object.prototype,I=l.TypeError,_=h("toStringTag"),R=g("TYPED_ARRAY_TAG"),L="TypedArrayConstructor",S=c&&!!O&&"Opera"!==f(l.opera),D=!1,F={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},U={BigInt64Array:8,BigUint64Array:8},P=function(e){if(!u(e))return!1;var t=f(e);return"DataView"===t||s(F,t)||s(U,t)},z=function(e){var t=y(e);if(u(t)){var a=V(t);return a&&s(a,L)?a[L]:z(t)}},M=function(e){if(!u(e))return!1;var t=f(e);return s(F,t)||s(U,t)},$=function(e){if(M(e))return e;throw I("Target is not a typed array")},Y=function(e){if(d(e)&&(!O||j(T,e)))return e;throw I(p(e)+" is not a typed array constructor")},W=function(e,t,a,r){if(i){if(a)for(var n in F){var o=l[n];if(o&&s(o.prototype,e))try{delete o.prototype[e]}catch(c){try{o.prototype[e]=t}catch(d){}}}k[e]&&!a||m(k,e,a?t:S&&E[e]||t,r)}},G=function(e,t,a){var r,n;if(i){if(O){if(a)for(r in F)if(n=l[r],n&&s(n,e))try{delete n[e]}catch(o){}if(T[e]&&!a)return;try{return m(T,e,a?t:S&&T[e]||t)}catch(o){}}for(r in F)n=l[r],!n||n[e]&&!a||m(n,e,t)}};for(r in F)n=l[r],o=n&&n.prototype,o?x(o)[L]=n:S=!1;for(r in U)n=l[r],o=n&&n.prototype,o&&(x(o)[L]=n);if((!S||!d(T)||T===Function.prototype)&&(T=function(){throw I("Incorrect invocation")},S))for(r in F)l[r]&&O(l[r],T);if((!S||!k||k===B)&&(k=T.prototype,S))for(r in F)l[r]&&O(l[r].prototype,k);if(S&&y(C)!==k&&O(C,k),i&&!s(k,_))for(r in D=!0,v(k,_,{get:function(){return u(this)?this[R]:void 0}}),F)l[r]&&b(l[r],R,r);e.exports={NATIVE_ARRAY_BUFFER_VIEWS:S,TYPED_ARRAY_TAG:D&&R,aTypedArray:$,aTypedArrayConstructor:Y,exportTypedArrayMethod:W,exportTypedArrayStaticMethod:G,getTypedArrayConstructor:z,isView:P,isTypedArray:M,TypedArray:T,TypedArrayPrototype:k}},f8cd:function(e,t,a){var r=a("5926"),n=RangeError;e.exports=function(e){var t=r(e);if(t<0)throw n("The argument can't be less than 0");return t}},fa9e:function(e,t,a){a("986a")}}]); |