Files
safePower/dist/assets/087AC4D233B64EB0pubPlug.z3uDmQaP.js
xiaozhiyong 9c5961efe9 更新
2026-04-29 09:15:49 +08:00

5 lines
4.0 KiB
JavaScript

/*!
Build based on gin-vue-admin
Time : 1776662816000 */
import{_ as e}from"./087AC4D233B64EB0warningBar.BOeRS2jX.js";import{v as a,w as t,x as l}from"./087AC4D233B64EB0autoCode.D4TxIFGD.js";import{j as n}from"./087AC4D233B64EB0api.BqTXIZXX.js";import{a as o,g as s,c as i,o as u,b as r,f as c,w as d,h as p,t as m,bf as f,E as v,k as g}from"./087AC4D233B64EB0index.D-00lXMX.js";const x={class:"gva-form-box"},h={class:"p-4 bg-white dark:bg-slate-900"},y={class:"flex items-center gap-3"},B={class:"flex justify-end mt-2"},A={class:"flex justify-end mt-2"},b={class:"flex justify-end"},V={__name:"pubPlug",setup(V){const w=o(""),I=o([]),_=o([]),P=o([]),j=o([]),C=o(""),k=e=>{const a=[];return e.forEach(e=>{e.children?a.push(...k(e.children)):a.push(e)}),a},T=(e,a)=>a.meta.title.indexOf(e)>-1||a.component.indexOf(e)>-1,D=(e,a)=>a.description.indexOf(e)>-1||a.path.indexOf(e)>-1;(async()=>{const e=await f();0===e.code&&(_.value=k(e.data));const a=await n();0===a.code&&(j.value=a.data.apis)})();const E=async()=>{g.confirm("请检查server下的/plugin/".concat(w.value,"/plugin.go是否已放开需要的 initialize.Api(ctx) 和 initialize.Menu(ctx)?"),"打包",{confirmButtonText:"打包",cancelButtonText:"取消",type:"warning"}).then(async()=>{const e=await l({plugName:w.value});0===e.code&&v.success(e.msg)}).catch(()=>{v({type:"info",message:"关闭打包"})})},z=()=>{C.value?0!==I.value.length?""!==w.value?g.confirm("点击后将会覆盖server下的/plugin/".concat(w.value,"/initialize/menu. 是否继续?"),"生成初始菜单",{confirmButtonText:"生成",cancelButtonText:"取消",type:"warning"}).then(()=>{const e={plugName:w.value,parentMenu:C.value,menus:I.value};a(e)}).catch(()=>{v({type:"info",message:"关闭生成菜单"})}):v.error("请填写插件名"):v.error("请至少选择一个菜单"):v.error("请填写菜单组名")},O=()=>{0!==P.value.length?""!==w.value?g.confirm("点击后将会覆盖server下的/plugin/".concat(w.value,"/initialize/api. 是否继续?"),"生成初始API",{confirmButtonText:"生成",cancelButtonText:"取消",type:"warning"}).then(()=>{const e={plugName:w.value,apis:P.value};t(e)}).catch(()=>{v({type:"info",message:"关闭生成API"})}):v.error("请填写插件名"):v.error("请至少选择一个API")};return(a,t)=>{const l=s("el-input"),n=s("el-transfer"),o=s("el-button"),f=s("el-card");return u(),i("div",x,[r("div",h,[c(e,{title:"目前只支持标准插件(通过插件模板生成的标准目录插件),非标准插件请自行打包"}),r("div",y,[c(l,{modelValue:w.value,"onUpdate:modelValue":t[0]||(t[0]=e=>w.value=e),placeholder:"插件模板处填写的【插件名】"},null,8,["modelValue"])]),c(f,{class:"mt-2 text-center"},{default:d(()=>[c(e,{title:"穿梭框请只选择子级菜单即可"}),c(l,{modelValue:C.value,"onUpdate:modelValue":t[1]||(t[1]=e=>C.value=e),placeholder:"请输入菜单组名,例:公告管理",class:"mb-2"},null,8,["modelValue"]),c(n,{modelValue:I.value,"onUpdate:modelValue":t[2]||(t[2]=e=>I.value=e),props:{key:"ID"},class:"plugin-transfer",data:_.value,filterable:"","filter-method":T,"filter-placeholder":"请输入菜单名称/路径",titles:["可选菜单","使用菜单"],"button-texts":["移除","选中"]},{default:d(({option:e})=>[p(m(e.meta.title)+" "+m(e.component),1)]),_:1},8,["modelValue","data"]),r("div",B,[c(o,{type:"primary",onClick:z},{default:d(()=>[...t[4]||(t[4]=[p(" 定义安装菜单 ",-1)])]),_:1})])]),_:1}),c(f,{class:"mt-2 text-center"},{default:d(()=>[c(n,{modelValue:P.value,"onUpdate:modelValue":t[3]||(t[3]=e=>P.value=e),props:{key:"ID"},class:"plugin-transfer",data:j.value,filterable:"","filter-method":D,"filter-placeholder":"请输入API描述/PATH",titles:["可选API","使用API"],"button-texts":["移除","选中"]},{default:d(({option:e})=>[p(m(e.description)+" "+m(e.path),1)]),_:1},8,["modelValue","data"]),r("div",A,[c(o,{type:"primary",onClick:O},{default:d(()=>[...t[5]||(t[5]=[p(" 定义安装API ",-1)])]),_:1})])]),_:1})]),r("div",b,[c(o,{type:"primary",onClick:E},{default:d(()=>[...t[6]||(t[6]=[p(" 打包插件 ",-1)])]),_:1})])])}}};export{V as default};