goldpankit
Version:
GoldPanKit是一款极速研发套件,可在套件中快速构建各类技术框架和项目。开源作者可发布自己的项目,并为其设定金额,实现开源项目的盈利。
2 lines (1 loc) • 4.19 kB
JavaScript
import{_ as S,K as w,r as u,z as F,A as $,o,g as _,w as v,a as l,b,j as T,t as a,E as D,c as h,F as V,f as P,H as C,i as E,L,e as g}from"./index-aa9a4821.js";import{a as B}from"./service.version-ac5cb490.js";import{B as x}from"./BeanAmount-b97a3229.js";import{S as A}from"./ServiceStatus-4cc25d87.js";const I={name:"ServiceStructureView",props:{space:{required:!0},service:{required:!0},plugin:{required:!1},version:{required:!0}},data(){return{loading:!1,nodes:[]}},computed:{data(){const e=this.nodes.filter(t=>t.type==="DIRECTORY").sort((t,n)=>n.path.split("/").length-t.path.split("/").length),r=this.nodes.filter(t=>t.type==="FILE");for(const t of e){let n=null;for(let i=r.length-1;i>=0;i--){if(!r[i].path.startsWith(t.path))continue;t.children==null&&(t.children=[]);let p=new Date(r[i].publishTime).getTime();(n==null||p>n)&&(t.description=r[i].description,n=p),t.publishTime=r[i].publishTime,r[i].path=r[i].path.split("/").pop(),t.children.push(r[i]),r.splice(i,1)}}e.reverse();for(let t=e.length-1;t>=0;t--){const n=e[t];let i=!1;for(let p=t-1;p>=0;p--){const c=e[p];if(!n.path.startsWith(c.path))continue;c.children==null&&(c.children=[]);let d=new Date(n.publishTime).getTime(),m=new Date(c.publishTime).getTime();d>m&&(c.description=n.description,c.publishTime=n.publishTime),n.path=n.path.split("/").pop(),c.children.push(n),i=!0;break}i&&e.splice(t,1)}return e.push.apply(e,r),w(e),e},factor(){return[this.space,this.service,this.plugin,this.version]}},watch:{factor(){this.fetchVersionFiles()}},methods:{fetchVersionFiles(){this.loading=!0,B({space:this.space,service:this.service,plugin:this.plugin,version:this.version}).then(e=>{this.nodes=e}).catch(e=>{this.$tip.apiFailed(e)}).finally(()=>{this.loading=!1})}},created(){this.fetchVersionFiles()}},q={class:"node-label"},R={class:"filename"},N={class:"text-info-1 text-mini description"},O={class:"text-info-1 text-mini publish-time"};function j(e,r,t,n,i,p){const c=u("Document"),d=u("el-icon"),m=u("Folder"),y=u("el-tree"),s=F("loading");return $((o(),_(y,{class:"service-structure-tree",data:p.data},{default:v(({node:k,data:f})=>[l("span",q,[f.type==="FILE"?(o(),_(d,{key:0},{default:v(()=>[b(c)]),_:1})):f.type==="DIRECTORY"?(o(),_(d,{key:1},{default:v(()=>[b(m)]),_:1})):T("",!0),l("span",R,a(f.path),1),l("span",N,a(f.description),1),l("span",O,a(e.getDateOffsetText(f.publishTime)),1)])]),_:1},8,["data"])),[[s,i.loading]])}const ne=S(I,[["render",j],["__scopeId","data-v-d9815c52"]]);const z={name:"PluginList",components:{ServiceStatus:A,Empty:D,BeanAmount:x},props:{plugins:{type:Array,required:!0},customClass:{type:Function,default(){return()=>{}}},installed:{type:Function,default(){return()=>{}}}}},W={key:0,class:"plugin-list"},Y=["onClick"],H={class:"latest-version"},K={key:0},M={class:"introduce"},U={key:0,class:"user-profile"},G=["src"],J={class:"price-wrap"},Q={class:"text-info-1 text-mini"},X={key:0};function Z(e,r,t,n,i,p){const c=u("ServiceStatus"),d=u("BeanAmount"),m=u("Empty"),y=u("el-scrollbar");return o(),_(y,null,{default:v(()=>[t.plugins.length>0?(o(),h("ul",W,[(o(!0),h(V,null,P(t.plugins,s=>(o(),h("li",{key:s.id,class:C({...t.customClass(s),"plugin-installed":t.installed(s)===!0}),onClick:E(k=>e.$emit("click",s),["stop"])},[l("h5",null,[L(e.$slots,"title",{plugin:s},()=>[g(a(s.label||s.name),1)],!0)]),l("p",H,[l("span",null,a(e.$t("service.latestVersion"))+": v"+a(s.lastVersion),1),t.installed(s)===!0?(o(),h("span",K,a(e.$t("service.installed")),1)):T("",!0)]),l("p",M,a(s.introduce),1),s.user!=null?(o(),h("div",U,[l("img",{src:e.getAccessUri(s.user.avatar,"/images/avatar/default.png")},null,8,G),l("span",null,a(s.user.username),1)])):T("",!0),l("div",J,[l("p",Q,[b(c,{"with-private":s.withPrivate},null,8,["with-private"]),g(" | "+a(e.getDateOffsetText(s.lastPublishTime)),1)]),s.latestLease!=null?(o(),h("em",X,a(e.getRemainingDay(s.latestLease.leaseEndTime))+" "+a(e.$t("common.days")),1)):(o(),_(d,{key:1,price:s.price.price,type:s.price.leaseType},null,8,["price","type"]))])],10,Y))),128))])):(o(),_(m,{key:1,description:e.$t("service.noSubServices")},null,8,["description"]))]),_:3})}const re=S(z,[["render",Z],["__scopeId","data-v-ab98be3f"]]);export{re as P,ne as S};