UNPKG

goldpankit

Version:

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

2 lines (1 loc) 6.82 kB
import{_ as D,r as l,o as r,c as o,F as j,g as k,b as u,a as t,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 y,w as b,e as g,p as E,l as U}from"./index-feb3a4f9.js";import{P as z,S as O}from"./PluginList-ccb60bb1.js";import{B as w,S as G}from"./ServiceStatus-408678f4.js";import{f as J,a as K}from"./service-c801a76d.js";import{b as R}from"./service.space-68dc415a.js";import{S as T}from"./ServiceTitle-e8af232e.js";import"./service.version-b94bcb3c.js";const H={name:"VerticalServiceList",components:{ServiceTitle:T,BeanAmount:w},props:{space:{require:!0},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 r(),o("ul",Q,[(r(!0),o(j,null,k(p.services,a=>(r(),o("li",{key:a.name},[u(_,{space:p.space,service:a.name,"with-paths":!1},null,8,["space","service"]),t("p",null,n(p.space)+"-"+n(a.name)+"-"+n(a.introduce),1),t("div",W,[t("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-202295b0"]]);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-77e64913"),s=s(),U(),s),ee={class:"page"},se={key:0,class:"wrap"},ie={class:"header"},te={class:"tech-stack-wrap"},re={key:0,class:"major-versions"},ne=["onClick"],oe={class:"content-wrap"},ce={class:"dimension-wrap"},le={class:"dimensions"},ue={key:0,class:"detail"},ae={class:"info"},pe={class:"user-profile"},he={class:"user-info"},ve={class:"introduce"},me={class:"install"},_e=P(()=>t("i",{class:"iconfont icon-code"},null,-1)),de={class:"info-list"},fe={key:0},Se={key:1},Ve={key:0,class:"relation-services-wrap"},ye=P(()=>t("h4",null,"相关代码工程",-1));function be(s,i,p,M,e,S){const _=l("ServiceTitle"),d=l("ServiceStatus"),a=l("BeanAmount"),C=l("MarkdownEditor"),B=l("PluginList"),I=l("ServiceStructureView"),L=l("Avatar"),V=l("el-button"),q=l("VerticalServiceList"),x=F("loading");return v((r(),o("div",ee,[e.space!=null&&e.service!=null?(r(),o("div",se,[t("div",ie,[u(_,{space:e.space.name,service:e.service.name,"service-label":e.service.label},null,8,["space","service","service-label"]),t("div",te,[u(d,{"with-private":e.service.withPrivate},null,8,["with-private"]),t("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?(r(),o("ul",re,[(r(!0),o(j,null,k(e.majorVersions,c=>(r(),o("li",{key:c,class:m({selected:c===e.currentMajorVersion}),onClick:ge=>S.changeMajorVersion(c)},"v"+n(c),11,ne))),128))])):h("",!0)]),t("div",oe,[t("div",ce,[t("ul",le,[t("li",{class:m({selected:e.currentTab==="readme"}),onClick:i[0]||(i[0]=c=>e.currentTab="readme")},"说明",2),t("li",{class:m({selected:e.currentTab==="extends"}),onClick:i[1]||(i[1]=c=>e.currentTab="extends")},"插件",2),t("li",{class:m({selected:e.currentTab==="structure"}),onClick:i[2]||(i[2]=c=>e.currentTab="structure")},"代码结构",2)]),e.majorVersionDetail!=null?(r(),o("div",ue,[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(B,{plugins:e.majorVersionDetail.subServices},null,8,["plugins"]),[[f,e.currentTab==="extends"]]),e.currentVersion!=null?v((r(),y(I,{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)]),t("div",ae,[t("div",pe,[t("div",he,[u(L,{"file-key":e.service.user.avatar,size:"30px",margin:"0 10px 0 0"},null,8,["file-key"]),t("h4",null,n(s.getUserDisplayName(e.service.user)),1)]),t("p",ve,n(e.service.user.introduce===""||e.service.user.introduce==null?"这个发布者很神秘~":e.service.user.introduce),1)]),t("div",me,[u(V,{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:b(()=>[_e,g(n(s.$t("service.install")),1)]),_:1}),s.userInfo!=null&&s.userInfo.isDeveloper?(r(),y(V,{key:0,onClick:i[5]||(i[5]=c=>s.$router.push({name:"CreatePlugin",query:{space:e.space.name,service:e.service.name}}))},{default:b(()=>[g("创建插件")]),_:1})):h("",!0)]),t("ul",de,[t("li",null,[t("label",null,n(s.$t("service.subServices")),1),t("p",null,n(e.majorVersionDetail.subServices.length),1)]),t("li",null,[t("label",null,n(s.$t("service.lastPublish")),1),e.service.lastPublish!=null?(r(),o("p",fe,n(s.getDateOffsetText(e.service.lastPublish)),1)):(r(),o("p",Se,"None"))])]),e.relationServices.length>0?(r(),o("div",Ve,[ye,u(q,{space:e.route.space,services:e.relationServices},null,8,["space","services"])])):h("",!0)])])])):h("",!0)])),[[x,e.loading]])}const Ce=D($,[["render",be],["__scopeId","data-v-77e64913"]]);export{Ce as default};