index-BySiZ6N-.js 6.8 KB

1
  1. import{h as B,p as z}from"./x-request-CBG5K55E.js";import{_ as A,r as q,s as W,c as _,o as m,F as T,j as F,t as L,l as R,aF as N,L as H,g as J,d as b,D as Q,f as C,h as O,i as V,E as D,e as E,H as G,m as j,S as I}from"./index-DAHGT7Od.js";import{a as K}from"./index-BZnLqpsj.js";import{g as U,b as X}from"./Document-CYEg75hJ.js";import"./applyTemplate-BnHIDwqK.js";class Y{diff(e,n,t={}){let l;typeof t=="function"?(l=t,t={}):"callback"in t&&(l=t.callback);const i=this.castInput(e,t),h=this.castInput(n,t),g=this.removeEmpty(this.tokenize(i,t)),u=this.removeEmpty(this.tokenize(h,t));return this.diffWithOptionsObj(g,u,t,l)}diffWithOptionsObj(e,n,t,l){var i;const h=c=>{if(c=this.postProcess(c,t),l){setTimeout(function(){l(c)},0);return}else return c},g=n.length,u=e.length;let f=1,d=g+u;t.maxEditLength!=null&&(d=Math.min(d,t.maxEditLength));const o=(i=t.timeout)!==null&&i!==void 0?i:1/0,s=Date.now()+o,a=[{oldPos:-1,lastComponent:void 0}];let p=this.extractCommon(a[0],n,e,0,t);if(a[0].oldPos+1>=u&&p+1>=g)return h(this.buildValues(a[0].lastComponent,n,e));let v=-1/0,x=1/0;const r=()=>{for(let c=Math.max(v,-f);c<=Math.min(x,f);c+=2){let w;const P=a[c-1],k=a[c+1];P&&(a[c-1]=void 0);let S=!1;if(k){const M=k.oldPos-c;S=k&&0<=M&&M<g}const $=P&&P.oldPos+1<u;if(!S&&!$){a[c]=void 0;continue}if(!$||S&&P.oldPos<k.oldPos?w=this.addToPath(k,!0,!1,0,t):w=this.addToPath(P,!1,!0,1,t),p=this.extractCommon(w,n,e,c,t),w.oldPos+1>=u&&p+1>=g)return h(this.buildValues(w.lastComponent,n,e))||!0;a[c]=w,w.oldPos+1>=u&&(x=Math.min(x,c-1)),p+1>=g&&(v=Math.max(v,c+1))}f++};if(l)(function c(){setTimeout(function(){if(f>d||Date.now()>s)return l(void 0);r()||c()},0)})();else for(;f<=d&&Date.now()<=s;){const c=r();if(c)return c}}addToPath(e,n,t,l,i){const h=e.lastComponent;return h&&!i.oneChangePerToken&&h.added===n&&h.removed===t?{oldPos:e.oldPos+l,lastComponent:{count:h.count+1,added:n,removed:t,previousComponent:h.previousComponent}}:{oldPos:e.oldPos+l,lastComponent:{count:1,added:n,removed:t,previousComponent:h}}}extractCommon(e,n,t,l,i){const h=n.length,g=t.length;let u=e.oldPos,f=u-l,d=0;for(;f+1<h&&u+1<g&&this.equals(t[u+1],n[f+1],i);)f++,u++,d++,i.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return d&&!i.oneChangePerToken&&(e.lastComponent={count:d,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=u,f}equals(e,n,t){return t.comparator?t.comparator(e,n):e===n||!!t.ignoreCase&&e.toLowerCase()===n.toLowerCase()}removeEmpty(e){const n=[];for(let t=0;t<e.length;t++)e[t]&&n.push(e[t]);return n}castInput(e,n){return e}tokenize(e,n){return Array.from(e)}join(e){return e.join("")}postProcess(e,n){return e}get useLongestToken(){return!1}buildValues(e,n,t){const l=[];let i;for(;e;)l.push(e),i=e.previousComponent,delete e.previousComponent,e=i;l.reverse();const h=l.length;let g=0,u=0,f=0;for(;g<h;g++){const d=l[g];if(d.removed)d.value=this.join(t.slice(f,f+d.count)),f+=d.count;else{if(!d.added&&this.useLongestToken){let o=n.slice(u,u+d.count);o=o.map(function(s,a){const p=t[f+a];return p.length>s.length?p:s}),d.value=this.join(o)}else d.value=this.join(n.slice(u,u+d.count));u+=d.count,d.added||(f+=d.count)}}return l}}class Z extends Y{}const ee=new Z;function te(y,e,n){return ee.diff(y,e,n)}const ne={class:"diffText"},oe={key:0,class:"diffText-removed"},se={key:1,class:"diffText-added"},ae={key:2},re={__name:"diffText",props:{oldStr:{type:String,default:"",required:!0},newStr:{type:String,default:"",required:!0}},setup(y){const e=q([]),n=(t=[])=>{e.value=te(N(y.oldStr),N(y.newStr))};return W(()=>{n()}),(t,l)=>(m(),_("div",ne,[(m(!0),_(T,null,F(R(e),i=>(m(),_("span",{key:i.value},[i.removed?(m(),_("del",oe,L(i.value),1)):i.added?(m(),_("ins",se,L(i.value),1)):(m(),_("span",ae,L(i.value),1))]))),128))]))}},ie=A(re,[["__scopeId","data-v-def401a6"]]),de={class:"proofreadView"},ce={class:"proofreadView-content"},le={key:0,class:"proofreadView-content-card-loading"},ue={class:"proofreadView-content-card-origin"},fe={key:1},he={class:"proofreadView-content-card-fixed"},pe={class:"proofreadView-content-card-text"},me={class:"proofreadView-content-card-btns"},ge=H({name:"ProofreadView"}),_e=Object.assign(ge,{setup(y){const{proxy:e}=J(),n=q([]),t=o=>o?new Promise((s,a)=>{B(o).then(async p=>{if(p.status!==200)return a("接口异常");let v="";for await(const x of z({readableStream:p.body}))if(x&&x.data){const r=JSON.parse(x.data);r.answer===void 0||(v+=r.answer),r&&r.event==="workflow_finished"&&s(v),r&&r.event==="message_end"&&console.log("回答结束")}else a("解析异常")})}):reject("文本不存在"),l=(o=[])=>{const s=[];return o.forEach((a,p)=>{const v=a.text.trim();if(v){const x={_index:p,id:a.id,text:v,status:"pendding",newText:null,taskFunc:r=>t(r)};s.push(x)}}),s},i=async o=>{n.value=l(o);for(let s=0;s<n.value.length;s++){const a=n.value[s];try{a.status="loading",a.newText=await a.taskFunc(a.text),a.text===a.newText?a.status="noNeed":a.status="success"}catch(p){console.warn(p),a.status="fail"}}},h=()=>{for(let o=0;o<n.value.length;o++)if(n.value[o].status==="loading")return!0;return!1},g=o=>{X(o._index,o.newText).then(()=>{console.log("操作成功")}).catch(s=>{I.error(s)})},u=o=>{K(o.newText,()=>{e.$notify({title:"复制成功",type:"success",position:"bottom-right"})})},f=o=>{o.status="loading",t(o.text).then(s=>{o.newText=s,o.status="success"}).catch(()=>{o.status="fail"})},d=()=>{if(h())return I.warning("请等待当前校验结束");U().then(o=>{i(o.paragraphs)}).catch(o=>{I.error(o)})};return(o,s)=>{const a=b("el-button"),p=b("el-card"),v=b("el-scrollbar"),x=Q("loading");return m(),_("div",de,[s[4]||(s[4]=C("div",{class:"proofreadView-header"},"智能校对",-1)),C("div",ce,[O(v,{height:"calc(100vh - 76px)"},{default:V(()=>[C("div",{class:"proofreadView-content-btn",onClick:d},"全文校对"),(m(!0),_(T,null,F(R(n),(r,c)=>(m(),_(T,null,[r.text&&["loading","success","fail"].indexOf(r.status)>=0?(m(),D(p,{key:r.id,class:"proofreadView-content-card"},{default:V(()=>[r.status==="loading"?G((m(),_("div",le,null,512)),[[x,!0]]):(m(),_(T,{key:1},[C("div",ue,[r.status==="success"?(m(),D(ie,{key:0,class:"proofreadView-content-card-text",oldStr:r.text,newStr:r.newText},null,8,["oldStr","newStr"])):(m(),_("span",fe,"校对失败"))]),C("div",he,[s[0]||(s[0]=C("div",{class:"proofreadView-content-card-title"},"校对后:",-1)),C("div",pe,L(r.newText),1)]),C("div",me,[r.status==="success"?(m(),D(a,{key:0,type:"primary",onClick:w=>g(r)},{default:V(()=>s[1]||(s[1]=[j(" 替换原文 ")])),_:2},1032,["onClick"])):E("",!0),r.status==="success"?(m(),D(a,{key:1,type:"primary",onClick:w=>u(r)},{default:V(()=>s[2]||(s[2]=[j(" 复制 ")])),_:2},1032,["onClick"])):E("",!0),O(a,{type:"warning",onClick:w=>f(r,c)},{default:V(()=>s[3]||(s[3]=[j("重新校对")])),_:2},1032,["onClick"])])],64))]),_:2},1024)):E("",!0)],64))),256))]),_:1})])])}}}),Pe=A(_e,[["__scopeId","data-v-8252c55f"]]);export{Pe as default};