智慧教务系统
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{a4 as b,d as de,r as m,R as _e,a5 as fe,N as W,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 $,O as H,u as i,k as s,ae as F,m as z,aU as ve,aa as G,P as Q,ay as X,S as ge,aV as me,a9 as he,E as xe,as as ke,at as ye,T as we,aW as Ce,V as be,p as Te,g as Ee}from"./index-4c331f20.js";/* empty css *//* empty css */import{T as Ve,_ as Be}from"./dark-317ca70a.js";/* empty css *//* empty css *//* empty css *//* empty css */import{b as Ue}from"./module-f8447549.js";import{_ as Se}from"./_plugin-vue_export-helper-c27b6911.js";function Ie(c=""){return b.get(c?`upgrade/${c}`:"upgrade")}function $e(){return b.get("upgrade/task")}function Fe(c=""){return b.post(c?`upgrade/${c}`:"upgrade")}function Me(){return b.post("upgrade/execute",{})}function Ne(c=""){return b.get(c?`upgrade/check/${c}`:"upgrade/check")}function Y(){return b.post("upgrade/clear")}const Le=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]"},Pe=Le(()=>n("a",{class:"text-primary",href:"https://www.niucloud.com",target:"_blank"},"niucloud-admin官网",-1)),qe={class:"font-bold text-lg"},Je={key:0,class:"mt-[5px]"},Ke=["innerHTML"],Oe={key:1,class:"flex justify-end"},We={key:0,class:"h-[60vh] flex flex-col"},ze={key:0,class:"bg-[#fff] my-3"},Ge={class:"pt-[20px] pl-[20px]"},Qe={class:"px-[20px] pt-[10px] text-[14px] el-table"},Xe={key:0},Ye={key:1},Ze={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:Z,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 M=[],N=[];const U=()=>{$e().then(({data:a})=>{if(a){if(!_.value){te();return}if(g.value||(E.value.execute("clear"),E.value.execute("开始升级")),a.log.forEach(t=>{M.includes(t)||(E.value.pushMessage({content:`正在执行:${t}`}),M.push(t))}),a.error&&a.error.forEach(t=>{N.includes(t)||(E.value.pushMessage({content:t,class:"error"}),N.push(t))}),a.step!="restoreComplete"){if(a.step=="upgradeComplete"){h.value="complete",B&&B.close(),R("complete"),Y();return}g.value=a,ee()}}}).catch()};U();const ee=()=>{Me().then(()=>{U()}).catch()};let B=null;const te=()=>{B=ve.success({title:s("warning"),dangerouslyUseHTMLString:!0,message:G("div",{},[s("upgrade.upgradingTips"),G("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 Ne(a).then(async({data:C})=>{C.is_pass?await Fe(a).then(()=>{U()}).catch(()=>{w.value=!1}):T.value=C}).catch(),w.value&&(h.value="upgrade")},se=(a="")=>{if(g.value)Q({message:"已有正在执行中的升级任务",type:"error"}),_.value=!0;else{if(a&&j.value!=A.value){Q({message:"存在新版本框架,请先升级框架",type:"error"});return}Ie(a).then(({data:t})=>{d.value=t,X.get("upgradeTipsLock")?_.value=!0:V.value=!0}).catch()}};let L=null;const P=new Ve,ne=(a,t,x,C,k)=>{if(t=="开始升级"){x(P);const f=oe(["/","——","\\","|"]);L=setInterval(()=>{P.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,M=[],N=[],L&&clearInterval(L),Y().then(()=>{}).catch()},ie=()=>{_.value=!1,R("cloudbuild")},q=(a=!1)=>{a&&X.set({key:"upgradeTipsLock",data:a}),V.value=!1,!a&&(_.value=!0)};return Z({open:se}),(a,t)=>{const x=me,C=he,k=xe,f=ke,D=ye,J=W("Select"),S=we,K=W("CloseBold"),pe=Ce,O=be;return u(),p($,null,[e(O,{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),Pe,v("购买相关服务后再进行升级 ")]),_:1})])):y("",!0),e(C,{class:"flex-1 h-0 mt-[20px]"},{default:l(()=>[(u(!0),p($,null,H(d.value.version_list,(r,ce)=>(u(),p("div",{class:"mt-[20px]",key:ce},[n("div",qe,o(r.version_no),1),r.release_time?(u(),p("div",Je,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,Ke)):y("",!0)]))),128))]),_:1})])):y("",!0),d.value.version_list.length?(u(),p("div",Oe,[e(k,{type:"primary",onClick:le,loading:w.value},{default:l(()=>[v(o(i(s)("upgrade.upgradeButton")),1)]),_:1},8,["loading"])])):y("",!0)],512),[[F,h.value=="content"]]),I(n("div",null,[T.value&&!g.value?(u(),p("div",We,[e(C,null,{default:l(()=>[T.value.dir?(u(),p("div",ze,[n("p",Ge,o(i(s)("upgrade.dirPermission")),1),n("div",Qe,[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($,null,H(T.value.dir.is_readable,r=>(u(),z(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",Xe,[e(S,{color:"green"},{default:l(()=>[e(J)]),_:1})])):(u(),p("span",Ye,[e(S,{color:"red"},{default:l(()=>[e(K)]),_:1})]))]),_:2},1024)]),_:2},1024))),256)),(u(!0),p($,null,H(T.value.dir.is_write,r=>(u(),z(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",Ze,[e(S,{color:"green"},{default:l(()=>[e(J)]),_:1})])):(u(),p("span",et,[e(S,{color:"red"},{default:l(()=>[e(K)]),_: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),[[F,g.value]])],512),[[F,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),[[F,h.value=="complete"]])]),_:1},8,["modelValue","title"]),e(O,{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=>q(!0)),type:"primary"},{default:l(()=>[v(o(i(s)("upgrade.knownToKnow")),1)]),_:1}),e(k,{onClick:t[3]||(t[3]=r=>q()),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};