UNPKG

goldpankit

Version:

GoldPanKit是一款极速研发套件,可在套件中快速构建各类技术框架和项目。开源作者可发布自己的项目,并为其设定金额,实现开源项目的盈利。

2 lines (1 loc) 7.01 kB
import{_ as D,r as l,o as t,c as o,F as j,g as k,b as u,a as r,t as n,M as A,m as N,D as F,G as v,j as h,J as m,K as f,h as V,w as y,e as g,p as E,l as U}from"./index-20f43531.js";import{P as z,S as O}from"./PluginList-d48a2648.js";import{B as w,S as G}from"./ServiceStatus-0b09ecbf.js";import{f as J,a as K}from"./service-e8be9e71.js";import{b as R}from"./service.space-55b6348e.js";import{S as T}from"./ServiceTitle-80fba437.js";import"./service.version-970fc42f.js";const H={name:"VerticalServiceList",components:{ServiceTitle:T,BeanAmount:w},props:{space:{require:!0},spaceLabel:{require:!1},services:{type:Array,required:!0}}},Q={class:"service-list"},W={class:"price-wrap"},X={class:"text-info-1 text-mini"};function Y(s,i,p,M,e,S){const _=l("ServiceTitle"),d=l("BeanAmount");return t(),o("ul",Q,[(t(!0),o(j,null,k(p.services,a=>(t(),o("li",{key:a.name},[u(_,{space:p.space,"space-label":p.spaceLabel,service:a.name,"service-label":a.label,"with-paths":!1},null,8,["space","space-label","service","service-label"]),r("p",null,n(p.space)+"-"+n(a.name)+"-"+n(a.introduce),1),r("div",W,[r("p",X,n(s.getDateOffsetText(a.lastPublish)),1),u(d,{price:a.price.price,type:a.price.leaseType},null,8,["price","type"])])]))),128))])}const Z=D(H,[["render",Y],["__scopeId","data-v-285d6883"]]);const $={components:{ServiceStatus:G,ServiceTitle:T,VerticalServiceList:Z,BeanAmount:w,MarkdownEditor:A,PluginList:z,ServiceStructureView:O},data(){return{loading:!0,route:{space:null,service:null},currentTab:"readme",currentMajorVersion:"",currentVersion:null,majorVersions:[],space:null,service:null,majorVersionDetail:null,relationServices:[]}},computed:{...N(["userInfo"])},methods:{initData(){this.loading=!0,this.space=null,this.service=null,this.currentVersion=null,this.fetchSpace(),this.fetchServices(),this.fetchDetail()},changeMajorVersion(s){this.currentMajorVersion!==s&&(this.currentMajorVersion=s,this.fetchDetail(s))},fetchSpace(){R(this.route.space).then(s=>{this.space=s}).catch(s=>{this.$tip.apiFailed(s)})},fetchServices(){J({space:this.route.space,withSpaceInfo:!1,withPublisher:!1}).then(s=>{this.relationServices=s.filter(i=>this.route.service!==i.name)}).catch(s=>{this.$tip.apiFailed(s)})},fetchDetail(s){K({...this.route,majorVersion:s}).then(i=>{if(i==null){this.alert("该服务还未发布或已被删除").then(()=>{this.$router.push({name:"PublicServices"})});return}this.service=i,this.majorVersions=i.majorVersions,this.currentMajorVersion=s||this.majorVersions[0],this.majorVersionDetail=i.defaultMajorVersion,this.currentVersion=this.majorVersionDetail.version,this.majorVersionDetail.description==null&&this.majorVersionDetail.description.trim()===""&&(this.majorVersionDetail.description="No Descriptions")}).catch(i=>{if(i.code===5110||i.code===4002){this.alert(i.message).then(()=>{this.$router.push({name:"PublicServices"})});return}this.$tip.apiFailed(i)}).finally(()=>{this.loading=!1})}},beforeRouteUpdate(s,i,p){this.route.space=s.query.p,this.route.service=s.query.n,this.initData(),p()},created(){this.route.space=this.$route.query.p,this.route.service=this.$route.query.n,this.initData()}},P=s=>(E("data-v-11a33a98"),s=s(),U(),s),ee={class:"page"},se={key:0,class:"wrap"},ie={class:"header"},re={class:"tech-stack-wrap"},te={key:0,class:"major-versions"},ne=["onClick"],oe={class:"content-wrap"},ce={class:"dimension-wrap"},le={class:"dimensions"},ae={key:0,class:"detail"},ue={class:"info"},pe={class:"user-profile"},he={class:"user-info"},ve={class:"introduce"},me={class:"install"},_e=P(()=>r("i",{class:"iconfont icon-code"},null,-1)),de={class:"info-list"},fe={key:0},Se={key:1},be={key:0,class:"relation-services-wrap"},Ve=P(()=>r("h4",null,"相关代码工程",-1));function ye(s,i,p,M,e,S){const _=l("ServiceTitle"),d=l("ServiceStatus"),a=l("BeanAmount"),C=l("MarkdownEditor"),L=l("PluginList"),B=l("ServiceStructureView"),I=l("Avatar"),b=l("el-button"),q=l("VerticalServiceList"),x=F("loading");return v((t(),o("div",ee,[e.space!=null&&e.service!=null?(t(),o("div",se,[r("div",ie,[u(_,{space:e.space.name,"space-label":e.space.label,service:e.service.name,"service-label":e.service.label},null,8,["space","space-label","service","service-label"]),r("div",re,[u(d,{"with-private":e.service.withPrivate},null,8,["with-private"]),r("p",null,n(e.majorVersionDetail.subServices.length)+" "+n(s.$t("service.plugins")),1),u(a,{price:e.service.price.price,type:e.service.price.leaseType},null,8,["price","type"])]),e.majorVersions.length>1?(t(),o("ul",te,[(t(!0),o(j,null,k(e.majorVersions,c=>(t(),o("li",{key:c,class:m({selected:c===e.currentMajorVersion}),onClick:ge=>S.changeMajorVersion(c)},"v"+n(c),11,ne))),128))])):h("",!0)]),r("div",oe,[r("div",ce,[r("ul",le,[r("li",{class:m({selected:e.currentTab==="readme"}),onClick:i[0]||(i[0]=c=>e.currentTab="readme")},"说明",2),r("li",{class:m({selected:e.currentTab==="extends"}),onClick:i[1]||(i[1]=c=>e.currentTab="extends")},"插件",2),r("li",{class:m({selected:e.currentTab==="structure"}),onClick:i[2]||(i[2]=c=>e.currentTab="structure")},"代码结构",2)]),e.majorVersionDetail!=null?(t(),o("div",ae,[v(u(C,{modelValue:e.majorVersionDetail.description,"onUpdate:modelValue":i[3]||(i[3]=c=>e.majorVersionDetail.description=c),readonly:!0,"without-padding":!0},null,8,["modelValue"]),[[f,e.currentTab==="readme"]]),v(u(L,{plugins:e.majorVersionDetail.subServices},null,8,["plugins"]),[[f,e.currentTab==="extends"]]),e.currentVersion!=null?v((t(),V(B,{key:0,space:e.route.space,service:e.route.service,version:e.currentVersion},null,8,["space","service","version"])),[[f,e.currentTab==="structure"]]):h("",!0)])):h("",!0)]),r("div",ue,[r("div",pe,[r("div",he,[u(I,{"file-key":e.service.user.avatar,size:"30px",margin:"0 10px 0 0"},null,8,["file-key"]),r("h4",null,n(s.getUserDisplayName(e.service.user)),1)]),r("p",ve,n(e.service.user.introduce===""||e.service.user.introduce==null?"这个发布者很神秘~":e.service.user.introduce),1)]),r("div",me,[u(b,{type:"important",onClick:i[4]||(i[4]=c=>s.$router.push({name:"FrameworkInstaller",query:{s:e.space.name,n:e.service.name,major:e.currentMajorVersion}}))},{default:y(()=>[_e,g(n(s.$t("service.install")),1)]),_:1}),s.userInfo!=null&&s.userInfo.isDeveloper?(t(),V(b,{key:0,onClick:i[5]||(i[5]=c=>s.$router.push({name:"CreatePlugin",query:{space:e.space.name,service:e.service.name}}))},{default:y(()=>[g("创建插件")]),_:1})):h("",!0)]),r("ul",de,[r("li",null,[r("label",null,n(s.$t("service.subServices")),1),r("p",null,n(e.majorVersionDetail.subServices.length),1)]),r("li",null,[r("label",null,n(s.$t("service.lastPublish")),1),e.service.lastPublish!=null?(t(),o("p",fe,n(s.getDateOffsetText(e.service.lastPublish)),1)):(t(),o("p",Se,"None"))])]),e.relationServices.length>0?(t(),o("div",be,[Ve,u(q,{space:e.route.space,"space-label":e.space.label,services:e.relationServices},null,8,["space","space-label","services"])])):h("",!0)])])])):h("",!0)])),[[x,e.loading]])}const Ce=D($,[["render",ye],["__scopeId","data-v-11a33a98"]]);export{Ce as default};