UNPKG

epic-designer-gold

Version:

基于vue3的设计器,可视化开发页面表单

2 lines (1 loc) 14.3 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),u=require("./pluginManager-C8aQylGX.cjs"),h=require("element-plus"),f=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),I=require("./index-DqKiZufS.cjs"),S=require("./index-BoL2PSBk.cjs"),G={class:"e-data-source"},H={class:"icon-numbers"},Z={class:"drawer-content"},Q={class:"drawer-content-left"},W=["onClick"],X={class:"source-item-title"},Y=["onClick"],ee={class:"drawer-content-right"},ae={class:"content"},te={key:0,class:"content-empty"},le={key:1,class:"content-form"},re={class:"form-flex"},oe={class:"form-item"},ne={class:"form-item-title"},ue={key:0,class:"form-item-content"},de={class:"form-item"},se={class:"form-item-title"},ie={key:0,class:"form-item-content"},ce={class:"form-item"},me={class:"form-item-title"},pe={key:0,class:"form-item-content"},fe={class:"content-right-btn"},ve=e.defineComponent({__name:"index",emits:["update:modelValue","update:sourceData"],setup(Ve,{emit:he}){const{t:r}=S.useLocale(),c=u.pluginManager.getComponent("button"),w=u.pluginManager.getComponent("Drawer"),i=u.pluginManager.getComponent("input"),g=u.pluginManager.getComponent("FormItem"),x=u.pluginManager.getComponent("Form"),L=u.pluginManager.getComponent("RadioGroup"),_=u.pluginManager.getComponent("RadioButton");u.pluginManager.getComponent("select"),u.pluginManager.getComponent("switch");const E=e.ref(),B={GET:"#67c23a",POST:"#e6a23c",PUT:"#409eff",DELETE:"#f56c6c"},D=e.ref(0),O=e.reactive({apiName:[{required:!0,message:r("pleaseEnterApiName"),trigger:"blur"}],url:[{required:!0,message:r("pleaseEnterRequestUrl"),trigger:"blur"}],dataKey:[{required:!0,message:r("pleaseEnterLabelKey"),trigger:"blur"}],dataValue:[{required:!0,message:r("pleaseEnterValueKey"),trigger:"blur"}]}),k=e.ref(!1),m=e.ref([]),a=e.ref(),y=[{label:"1",value:"1"}];function U(){k.value=!0}function M(){const l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";return l.charAt(Math.floor(Math.random()*l.length))}function T(l){let t="";for(let o=0;o<l;o++)t+=M();return t}function q(){!a.value||a.value.id||!Object.keys(a.value).length?(a.value={id:"",url:"",body:{},bodyList:[],apiName:`${r("dataSource")}_${T(5)}`,method:"get",params:{},paramsList:[],dataKey:"name",headers:{},headerList:[],dataPath:"",dataValue:"id"},m.value.push(a.value)):a.value.id||C()}function J(l){var t;!a.value||a.value.id||!Object.keys(a.value).length?(m.value=JSON.parse(JSON.stringify(u.pluginManager.getSourceData())),((t=a.value)==null?void 0:t.id)===l?a.value={}:(a.value=m.value.find(o=>o.id===l),a.value.paramsList=Object.keys(JSON.parse(a.value.params)).map(o=>({label:o,value:JSON.parse(a.value.params)[o]})),a.value.bodyList=Object.keys(JSON.parse(a.value.body)).map(o=>({label:o,value:JSON.parse(a.value.body)[o]})),a.value.headerList=Object.keys(JSON.parse(a.value.headers)).map(o=>({label:o,value:JSON.parse(a.value.headers)[o]})))):C()}function P(l){l?(u.EventBus.emit("deleteSourceData",l),a.value={}):(m.value=m.value.filter(t=>t.id!==l),a.value={})}function F(){var l;(l=a.value)==null||l.paramsList.push({label:"",value:""})}function K(l){a.value.paramsList.splice(l,1)}function R(){var l;(l=a.value)==null||l.headerList.push({label:"",value:""})}function j(l){a.value.headerList.splice(l,1)}function A(){var l;(l=a.value)==null||l.bodyList.push({label:"",value:""})}function $(l){a.value.bodyList.splice(l,1)}e.onMounted(()=>{m.value=JSON.parse(JSON.stringify(u.pluginManager.getSourceData()))}),u.EventBus.on("updateSource",l=>{m.value=JSON.parse(JSON.stringify(u.pluginManager.getSourceData()))});async function z(){E.value.validate(async l=>{if(l)try{const t={};a.value.paramsList.forEach(d=>{t[d.label]=d.value});const o={};a.value.bodyList.forEach(d=>{o[d.label]=d.value});const v={};a.value.headerList.forEach(d=>{v[d.label]=d.value});let p=await I.axios({method:a.value.method,url:a.value.url,params:t,data:o,headers:{...v,Authorization:"Bearer "+S.api.get("Admin-Token"),lang:S.api.get("saas-locale")||"zh-CN",zone:Intl.DateTimeFormat().resolvedOptions().timeZone}});if(a.value.dataPath){const N=a.value.dataPath.split(".").reduce((V,n)=>V[n],p.data);N&&N.length?h.ElMessage({message:N.map(V=>({label:V[a.value.dataKey],value:V[a.value.dataValue]}))}):h.ElMessage.info(r("configError"))}else p.data&&p.data.length?h.ElMessage({message:p.data.map(d=>({label:d[a.value.dataKey],value:d[a.value.dataValue]}))}):h.ElMessage.info(r("configError"))}catch{h.ElMessage.error(r("requestFailed"))}finally{}else h.ElMessage.error(r("fillRequiredFields"))})}async function C(){a.value.body=a.value.bodyList.reduce((l,t)=>(l[t.label]=t.value,l),{}),a.value.params=a.value.paramsList.reduce((l,t)=>(l[t.label]=t.value,l),{}),a.value.headers=a.value.headerList.reduce((l,t)=>(l[t.label]=t.value,l),{}),E.value.validate(l=>{l?a.value.id?(u.EventBus.emit("updateSourceData",{...a.value,body:JSON.stringify(a.value.body),params:JSON.stringify(a.value.params),headers:JSON.stringify(a.value.headers)}),a.value={}):(u.EventBus.emit("saveSourceData",{...a.value,body:JSON.stringify(a.value.body),params:JSON.stringify(a.value.params),headers:JSON.stringify(a.value.headers)}),a.value={}):h.ElMessage.warning(r("completeFormFirst"))})}return(l,t)=>(e.openBlock(),e.createElementBlock("div",G,[e.createVNode(e.unref(c),{class:"btn",onClick:U},{default:e.withCtx(()=>[e.createVNode(e.unref(f._sfc_main),{name:"icon--epic--window-outline",class:"mr-4px"}),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("configuration")),1),e.createElementVNode("span",H,e.toDisplayString(D.value||m.value.length),1)]),_:1}),e.createVNode(e.unref(w),{size:960,modelValue:k.value,"onUpdate:modelValue":t[7]||(t[7]=o=>k.value=o),"append-to-body":"",title:e.unref(r)("dataSources")},{default:e.withCtx(()=>[e.createElementVNode("div",Z,[e.createElementVNode("div",Q,[e.createVNode(e.unref(c),{type:"primary",class:"btn",onClick:q},{default:e.withCtx(()=>[e.createVNode(e.unref(f._sfc_main),{name:"icon--epic--add-rounded",class:"mr-4px"}),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("addDataSource")),1)]),_:1}),e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,o=>{var v;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["source-item",{active:o.id===((v=a.value)==null?void 0:v.id)}]),key:o.id,onClick:p=>J(o.id)},[e.createElementVNode("div",X,[e.createElementVNode("div",{style:e.normalizeStyle({color:B[o.method.toLocaleUpperCase()]})},e.toDisplayString(o.method.toLocaleUpperCase()),5),e.createElementVNode("div",null,e.toDisplayString(o.apiName),1)]),e.createElementVNode("div",{onClick:p=>P(o.id),class:"source-item-icon"},[e.createVNode(e.unref(f._sfc_main),{name:"icon--epic--delete-outline-rounded"})],8,Y)],10,W)}),128))])]),e.createElementVNode("div",ee,[e.createElementVNode("div",ae,[!a.value||!Object.keys(a.value).length?(e.openBlock(),e.createElementBlock("div",te,e.toDisplayString(e.unref(r)("pleaseSelectDataSource")),1)):(e.openBlock(),e.createElementBlock("div",le,[e.createVNode(e.unref(x),{ref_key:"ruleFormRef",ref:E,model:a.value,"label-position":"top",rules:O,"label-width":120},{default:e.withCtx(()=>{var o,v,p,d,N,V;return[e.createVNode(e.unref(g),{prop:"apiName",label:e.unref(r)("apiName")},{default:e.withCtx(()=>[e.createVNode(e.unref(i),{clearable:"",modelValue:a.value.apiName,"onUpdate:modelValue":t[0]||(t[0]=n=>a.value.apiName=n),placeholder:e.unref(r)("pleaseEnterApiName")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),e.createVNode(e.unref(g),{prop:"url",label:e.unref(r)("requestUrl")},{default:e.withCtx(()=>[e.createVNode(e.unref(i),{modelValue:a.value.url,"onUpdate:modelValue":t[1]||(t[1]=n=>a.value.url=n),clearable:"",placeholder:e.unref(r)("pleaseEnterRequestUrl")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),e.createVNode(e.unref(g),{label:e.unref(r)("requestMethod"),required:""},{default:e.withCtx(()=>[e.createVNode(e.unref(L),{modelValue:a.value.method,"onUpdate:modelValue":t[2]||(t[2]=n=>a.value.method=n)},{default:e.withCtx(()=>[e.createVNode(e.unref(_),{label:"GET",value:"get"},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode("GET",-1)])]),_:1}),e.createVNode(e.unref(_),{label:"POST",value:"post"},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode("POST",-1)])]),_:1}),e.createVNode(e.unref(_),{label:"PUT",value:"put"},{default:e.withCtx(()=>[...t[10]||(t[10]=[e.createTextVNode("PUT",-1)])]),_:1}),e.createVNode(e.unref(_),{label:"DELETE",value:"delete"},{default:e.withCtx(()=>[...t[11]||(t[11]=[e.createTextVNode("DELETE",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["label"]),e.createElementVNode("div",re,[e.createVNode(e.unref(g),{prop:"dataKey",style:{width:"30%"},label:e.unref(r)("labelKey")},{default:e.withCtx(()=>[e.createVNode(e.unref(i),{modelValue:a.value.dataKey,"onUpdate:modelValue":t[3]||(t[3]=n=>a.value.dataKey=n),clearable:"",placeholder:e.unref(r)("pleaseEnterLabelKey")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),e.createVNode(e.unref(g),{prop:"dataValue",style:{width:"30%"},label:e.unref(r)("valueKey")},{default:e.withCtx(()=>[e.createVNode(e.unref(i),{modelValue:a.value.dataValue,"onUpdate:modelValue":t[4]||(t[4]=n=>a.value.dataValue=n),clearable:"",placeholder:e.unref(r)("pleaseEnterValueKey")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),e.createVNode(e.unref(g),{style:{width:"33%"},label:e.unref(r)("dataPath")},{default:e.withCtx(()=>[e.createVNode(e.unref(i),{modelValue:a.value.dataPath,"onUpdate:modelValue":t[5]||(t[5]=n=>a.value.dataPath=n),clearable:"",placeholder:e.unref(r)("nestedPath")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),e.createElementVNode("div",oe,[e.createElementVNode("div",ne,[e.createElementVNode("div",null,e.toDisplayString(e.unref(r)("requestParams")),1),e.createVNode(e.unref(c),{onClick:F,text:"",type:"primary",class:"btn"},{default:e.withCtx(()=>[e.createVNode(e.unref(f._sfc_main),{name:"icon--epic--add-rounded"}),e.createTextVNode(" "+e.toDisplayString(e.unref(r)("add")),1)]),_:1})]),(o=a.value)!=null&&o.paramsList&&((v=a.value)!=null&&v.paramsList.length)?(e.openBlock(),e.createElementBlock("div",ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value.paramsList,(n,b)=>(e.openBlock(),e.createElementBlock("div",{class:"content-item",key:n.value},[e.createVNode(e.unref(i),{modelValue:n.label,"onUpdate:modelValue":s=>n.label=s,filterable:"","allow-create":"",style:{width:"42%"},options:y,placeholder:e.unref(r)("paramName")},null,8,["modelValue","onUpdate:modelValue","placeholder"]),e.createVNode(e.unref(i),{modelValue:n.value,"onUpdate:modelValue":s=>n.value=s,filterable:"","allow-create":"",style:{width:"42%"},options:y,placeholder:e.unref(r)("paramValue")},null,8,["modelValue","onUpdate:modelValue","placeholder"]),e.createVNode(e.unref(c),{onClick:s=>K(b),type:"danger",circle:""},{default:e.withCtx(()=>[e.createVNode(e.unref(f._sfc_main),{style:{color:"#fff"},name:"icon--epic--delete-outline-rounded"})]),_:1},8,["onClick"])]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",de,[e.createElementVNode("div",se,[e.createElementVNode("div",null,e.toDisplayString(e.unref(r)("requestHeaders")),1),e.createVNode(e.unref(c),{onClick:R,text:"",type:"primary",class:"btn"},{default:e.withCtx(()=>[e.createVNode(e.unref(f._sfc_main),{name:"icon--epic--add-rounded"}),e.createTextVNode(" "+e.toDisplayString(e.unref(r)("add")),1)]),_:1})]),(p=a.value)!=null&&p.headerList&&((d=a.value)!=null&&d.headerList.length)?(e.openBlock(),e.createElementBlock("div",ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value.headerList,(n,b)=>(e.openBlock(),e.createElementBlock("div",{class:"content-item",key:b},[e.createVNode(e.unref(i),{modelValue:n.label,"onUpdate:modelValue":s=>n.label=s,filterable:"","allow-create":"",style:{width:"42%"},options:y,placeholder:e.unref(r)("paramName")},null,8,["modelValue","onUpdate:modelValue","placeholder"]),e.createVNode(e.unref(i),{modelValue:n.value,"onUpdate:modelValue":s=>n.value=s,filterable:"","allow-create":"",style:{width:"42%"},options:y,placeholder:e.unref(r)("paramValue")},null,8,["modelValue","onUpdate:modelValue","placeholder"]),e.createVNode(e.unref(c),{onClick:s=>j(b),type:"danger",circle:""},{default:e.withCtx(()=>[e.createVNode(e.unref(f._sfc_main),{style:{color:"#fff"},name:"icon--epic--delete-outline-rounded"})]),_:1},8,["onClick"])]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ce,[e.createElementVNode("div",me,[e.createElementVNode("div",null,e.toDisplayString(e.unref(r)("requestBody")),1),e.createVNode(e.unref(c),{onClick:A,text:"",type:"primary",class:"btn"},{default:e.withCtx(()=>[e.createVNode(e.unref(f._sfc_main),{name:"icon--epic--add-rounded"}),e.createTextVNode(" "+e.toDisplayString(e.unref(r)("add")),1)]),_:1})]),(N=a.value)!=null&&N.bodyList&&((V=a.value)!=null&&V.bodyList.length)?(e.openBlock(),e.createElementBlock("div",pe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value.bodyList,(n,b)=>(e.openBlock(),e.createElementBlock("div",{class:"content-item",key:b},[e.createVNode(e.unref(i),{modelValue:n.label,"onUpdate:modelValue":s=>n.label=s,filterable:"","allow-create":"",style:{width:"42%"},options:y,placeholder:e.unref(r)("paramName")},null,8,["modelValue","onUpdate:modelValue","placeholder"]),e.createVNode(e.unref(i),{modelValue:n.value,"onUpdate:modelValue":s=>n.value=s,filterable:"","allow-create":"",style:{width:"42%"},options:y,placeholder:e.unref(r)("paramValue")},null,8,["modelValue","onUpdate:modelValue","placeholder"]),e.createVNode(e.unref(c),{onClick:t[6]||(t[6]=s=>$(l.i)),type:"danger",circle:""},{default:e.withCtx(()=>[e.createVNode(e.unref(f._sfc_main),{style:{color:"#fff"},name:"icon--epic--delete-outline-rounded"})]),_:1})]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",fe,[e.createVNode(e.unref(c),{type:"info",onClick:z},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("requestTest")),1)]),_:1}),e.createVNode(e.unref(c),{type:"primary",onClick:C},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("save")),1)]),_:1})])]}),_:1},8,["model","rules"])]))])])])]),_:1},8,["modelValue","title"])]))}});exports.default=ve;