mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2026-01-03 19:58:12 +00:00
2 lines
15 KiB
JavaScript
2 lines
15 KiB
JavaScript
import{d as Re,f as He,r as p,X as Oe,P as ze,al as Ke,N as ke,h as i,c,e as t,w as l,a as s,m as V,i as v,t as r,u,k as n,B as y,J as U,ae as I,F as b,T as oe,n as Pe,Y as ue,aZ as qe,aa as ye,aB as he,a4 as Je,aE as Qe,at as Xe,au as Ye,av as Ze,aw as Ge,Q as We,a2 as el,ap as ll,E as al,a_ as tl,S as sl,p as nl,g as ol,_ as ul}from"./index-9f163f98.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{T as rl,_ as pl,a as il,b as dl}from"./dark-d503b80a.js";import{b as cl}from"./module-29351851.js";import{c as be,g as vl,e as _l,p as fl,u as gl,a as ml,b as we}from"./upgrade-e1e2708e.js";const F=z=>(nl("data-v-cd40261c"),z=z(),ol(),z),xl={class:"text-lg"},kl={class:"font-bold px-[2px]"},yl=F(()=>s("span",null,"升级到",-1)),hl={class:"font-bold px-[2px]"},bl=F(()=>s("span",null,"版本",-1)),wl={class:"font-bold px-[2px]"},Cl=F(()=>s("span",null,"当前版本",-1)),El={class:"font-bold px-[2px]"},Tl=F(()=>s("span",null,[v("如需升级到最新版可在"),s("a",{class:"text-primary",href:"https://www.niucloud.com",target:"_blank"},"niucloud-admin官网"),v("购买相关服务后再进行升级")],-1)),Bl={key:1},Vl={class:"h-[400px]",style:{overflow:"auto"}},Sl={key:0,class:"flex flex-col"},Ul={key:0,class:"bg-[#fff] my-3"},Il={class:"px-[20px] pt-[10px] text-[14px] el-table"},$l={style:{height:"calc(300px)",overflow:"auto"}},Dl={key:0},Nl={key:1},Fl={key:0},Ml={key:1},jl={class:"h-[370px] mt-[30px]"},Ll={class:"flex flex-col"},Al={class:"bg-[#fff] my-3"},Rl={class:"p-[20px] mt-[50px] mx-[10px] border-[1px] border-[#E6E6E6] rounded-[10px]"},Hl={class:"flex justify-between items-center mt-[-9px]"},Ol={class:"text-[14px] text-[#374151] mb-[10px]"},zl={key:0,class:"p-[20px] mt-[20px] mx-[10px] border-[1px] border-[#E6E6E6] rounded-[10px]"},Kl={class:"flex justify-between items-center mt-[-9px]"},Pl={class:"text-[14px] text-[#374151] mb-[10px]"},ql={class:"text-[14px] text-[#9699B6]"},Jl={class:"mt-[20px] h-[370px]"},Ql=F(()=>s("img",{src:il,alt:""},null,-1)),Xl={class:"mt-[20px]"},Yl=F(()=>s("img",{src:dl,alt:""},null,-1)),Zl={class:"text-[16px] text-[#9699B6] mt-[10px]"},Gl={class:"mt-[20px]"},Wl={class:"dialog-footer"},ea=["innerHTML"],la={class:"flex justify-end"},aa=["innerHTML"],ta={class:"flex justify-end"},sa=Re({__name:"index",emits:["complete","cloudbuild"],setup(z,{expose:Ce,emit:Ee}){const Te=He(),Be=p(Date.now()),h=p(!1),d=p(null),M=p(!0),x=p(null),_=p("upgrade"),E=p(1),j=p(null),w=p(!1),L=p(null),$=p(!1);let Z=[],G=[];const K=p(!1),P=p(30);let A=null;const D=p({is_need_backup:!0,is_need_cloudbuild:!0});p([{name:"备份源码",code:"backupCode"},{name:"备份数据库",code:"backupSql"}]);const q=p(!1),S=p(!1),Ve=p(null),W=p(0);let T=null;const B=p(!1),ee=p(""),N=()=>{vl().then(({data:a})=>{if(a){if(!d.value){if(d.value=a.upgrade_content,d.value||!a.upgrade_content||!Array.isArray(a.upgrade_content.content))return;let e=0,f=0;for(let g=0;g<d.value.content.length;g++)d.value.content[g].version_list.length?e++:f++;d.value.content.length==e?M.value=!0:d.value.content.length==f&&(M.value=!1)}if(!h.value){Se();return}if(x.value||(S.value=!0,L.value.execute("clear"),L.value.execute("开始升级"),q.value=!0,Ve.value=Date.now(),W.value=0,T&&clearInterval(T),T=setInterval(()=>{W.value++},1e3)),x.value=a,a.log.forEach(e=>{Z.includes(e)||(L.value.pushMessage({content:`${e}`}),Z.push(e))}),a.error&&(a.error.forEach(e=>{G.includes(e)||(L.value.pushMessage({content:e,class:"error"}),G.push(e),ee.value=e)}),B.value=!0,S.value=!1,T&&(clearInterval(T),T=null),q.value=!1),a.step=="restoreComplete"){H&&clearInterval(H);return}if(a.step=="upgradeComplete"){_.value="complete",S.value=!1,C.value=4,R&&R.close(),Ee("complete"),T&&(clearInterval(T),T=null),q.value=!1,be();return}C.value=2,_.value="upgrade",ie()}})};N();const le=p(!1),re=()=>{_.value="upgrade",le.value=!0,S.value=!0,B.value=!1},pe=Oe(()=>{const a=W.value,e=Math.floor(a/3600),f=Math.floor(a%3600/60),g=a%60;return[e>0?`${e}小时`:"",f>0?`${f}分钟`:"",`${g}秒`].filter(Boolean).join("")}),ie=()=>{_l().then(()=>{N()}).catch(a=>{a.message.indexOf("队列")!=-1?(P.value=30,A=setInterval(()=>{P.value--,P.value==0&&X("retry")},1e3),K.value=!0):ue({message:a.message,type:"error"})})};let R=null;const Se=()=>{R=qe.success({title:n("warning"),dangerouslyUseHTMLString:!0,message:ye("div",{},[n("upgrade.upgradingTips"),ye("span",{class:"text-primary cursor-pointer",onClick:Ue},[n("upgrade.clickView")])]),duration:0,showClose:!1})},Ue=()=>{h.value=!0,N(),E.value=2,C.value=3,_.value="upgrade",R&&R.close()},de=p("");ze().then(a=>{de.value=a.data.version.version});const ce=p("");cl().then(({data:a})=>{ce.value=a.last_version});const ae=p(!1),J=p(!1),Q=p(!1),ve=async()=>{var e,f;if(J.value)return;J.value=!0,Q.value=!0;const a=((e=d.value)==null?void 0:e.upgrade_apps.join(","))!="niucloud-admin"?(f=d.value)==null?void 0:f.upgrade_apps.join(","):"";await fl(a).then(async({data:g})=>{j.value=g,ae.value=g.is_pass,_.value="upgrade",x.value?C.value:C.value=0,$.value=!1,h.value=!0,J.value=!1,Q.value=!1}).catch(()=>{J.value=!1,Q.value=!1})},Ie=()=>{var e,f;if(!ae.value||w.value)return;w.value=!0;const a=((e=d.value)==null?void 0:e.upgrade_apps.join(","))!="niucloud-admin"?(f=d.value)==null?void 0:f.upgrade_apps.join(","):"";gl(a,D.value).then(()=>{N()}).catch(()=>{w.value=!1})},$e=(a="",e=null)=>{if(B.value=!1,x.value)ue({message:"已有正在执行中的升级任务",type:"error"}),h.value=!0,E.value=2,C.value=3,_.value="upgrade",e&&e();else{if(a&&de.value!=ce.value){ue({message:"存在新版本框架,请先升级框架",type:"error"}),e&&e();return}if(w.value)return;w.value=!0,ml(a).then(({data:f})=>{w.value=!1,d.value=f;let g=0,O=0;for(let k=0;k<d.value.content.length;k++)d.value.content[k].version_list.length?g++:O++;d.value.content.length==g?M.value=!0:d.value.content.length==O&&(M.value=!1),he.get("upgradeTipsLock")?ve():$.value=!0,e&&e()}).catch(()=>{w.value=!1,e&&e()})}};let H=null;const _e=new rl,De=(a,e,f,g,O)=>{if(e=="开始升级"){f(_e);const k=Ne(["/","——","\\","|"]);H=setInterval(()=>{_e.flush("> "+k.next().value)},150)}},Ne=a=>{let e=0;return{next(){return e+1==a.length&&(e=0),{value:a[e++]}}}},Fe=a=>{_.value=="upgrade"&&x.value&&["upgradeComplete","restoreComplete"].includes(x.value.step)===!1&&!le.value?Je.confirm(n("upgrade.showDialogCloseTips"),n("warning"),{confirmButtonText:n("confirm"),cancelButtonText:n("cancel"),type:"warning"}).then(()=>{a()}):a()};Ke(()=>h.value,()=>{h.value||Me()});const Me=()=>{_.value="upgrade",w.value=!1,x.value=null,le.value=!1,B.value=!1,ee.value="",S.value=!1,Z=[],G=[],C.value=0,H&&clearInterval(H),A&&clearInterval(A),D.value={is_need_backup:!0,is_need_cloudbuild:!0},E.value=1,be().then(()=>{})},X=a=>{switch(K.value=!1,a){case"local":we(a).then(()=>{N()});break;case"retry":ie(),A&&clearInterval(A);break;case"rollback":we(a).then(()=>{N()});break}},je=(a=!1)=>{a&&he.set({key:"upgradeTipsLock",data:a}),$.value=!1,!a&&(h.value=!0)};p(0);const C=p(0),Le=()=>{const a=Te.resolve({path:"/tools/backup_records"});window.open(a.href,"_blank")};return Ce({open:$e,loading:w}),(a,e)=>{const f=Qe,g=Xe,O=Ye,k=Ze,te=Ge,fe=ke("Select"),Y=We,ge=ke("CloseBold"),se=el,me=ll,m=al,xe=tl,ne=sl;return i(),c(b,null,[t(ne,{modelValue:h.value,"onUpdate:modelValue":e[11]||(e[11]=o=>h.value=o),title:u(n)("upgrade.title"),width:"850px","close-on-click-modal":!1,"close-on-press-escape":!1,"before-close":Fe},{footer:l(()=>[s("div",Wl,[E.value==1&&d.value.content.length&&M.value?(i(),V(m,{key:0,onClick:e[6]||(e[6]=o=>E.value=2),type:"primary"},{default:l(()=>[v(r(u(n)("upgrade.upgradeButton")),1)]),_:1})):y("",!0),U(t(m,{type:"primary",loading:q.value,class:"!w-[140px]"},{default:l(()=>[v("已用时 "+r(u(pe)),1)]),_:1},8,["loading"]),[[I,E.value==2&&S.value&&x.value&&!B.value]]),E.value==2&&_.value!="complete"?(i(),c(b,{key:1},[_.value=="upgrade"&&!x.value?(i(),V(m,{key:0,type:"primary",disabled:!ae.value,onClick:e[7]||(e[7]=()=>{_.value="backup",C.value=1})},{default:l(()=>[v(r(u(n)("nextStep")),1)]),_:1},8,["disabled"])):y("",!0),_.value=="backup"?(i(),V(m,{key:1,onClick:e[8]||(e[8]=()=>{_.value="upgrade",C.value=1})},{default:l(()=>[v(r(u(n)("prev")),1)]),_:1})):y("",!0),_.value=="backup"?(i(),V(m,{key:2,type:"primary",loading:w.value,onClick:e[9]||(e[9]=()=>{Ie()})},{default:l(()=>[v(r(u(n)("nextStep")),1)]),_:1},8,["loading"])):y("",!0),_.value=="complete"?(i(),V(m,{key:3,onClick:e[10]||(e[10]=o=>h.value=!1)},{default:l(()=>[v(r(u(n)("complete")),1)]),_:1})):y("",!0)],64)):y("",!0)])]),default:l(()=>[d.value?(i(),c(b,{key:0},[E.value==1?(i(!0),c(b,{key:0},oe(d.value.content,(o,Ae)=>(i(),c(b,null,[s("div",xl,[o.upgrade_version?(i(),c(b,{key:0},[s("span",null,"【"+r(o.app.app_name)+"】本次升级将从",1),s("span",kl,r(o.version),1),yl,s("span",hl,r(o.upgrade_version),1),bl],64)):(i(),c(b,{key:1},[d.value.content.length>1?(i(),c(b,{key:0},[s("span",null,"【"+r(o.app.app_name)+"】当前版本",1),s("span",wl,r(o.version),1)],64)):(i(),c(b,{key:1},[Cl,s("span",El,r(o.version),1)],64))],64))]),o.upgrade_version!=o.last_version?(i(),c("div",{key:0,class:Pe(["mt-[10px]",{"mb-[10px]":Ae+1<d.value.content.length}])},[t(f,{type:"info","show-icon":"",closable:!1},{title:l(()=>[s("span",null,"当前最新版本为"+r(o.last_version)+",您的服务"+r(o.expire_time?`已于${o.expire_time}到期`:"长期有效")+"。",1),Tl]),_:2},1024)],2)):y("",!0)],64))),256)):y("",!0),E.value==2?(i(),c("div",Bl,[!B.value&&_.value!="complete"?(i(),V(O,{key:0,active:C.value,"align-center":"",class:"number-of-steps","process-status":"process"},{default:l(()=>[t(g,{title:u(n)("testDirectoryPermissions")},null,8,["title"]),t(g,{title:u(n)("upgrade.option")},null,8,["title"]),t(g,{title:u(n)("startUpgrade")},null,8,["title"]),t(g,{title:u(n)("upgradeEnd")},null,8,["title"])]),_:1},8,["active"])):y("",!0),s("div",Vl,[U(s("div",null,[j.value&&!x.value?(i(),c("div",Sl,[t(se,null,{default:l(()=>[j.value.dir?(i(),c("div",Ul,[s("div",Il,[t(te,{class:"py-[10px] items table-head-bg pl-[15px] mb-[10px]"},{default:l(()=>[t(k,{span:18},{default:l(()=>[s("span",null,r(u(n)("upgrade.path")),1)]),_:1}),t(k,{span:3},{default:l(()=>[s("span",null,r(u(n)("upgrade.demand")),1)]),_:1}),t(k,{span:3},{default:l(()=>[s("span",null,r(u(n)("status")),1)]),_:1})]),_:1}),s("div",$l,[(i(!0),c(b,null,oe(j.value.dir.is_readable,o=>(i(),V(te,{class:"pb-[10px] items pl-[15px]"},{default:l(()=>[t(k,{span:18},{default:l(()=>[s("span",null,r(o.dir),1)]),_:2},1024),t(k,{span:3},{default:l(()=>[s("span",null,r(u(n)("upgrade.readable")),1)]),_:1}),t(k,{span:3},{default:l(()=>[o.status?(i(),c("span",Dl,[t(Y,{color:"green"},{default:l(()=>[t(fe)]),_:1})])):(i(),c("span",Nl,[t(Y,{color:"red"},{default:l(()=>[t(ge)]),_:1})]))]),_:2},1024)]),_:2},1024))),256)),(i(!0),c(b,null,oe(j.value.dir.is_write,o=>(i(),V(te,{class:"pb-[10px] items pl-[15px]"},{default:l(()=>[t(k,{span:18},{default:l(()=>[s("span",null,r(o.dir),1)]),_:2},1024),t(k,{span:3},{default:l(()=>[s("span",null,r(u(n)("upgrade.write")),1)]),_:1}),t(k,{span:3},{default:l(()=>[o.status?(i(),c("span",Fl,[t(Y,{color:"green"},{default:l(()=>[t(fe)]),_:1})])):(i(),c("span",Ml,[t(Y,{color:"red"},{default:l(()=>[t(ge)]),_:1})]))]),_:2},1024)]),_:2},1024))),256))])])])):y("",!0)]),_:1})])):y("",!0),U(s("div",jl,[t(u(pl),{ref_key:"terminalRef",ref:L,name:`upgrade-${Be.value}`,context:x.value?x.value.upgrade.app_key:"","init-log":null,"show-header":!1,"show-log-time":!0,onExecCmd:De},null,8,["name","context"])],512),[[I,S.value&&x.value&&!B.value]])],512),[[I,_.value=="upgrade"]]),U(s("div",Ll,[t(se,null,{default:l(()=>[s("div",Al,[s("div",Rl,[s("div",Hl,[t(me,{modelValue:D.value.is_need_cloudbuild,"onUpdate:modelValue":e[0]||(e[0]=o=>D.value.is_need_cloudbuild=o),label:u(n)("upgrade.isNeedCloudbuild"),"true-value":!0,"false-value":!1,size:"large"},null,8,["modelValue","label"])]),s("div",Ol,r(u(n)("upgrade.cloudbuildTips")),1)]),d.value.last_backup?(i(),c("div",zl,[s("div",Kl,[t(me,{modelValue:D.value.is_need_backup,"onUpdate:modelValue":e[1]||(e[1]=o=>D.value.is_need_backup=o),label:u(n)("upgrade.isNeedBackup"),"true-value":!0,"false-value":!1,size:"large"},null,8,["modelValue","label"]),t(m,{link:"",type:"primary",class:"!text-[#9699B6]",onClick:Le},{default:l(()=>[v(r(u(n)("upgrade.isNeedBackupBtn")),1)]),_:1})]),s("div",Pl,r(u(n)("upgrade.isNeedBackupTips")),1),s("div",ql,r(u(n)("上次备份时间:"))+r(d.value.last_backup.complete_time),1)])):y("",!0)])]),_:1})],512),[[I,_.value=="backup"]]),U(s("div",Jl,[t(xe,{icon:"error",title:u(n)("升级失败")},{icon:l(()=>[Ql]),extra:l(()=>[t(se,{class:"max-h-[120px] !overflow-auto text-[15px] text-[#4F516D] mb-[15px] mt-[-15px]"},{default:l(()=>[v(r(ee.value),1)]),_:1}),t(m,{onClick:e[2]||(e[2]=o=>re()),class:"!w-[90px]"},{default:l(()=>[v("错误信息")]),_:1}),t(m,{onClick:e[3]||(e[3]=o=>h.value=!1),type:"primary",class:"!w-[90px]"},{default:l(()=>[v("完成")]),_:1})]),_:1},8,["title"])],512),[[I,B.value]]),U(s("div",Xl,[t(xe,{icon:"success",title:u(n)("upgrade.upgradeSuccess")},{icon:l(()=>[Yl]),extra:l(()=>[U(s("div",{class:"text-[16px] text-[#4F516D] mt-[-5px]"},r(u(n)("upgrade.upgradeCompleteTips")),513),[[I,x.value&&x.value.executed&&!x.value.executed.includes("cloudBuild")]]),s("div",Zl,"本次升级用时"+r(u(pe)),1),s("div",Gl,[t(m,{onClick:e[4]||(e[4]=o=>re()),class:"!w-[90px]"},{default:l(()=>[v("返回")]),_:1}),t(m,{onClick:e[5]||(e[5]=o=>h.value=!1),type:"primary",class:"!w-[90px]"},{default:l(()=>[v("完成")]),_:1})])]),_:1},8,["title"])],512),[[I,_.value=="complete"]])])])):y("",!0)],64)):y("",!0)]),_:1},8,["modelValue","title"]),t(ne,{modelValue:$.value,"onUpdate:modelValue":e[15]||(e[15]=o=>$.value=o),title:u(n)("warning"),width:"500px",draggable:""},{footer:l(()=>[s("div",la,[t(m,{onClick:e[12]||(e[12]=o=>je(!0)),type:"primary"},{default:l(()=>[v(r(u(n)("upgrade.knownToKnow")),1)]),_:1}),t(m,{onClick:e[13]||(e[13]=o=>ve()),type:"primary",plain:"",loading:Q.value},{default:l(()=>[v(r(u(n)("upgrade.upgradeButton")),1)]),_:1},8,["loading"]),t(m,{onClick:e[14]||(e[14]=o=>$.value=!1)},{default:l(()=>[v(r(u(n)("cancel")),1)]),_:1})])]),default:l(()=>[s("span",{innerHTML:u(n)("upgrade.upgradeTips")},null,8,ea)]),_:1},8,["modelValue","title"]),t(ne,{modelValue:K.value,"onUpdate:modelValue":e[19]||(e[19]=o=>K.value=o),title:u(n)("warning"),width:"500px",draggable:"","show-close":!1},{footer:l(()=>[s("div",ta,[t(m,{onClick:e[16]||(e[16]=o=>X("local")),type:"primary"},{default:l(()=>[v(r(u(n)("upgrade.localBuild")),1)]),_:1}),t(m,{onClick:e[17]||(e[17]=o=>X("retry")),type:"primary"},{default:l(()=>[v(r(u(n)("upgrade.cloudBuild"))+"("+r(P.value)+"S)",1)]),_:1}),t(m,{onClick:e[18]||(e[18]=o=>X("rollback")),type:"primary"},{default:l(()=>[v(r(u(n)("upgrade.rollback")),1)]),_:1})])]),default:l(()=>[s("span",{innerHTML:u(n)("upgrade.cloudBuildErrorTips")},null,8,aa)]),_:1},8,["modelValue","title"])],64)}}});const xa=ul(sa,[["__scopeId","data-v-cd40261c"]]);export{xa as default};
|