智慧教务系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1 lines
8.4 KiB

import{R as b,d as de,r as m,Z as _e,aj as fe,V as K,h as u,c as p,e,w as l,J as I,a as n,i as v,t as o,B as y,F as M,W as H,u as i,k as s,ac as $,m as P,aV as ve,a8 as Z,X as G,az as O,M as ge,aW as me,a7 as he,E as xe,at as ke,au as ye,_ as we,aX as Ce,U as be,p as Te,g as Ee}from"./index-f5d841af.js";/* empty css *//* empty css */import{T as Ve,_ as Be}from"./dark-fe8149ea.js";/* empty css *//* empty css *//* empty css *//* empty css */import{b as Ue}from"./module-3ff668d4.js";import{_ as Se}from"./_plugin-vue_export-helper-c27b6911.js";function Ie(c=""){return b.get(c?`upgrade/${c}`:"upgrade")}function Me(){return b.get("upgrade/task")}function $e(c=""){return b.post(c?`upgrade/${c}`:"upgrade")}function Fe(){return b.post("upgrade/execute",{})}function Le(c=""){return b.get(c?`upgrade/check/${c}`:"upgrade/check")}function Q(){return b.post("upgrade/clear")}const Ne=c=>(Te("data-v-00f469fb"),c=c(),Ee(),c),De={key:0,class:"h-[60vh] flex flex-col"},He={class:"text-lg"},Re={class:"font-bold"},je={class:"font-bold"},Ae={key:0,class:"mt-[10px]"},We=Ne(()=>n("a",{class:"text-primary",href:"https://www.niucloud.com",target:"_blank"},"niucloud-admin官网",-1)),Xe={class:"font-bold text-lg"},qe={key:0,class:"mt-[5px]"},ze=["innerHTML"],Je={key:1,class:"flex justify-end"},Ke={key:0,class:"h-[60vh] flex flex-col"},Pe={key:0,class:"bg-[#fff] my-3"},Ze={class:"pt-[20px] pl-[20px]"},Ge={class:"px-[20px] pt-[10px] text-[14px] el-table"},Oe={key:0},Qe={key:1},Ye={key:0},et={key:1},tt={class:"h-[60vh]"},at={class:"h-[60vh] flex flex-col"},lt={class:"flex-1 h-0"},st={class:"flex justify-end"},nt=["innerHTML"],ot={class:"flex justify-end"},rt=de({__name:"index",emits:["complete","cloudbuild"],setup(c,{expose:Y,emit:R}){const _=m(!1),d=m(null),g=m(null),h=m("content"),T=m(null),w=m(!1),E=m(null),V=m(!1);let F=[],L=[];const U=()=>{Me().then(({data:a})=>{if(a){if(!_.value){te();return}if(g.value||(E.value.execute("clear"),E.value.execute("开始升级")),a.log.forEach(t=>{F.includes(t)||(E.value.pushMessage({content:`正在执行:${t}`}),F.push(t))}),a.error&&a.error.forEach(t=>{L.includes(t)||(E.value.pushMessage({content:t,class:"error"}),L.push(t))}),a.step!="restoreComplete"){if(a.step=="upgradeComplete"){h.value="complete",B&&B.close(),R("complete"),Q();return}g.value=a,ee()}}}).catch()};U();const ee=()=>{Fe().then(()=>{U()}).catch()};let B=null;const te=()=>{B=ve.success({title:s("warning"),dangerouslyUseHTMLString:!0,message:Z("div",{},[s("upgrade.upgradingTips"),Z("span",{class:"text-primary cursor-pointer",onClick:ae},[s("upgrade.clickView")])]),duration:0,showClose:!1})},ae=()=>{_.value=!0,h.value="upgrade",U(),B&&B.close()},j=m("");_e().then(a=>{j.value=a.data.version.version});const A=m("");Ue().then(({data:a})=>{A.value=a.last_version});const le=async()=>{var t,x;if(w.value)return;w.value=!0;const a=((t=d.value)==null?void 0:t.app.app_key)!="niucloud-admin"?(x=d.value)==null?void 0:x.app.app_key:"";await Le(a).then(async({data:C})=>{C.is_pass?await $e(a).then(()=>{U()}).catch(()=>{w.value=!1}):T.value=C}).catch(),w.value&&(h.value="upgrade")},se=(a="")=>{if(g.value)G({message:"已有正在执行中的升级任务",type:"error"}),_.value=!0;else{if(a&&j.value!=A.value){G({message:"存在新版本框架,请先升级框架",type:"error"});return}Ie(a).then(({data:t})=>{d.value=t,O.get("upgradeTipsLock")?_.value=!0:V.value=!0}).catch()}};let N=null;const W=new Ve,ne=(a,t,x,C,k)=>{if(t=="开始升级"){x(W);const f=oe(["/","——","\\","|"]);N=setInterval(()=>{W.flush("> "+f.next().value)},150)}},oe=a=>{var t=0;return{next(){return t+1==a.length&&(t=0),{value:a[t++]}}}},re=a=>{h.value=="upgrade"&&g.value&&!g.value.error?ge.confirm(s("upgrade.showDialogCloseTips"),s("warning"),{confirmButtonText:s("confirm"),cancelButtonText:s("cancel"),type:"warning"}).then(()=>{a()}).catch(()=>{}):a()};fe(()=>_.value,()=>{_.value||ue()});const ue=()=>{h.value="content",w.value=!1,g.value=null,F=[],L=[],N&&clearInterval(N),Q().then(()=>{}).catch()},ie=()=>{_.value=!1,R("cloudbuild")},X=(a=!1)=>{a&&O.set({key:"upgradeTipsLock",data:a}),V.value=!1,!a&&(_.value=!0)};return Y({open:se}),(a,t)=>{const x=me,C=he,k=xe,f=ke,D=ye,q=K("Select"),S=we,z=K("CloseBold"),pe=Ce,J=be;return u(),p(M,null,[e(J,{modelValue:_.value,"onUpdate:modelValue":t[1]||(t[1]=r=>_.value=r),title:i(s)("upgrade.title"),width:"850px","close-on-click-modal":!1,"close-on-press-escape":!1,"before-close":re},{default:l(()=>[I(n("div",null,[d.value?(u(),p("div",De,[n("div",He,[v(" 本次升级将从"),n("span",Re,o(d.value.version),1),v("升级到"),n("span",je,o(d.value.upgrade_version),1),v("版本 ")]),d.value.upgrade_version!=d.value.last_version?(u(),p("div",Ae,[e(x,{type:"info","show-icon":""},{title:l(()=>[v(" 当前最新版本为"+o(d.value.last_version)+",您的服务"+o(d.value.expire_time?`已于${d.value.expire_time}到期`:"长期有效")+"。如需升级到最新版可在",1),We,v("购买相关服务后再进行升级 ")]),_:1})])):y("",!0),e(C,{class:"flex-1 h-0 mt-[20px]"},{default:l(()=>[(u(!0),p(M,null,H(d.value.version_list,(r,ce)=>(u(),p("div",{class:"mt-[20px]",key:ce},[n("div",Xe,o(r.version_no),1),r.release_time?(u(),p("div",qe,o(r.release_time),1)):y("",!0),r.upgrade_log?(u(),p("div",{key:1,class:"mt-[10px] p-[10px] rounded bg-[#f4f4f5] whitespace-pre-wrap !break-all",innerHTML:r.upgrade_log},null,8,ze)):y("",!0)]))),128))]),_:1})])):y("",!0),d.value.version_list.length?(u(),p("div",Je,[e(k,{type:"primary",onClick:le,loading:w.value},{default:l(()=>[v(o(i(s)("upgrade.upgradeButton")),1)]),_:1},8,["loading"])])):y("",!0)],512),[[$,h.value=="content"]]),I(n("div",null,[T.value&&!g.value?(u(),p("div",Ke,[e(C,null,{default:l(()=>[T.value.dir?(u(),p("div",Pe,[n("p",Ze,o(i(s)("upgrade.dirPermission")),1),n("div",Ge,[e(D,{class:"py-[10px] items table-head-bg pl-[15px] mb-[10px]"},{default:l(()=>[e(f,{span:12},{default:l(()=>[n("span",null,o(i(s)("upgrade.path")),1)]),_:1}),e(f,{span:6},{default:l(()=>[n("span",null,o(i(s)("upgrade.demand")),1)]),_:1}),e(f,{span:6},{default:l(()=>[n("span",null,o(i(s)("status")),1)]),_:1})]),_:1}),(u(!0),p(M,null,H(T.value.dir.is_readable,r=>(u(),P(D,{class:"pb-[10px] items pl-[15px]"},{default:l(()=>[e(f,{span:12},{default:l(()=>[n("span",null,o(r.dir),1)]),_:2},1024),e(f,{span:6},{default:l(()=>[n("span",null,o(i(s)("upgrade.readable")),1)]),_:1}),e(f,{span:6},{default:l(()=>[r.status?(u(),p("span",Oe,[e(S,{color:"green"},{default:l(()=>[e(q)]),_:1})])):(u(),p("span",Qe,[e(S,{color:"red"},{default:l(()=>[e(z)]),_:1})]))]),_:2},1024)]),_:2},1024))),256)),(u(!0),p(M,null,H(T.value.dir.is_write,r=>(u(),P(D,{class:"pb-[10px] items pl-[15px]"},{default:l(()=>[e(f,{span:12},{default:l(()=>[n("span",null,o(r.dir),1)]),_:2},1024),e(f,{span:6},{default:l(()=>[n("span",null,o(i(s)("upgrade.write")),1)]),_:1}),e(f,{span:6},{default:l(()=>[r.status?(u(),p("span",Ye,[e(S,{color:"green"},{default:l(()=>[e(q)]),_:1})])):(u(),p("span",et,[e(S,{color:"red"},{default:l(()=>[e(z)]),_:1})]))]),_:2},1024)]),_:2},1024))),256))])])):y("",!0)]),_:1})])):y("",!0),I(n("div",tt,[e(i(Be),{ref_key:"terminalRef",ref:E,context:g.value?g.value.upgrade.app_key:"","init-log":null,"show-header":!1,"show-log-time":!0,onExecCmd:ne},null,8,["context"])],512),[[$,g.value]])],512),[[$,h.value=="upgrade"]]),I(n("div",null,[n("div",at,[n("div",lt,[e(pe,{icon:"success",title:i(s)("upgrade.upgradeSuccess")},null,8,["title"]),e(x,{title:i(s)("upgrade.upgradeCompleteTips"),type:"error",closable:!1},null,8,["title"])]),n("div",st,[e(k,{type:"default",onClick:t[0]||(t[0]=r=>_.value=!1)},{default:l(()=>[v(o(i(s)("upgrade.localBuild")),1)]),_:1}),e(k,{type:"primary",onClick:ie},{default:l(()=>[v(o(i(s)("upgrade.cloudBuild")),1)]),_:1})])])],512),[[$,h.value=="complete"]])]),_:1},8,["modelValue","title"]),e(J,{modelValue:V.value,"onUpdate:modelValue":t[5]||(t[5]=r=>V.value=r),title:i(s)("warning"),width:"500px",draggable:""},{footer:l(()=>[n("div",ot,[e(k,{onClick:t[2]||(t[2]=r=>X(!0)),type:"primary"},{default:l(()=>[v(o(i(s)("upgrade.knownToKnow")),1)]),_:1}),e(k,{onClick:t[3]||(t[3]=r=>X()),type:"primary",plain:""},{default:l(()=>[v(o(i(s)("upgrade.upgradeButton")),1)]),_:1}),e(k,{onClick:t[4]||(t[4]=r=>V.value=!1)},{default:l(()=>[v(o(i(s)("cancel")),1)]),_:1})])]),default:l(()=>[n("span",{innerHTML:i(s)("upgrade.upgradeTips")},null,8,nt)]),_:1},8,["modelValue","title"])],64)}}});const ht=Se(rt,[["__scopeId","data-v-00f469fb"]]);export{ht as default};