全栈小学生 e6c822aa8e up niucloud
2025-06-26 15:07:17 +08:00

2 lines
15 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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