From a20f272694d01071dc14b6adabccb68de9840b74 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Wed, 23 Apr 2025 17:07:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/bunny/core/TypeConvertCore.java | 42 +++++++------------ .../src/main/java/cn/bunny/utils/VmsUtil.java | 25 +++++------ .../src/main/resources/application-dev.yml | 2 +- .../js/{404-CRsPiOwZ.js => 404-DYq3ki41.js} | 2 +- .../static/static/js/index-BF4zgPDT.js | 1 - .../{index-BIRohJrt.js => index-BZjZ3Az-.js} | 4 +- .../static/static/js/index-DNjCtrgM.js | 1 + .../src/main/resources/templates/index.html | 2 +- .../test/java/cn/bunny/StringFormatTest.java | 37 +++++++++------- 9 files changed, 55 insertions(+), 61 deletions(-) rename common/generator-code/src/main/resources/static/static/js/{404-CRsPiOwZ.js => 404-DYq3ki41.js} (98%) delete mode 100644 common/generator-code/src/main/resources/static/static/js/index-BF4zgPDT.js rename common/generator-code/src/main/resources/static/static/js/{index-BIRohJrt.js => index-BZjZ3Az-.js} (93%) create mode 100644 common/generator-code/src/main/resources/static/static/js/index-DNjCtrgM.js diff --git a/common/generator-code/src/main/java/cn/bunny/core/TypeConvertCore.java b/common/generator-code/src/main/java/cn/bunny/core/TypeConvertCore.java index 693fc7b..3811e5d 100644 --- a/common/generator-code/src/main/java/cn/bunny/core/TypeConvertCore.java +++ b/common/generator-code/src/main/java/cn/bunny/core/TypeConvertCore.java @@ -3,8 +3,6 @@ package cn.bunny.core; import com.google.common.base.CaseFormat; import org.assertj.core.util.introspection.CaseFormatUtils; -import java.util.regex.Pattern; - /* 类型转换,数据库转Java类型等 */ public class TypeConvertCore { @@ -16,17 +14,17 @@ public class TypeConvertCore { columnType = columnType.toLowerCase(); return switch (columnType) { - case "varchar", "char", "text", "longtext", "mediumtext", "tinytext" -> "String"; - case "int", "integer", "tinyint", "smallint" -> "Integer"; + case "varchar" , "char" , "text" , "longtext" , "mediumtext" , "tinytext" -> "String"; + case "int" , "integer" , "tinyint" , "smallint" -> "Integer"; case "bigint" -> "Long"; - case "decimal", "numeric" -> "BigDecimal"; + case "decimal" , "numeric" -> "BigDecimal"; case "float" -> "Float"; case "double" -> "Double"; - case "boolean", "bit", "tinyint unsigned" -> "Boolean"; - case "date", "year" -> "Date"; + case "boolean" , "bit" , "tinyint unsigned" -> "Boolean"; + case "date" , "year" -> "Date"; case "time" -> "Time"; - case "datetime", "timestamp" -> "LocalDateTime"; - case "blob", "longblob", "mediumblob", "tinyblob" -> "byte[]"; + case "datetime" , "timestamp" -> "LocalDateTime"; + case "blob" , "longblob" , "mediumblob" , "tinyblob" -> "byte[]"; default -> "Object"; }; } @@ -49,27 +47,15 @@ public class TypeConvertCore { public static String convertToCamelCase(String name, boolean firstLetterCapital) { if (name == null || name.isEmpty()) return name; + // 转成小驼峰 + String lowerCamelCase = CaseFormatUtils.toCamelCase(name); + // 首字母不大写 - if (!firstLetterCapital) return CaseFormatUtils.toCamelCase(name); - - // 检查是否全大写带下划线 (UPPER_UNDERSCORE) - if (Pattern.matches("^[A-Z]+(_[A-Z]+)*$", name)) { - return CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name); + if (!firstLetterCapital) { + return lowerCamelCase; } - // 检查是否小写带下划线 (LOWER_UNDERSCORE) - if (Pattern.matches("^[a-z]+(_[a-z]+)*$", name)) { - return CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name); - } - - // 检查是否大驼峰 (UpperCamelCase) - if (Character.isUpperCase(name.charAt(0)) && - !name.contains("_") && - name.chars().anyMatch(Character::isLowerCase)) { - return CaseFormat.UPPER_CAMEL.to(CaseFormat.UPPER_CAMEL, name); - } - - // 默认认为是小驼峰 (lowerCamelCase) - return CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, name); + // 将小驼峰转成大驼峰 + return CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, lowerCamelCase); } } diff --git a/common/generator-code/src/main/java/cn/bunny/utils/VmsUtil.java b/common/generator-code/src/main/java/cn/bunny/utils/VmsUtil.java index 66b788f..8b1105e 100644 --- a/common/generator-code/src/main/java/cn/bunny/utils/VmsUtil.java +++ b/common/generator-code/src/main/java/cn/bunny/utils/VmsUtil.java @@ -8,11 +8,11 @@ import java.util.Map; public class VmsUtil { private static final Map TYPE_MAPPINGS = Map.of( - "controller", "Controller", - "service", "Service", - "serviceImpl", "ServiceImpl", - "mapper", "Mapper", - "resourceMapper", "Mapper" + "controller" , "Controller" , + "service" , "Service" , + "serviceImpl" , "ServiceImpl" , + "mapper" , "Mapper" , + "resourceMapper" , "Mapper" ); /** @@ -22,19 +22,20 @@ public class VmsUtil { * @param className 类名 */ public static String handleVmFilename(String path, String className) { - String[] splitPaths = path.split("/"); + String[] splitPaths = path.split("/" ); int splitPathsSize = splitPaths.length - 1; // 大驼峰名称 String CamelCase = TypeConvertCore.convertToCamelCase(className, true); // 小驼峰名称 String camelCase = TypeConvertCore.convertToCamelCase(className); - + System.out.println("CamelCase:" + CamelCase); + System.out.println("camelCase:" + camelCase); // 当前文件名 String filename = splitPaths[splitPathsSize]; - filename = filename.replace(".vm", ""); + filename = filename.replace(".vm" , "" ); - String[] split = filename.split("\\."); + String[] split = filename.split("\\." ); // 文件名称 String name = split[0]; // 文件扩展名 @@ -46,15 +47,15 @@ public class VmsUtil { // 判断是否是 Java 或者 xml 文件 String typeMappingsFilename = TYPE_MAPPINGS.get(name); typeMappingsFilename = typeMappingsFilename == null ? "" : typeMappingsFilename; - if (filename.contains("java") || filename.contains("xml")) { + if (filename.contains("java" ) || filename.contains("xml" )) { filename = CamelCase + typeMappingsFilename + "." + extension; } - if (filename.contains("vue") && !filename.contains("index")) { + if (filename.contains("vue" ) && !filename.contains("index" )) { filename = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, camelCase) + "-" + name + "." + extension; } splitPaths[splitPathsSize] = filename; - return String.join("/", splitPaths); + return String.join("/" , splitPaths); } } diff --git a/common/generator-code/src/main/resources/application-dev.yml b/common/generator-code/src/main/resources/application-dev.yml index 7342bc0..a8bc19d 100644 --- a/common/generator-code/src/main/resources/application-dev.yml +++ b/common/generator-code/src/main/resources/application-dev.yml @@ -3,6 +3,6 @@ bunny: # host: 192.168.3.137 host: localhost port: 3306 - database: auth_admin + database: bunny_admin username: root password: "123456" diff --git a/common/generator-code/src/main/resources/static/static/js/404-CRsPiOwZ.js b/common/generator-code/src/main/resources/static/static/js/404-DYq3ki41.js similarity index 98% rename from common/generator-code/src/main/resources/static/static/js/404-CRsPiOwZ.js rename to common/generator-code/src/main/resources/static/static/js/404-DYq3ki41.js index af82d90..faf7fb0 100644 --- a/common/generator-code/src/main/resources/static/static/js/404-CRsPiOwZ.js +++ b/common/generator-code/src/main/resources/static/static/js/404-DYq3ki41.js @@ -1 +1 @@ -import{h as v,c as a,a as f,p as s,b as t,q as e,t as l,j as c}from"./vendor-BT0L8wkZ.js";import{_ as d}from"./index-BIRohJrt.js";const i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACKCAMAAABhAnODAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURUdwTPf6/v////f6/v////////////z9//////////////////7+//v///f6/v////f5/vz///////////////j6/vf7/v////////////v8//////j7/v7+//////////////////////////////////////v8/+nx/fv9//b6/vr7/v////f5/vj7//////j7/vj7//f5/vD2/f///////////////+jy/P////////j6//////f6/v////f7/vj6/vf6/vL3/f////////j7/vv8//////3///f6/vf6/vb6/v////r8//f7/fL3/P///////////+jw/PT4/v3+//////////////7+//b6/v///////+jx/P///+jy/f////f6/uz0/eny/PT9/+jx/PT4/uz0/f////f6/vb6/vv9//z9//////3+//r8//f6/vj7/+ny/P////f6/////////+jw/Pf6/v////f6/vj7/v////f6/fT4//j7//b7//////b6/evy/P///+vz/P////////T3/v///+jx/P3+/////+nx+/f6/v///////+jw/Pj6/v///+nx/P///+vz/P////////////j7/vj7//H2/P///+zz/Pb6/v////////////P3/v39/////+/1/v///+jx++jx/Pj6/unx/ff6/+fx/Pf6/+jx/Ony/Ojx/Pz+//H3/v////7+//b6/vj8//7+//b5/v////b6/uz0/ff6/fj6//v8//j5/fb7//////v9/vn8//v8//f5//f6/vP3/Ojx/ez0/u31/v////f5/f///////////+z0/Pz9/+rz/+nw++30/Or0/fj//+jx/f////////f7//v9/+fw++nw/f////b4/v///+jw/f////P4/vj//+fz+/r8/u/2/unw//////f5/fb6/vb7//////b6/f3+//////L3/vr9/+/1/fT3/ff7/v////n8/vf6/v///+fw+/b5/fP4/f////T4/lxP5j4AAAD6dFJOUwD+9P3lAfb9pvsC/BIO+gnmDM3h7/PtBMLqvPn0NU5AId3+gajrK8T0Fc2/29/S4sXC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",j={class:"page-container"},A={class:"bullshit"},n=d(v({__name:"404",setup(v){const d=l();return(v,l)=>(f(),a("div",j,[l[2]||(l[2]=s('
404404404404
',1)),t("div",A,[l[1]||(l[1]=s('
OOPS!
All rights reserved wallstreetcn
The webmaster said that you can not enter this page...
Please check that the URL you entered is correct, or click the button below to return to the homepage.
',4)),t("a",{class:"bullshit__return-home",href:"/",onClick:l[0]||(l[0]=e((v=>c(d).replace("/")),["prevent"]))}," Back to home ")])]))}}),[["__scopeId","data-v-128c8218"]]);export{n as default}; +import{h as v,c as a,a as f,p as s,b as t,q as e,t as l,j as c}from"./vendor-BT0L8wkZ.js";import{_ as d}from"./index-BZjZ3Az-.js";const i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACKCAMAAABhAnODAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURUdwTPf6/v////f6/v////////////z9//////////////////7+//v///f6/v////f5/vz///////////////j6/vf7/v////////////v8//////j7/v7+//////////////////////////////////////v8/+nx/fv9//b6/vr7/v////f5/vj7//////j7/vj7//f5/vD2/f///////////////+jy/P////////j6//////f6/v////f7/vj6/vf6/vL3/f////////j7/vv8//////3///f6/vf6/vb6/v////r8//f7/fL3/P///////////+jw/PT4/v3+//////////////7+//b6/v///////+jx/P///+jy/f////f6/uz0/eny/PT9/+jx/PT4/uz0/f////f6/vb6/vv9//z9//////3+//r8//f6/vj7/+ny/P////f6/////////+jw/Pf6/v////f6/vj7/v////f6/fT4//j7//b7//////b6/evy/P///+vz/P////////T3/v///+jx/P3+/////+nx+/f6/v///////+jw/Pj6/v///+nx/P///+vz/P////////////j7/vj7//H2/P///+zz/Pb6/v////////////P3/v39/////+/1/v///+jx++jx/Pj6/unx/ff6/+fx/Pf6/+jx/Ony/Ojx/Pz+//H3/v////7+//b6/vj8//7+//b5/v////b6/uz0/ff6/fj6//v8//j5/fb7//////v9/vn8//v8//f5//f6/vP3/Ojx/ez0/u31/v////f5/f///////////+z0/Pz9/+rz/+nw++30/Or0/fj//+jx/f////////f7//v9/+fw++nw/f////b4/v///+jw/f////P4/vj//+fz+/r8/u/2/unw//////f5/fb6/vb7//////b6/f3+//////L3/vr9/+/1/fT3/ff7/v////n8/vf6/v///+fw+/b5/fP4/f////T4/lxP5j4AAAD6dFJOUwD+9P3lAfb9pvsC/BIO+gnmDM3h7/PtBMLqvPn0NU5AId3+gajrK8T0Fc2/29/S4sXC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",j={class:"page-container"},A={class:"bullshit"},n=d(v({__name:"404",setup(v){const d=l();return(v,l)=>(f(),a("div",j,[l[2]||(l[2]=s('
404404404404
',1)),t("div",A,[l[1]||(l[1]=s('
OOPS!
All rights reserved wallstreetcn
The webmaster said that you can not enter this page...
Please check that the URL you entered is correct, or click the button below to return to the homepage.
',4)),t("a",{class:"bullshit__return-home",href:"/",onClick:l[0]||(l[0]=e((v=>c(d).replace("/")),["prevent"]))}," Back to home ")])]))}}),[["__scopeId","data-v-128c8218"]]);export{n as default}; diff --git a/common/generator-code/src/main/resources/static/static/js/index-BF4zgPDT.js b/common/generator-code/src/main/resources/static/static/js/index-BF4zgPDT.js deleted file mode 100644 index abe8825..0000000 --- a/common/generator-code/src/main/resources/static/static/js/index-BF4zgPDT.js +++ /dev/null @@ -1 +0,0 @@ -var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,s=(a,t,l)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[t]=l,o=(e,a,t)=>new Promise(((l,r)=>{var n=e=>{try{o(t.next(e))}catch(a){r(a)}},s=e=>{try{o(t.throw(e))}catch(a){r(a)}},o=e=>e.done?l(e.value):Promise.resolve(e.value).then(n,s);o((t=t.apply(e,a)).next())}));import{H as u,d as i,v as d,D as c,h as p,I as m,J as v,A as g,i as f,a as b,j as y,C as h,z as _,c as w,b as k,K as O,w as C,E as N,L as q,M as x,u as S,O as P,P as U,Q as j,R as L,S as W,U as R,V as T,F as M,W as A,X as D,Y as I,o as E,Z as V,_ as $,$ as F,a0 as z,a1 as K,a2 as B,a3 as Q,a4 as H,B as J,t as Z,a5 as X,a6 as Y}from"./vendor-BT0L8wkZ.js";import{s as G,u as ee}from"./table-R7-h5oL5.js";import{_ as ae}from"./index-BIRohJrt.js";const te=u("vmsStore",{state:()=>({generators:[],serverOptions:[],webOptions:[],formValue:{author:"Bunny",packageName:"cn.bunny.services",requestMapping:"/api",className:"",tableName:"",simpleDateFormat:"yyyy-MM-dd HH:mm:ss",tablePrefixes:"t_,sys_,qrtz_,log_",comment:"",path:[]},formOption:{generatorServer:[],generatorWeb:[]}}),getters:{},actions:{generator(e){return o(this,null,(function*(){const o=yield(e=>G({url:"/vms/generator",method:"post",data:e}))(e);this.generators=o.data.map((e=>{return o=((e,a)=>{for(var t in a||(a={}))r.call(a,t)&&s(e,t,a[t]);if(l)for(var t of l(a))n.call(a,t)&&s(e,t,a[t]);return e})({},e),u={path:e.path.replace(".vm","")},a(o,t(u));var o,u})),window.$message.success(`生成成功,共 ${this.generators.length} 数据`)}))},getVmsResourcePathList(){return o(this,null,(function*(){const e=yield G({url:"/vms/vmsResourcePathList",method:"get"});if(200!==e.code)return{};this.webOptions=e.data.web,this.serverOptions=e.data.server}))}}}),le=[{title:"序号",key:"no",titleAlign:"center",align:"center",render:(e,a)=>a+1},{title:"列名称",key:"columnName",titleAlign:"center",align:"center",render:e=>i(d,{type:"primary"},{default:()=>[e.columnName]})},{title:"字段名称",key:"lowercaseName",titleAlign:"center",align:"center",render:e=>i(d,null,{default:()=>[e.lowercaseName]})},{title:"数据库字段类型",key:"jdbcType",titleAlign:"center",align:"center",render:e=>i(d,null,{default:()=>[e.jdbcType]})},{title:"Java类型",key:"javaType",titleAlign:"center",align:"center",render:e=>i(d,{type:"warning"},{default:()=>[e.javaType]})},{title:"是否为主键",key:"isPrimaryKey",titleAlign:"center",align:"center",render:e=>e.isPrimaryKey?i(d,{type:"error"},{default:()=>[c("是")]}):i(d,{type:"success"},{default:()=>[c("否")]})},{title:"字段注释",key:"comment",titleAlign:"center",align:"center",render:e=>i(d,{type:"info"},{default:()=>[e.comment]})}],re=p({__name:"index",setup(e){const a=m(),t=ee(),l=v([]),r=v(!1),n=()=>o(this,null,(function*(){r.value=!0;const e=a.query.tableName;l.value=yield t.getTableColumnInfo(e),r.value=!1}));return g((()=>{n()})),(e,a)=>(b(),f(y(h),{bordered:!0,columns:y(le),data:l.value,loading:r.value},null,8,["columns","data","loading"]))}}),ne={class:"database-info"},se=ae(p({__name:"index",setup(e){const a=ee(),{databaseInfoMeta:t}=_(a);return g((()=>{a.getDatabaseInfoMeta()})),(e,a)=>(b(),w("div",ne,[k("p",null,[a[0]||(a[0]=c(" 数据库产品名称: ")),i(y(O),{type:"primary"},{default:C((()=>{var e;return[c(N(null==(e=y(t))?void 0:e.databaseProductName),1)]})),_:1})]),k("p",null,[a[1]||(a[1]=c(" 数据库产品版本: ")),i(y(O),{type:"primary"},{default:C((()=>{var e;return[c(N(null==(e=y(t))?void 0:e.databaseProductVersion),1)]})),_:1})]),k("p",null,[a[2]||(a[2]=c(" 驱动名称: ")),i(y(O),{type:"primary"},{default:C((()=>{var e;return[c(N(null==(e=y(t))?void 0:e.driverName),1)]})),_:1})]),k("p",null,[a[3]||(a[3]=c(" 数据库驱动版本: ")),i(y(O),{type:"primary"},{default:C((()=>{var e;return[c(N(null==(e=y(t))?void 0:e.driverVersion),1)]})),_:1})]),k("p",null,[a[4]||(a[4]=c(" 数据库用户: ")),i(y(O),{type:"primary"},{default:C((()=>{var e;return[c(N(null==(e=y(t))?void 0:e.username),1)]})),_:1})])]))}}),[["__scopeId","data-v-5045df9f"]]),oe=p({__name:"select-button-group",props:{data:{type:Array,required:!0},selected:{type:Array,default:()=>[]},idKey:{type:String,default:"name"}},emits:["update:selected"],setup(e,{emit:a}){const t=e,l=a,r=()=>{const e=t.data.map((e=>e[t.idKey]));l("update:selected",[...e])},n=()=>{const e=t.selected,a=t.data.map((e=>e[t.idKey])).filter((a=>!e.includes(a)));l("update:selected",a)},s=()=>{l("update:selected",[])};return(e,a)=>(b(),f(y(q),{size:"small"},{default:C((()=>[i(y(x),{round:"",type:"primary",onClick:r},{default:C((()=>a[0]||(a[0]=[c("全选")]))),_:1}),i(y(x),{type:"warning",onClick:n},{default:C((()=>a[1]||(a[1]=[c("反选")]))),_:1}),i(y(x),{round:"",type:"error",onClick:s},{default:C((()=>a[2]||(a[2]=[c("全不选")]))),_:1})])),_:1}))}});function ue(e,a){const t=new File([e],a,{type:"text/plain"}),l=URL.createObjectURL(t),r=document.createElement("a");r.href=l,r.download=a,document.body.appendChild(r),r.click(),requestIdleCallback((()=>{document.body.removeChild(r),URL.revokeObjectURL(r.href)}))}const ie=te(),{formValue:de,formOption:ce}=_(ie),pe=e=>{de.value.tableName=e.toString();let a=e;de.value.tablePrefixes.split(/[,,]/).forEach((e=>{a=a.replace(e,"")})),de.value.className=a},me=()=>{ce.value.generatorServer=ie.serverOptions.map((e=>e.name)),ce.value.generatorWeb=ie.webOptions.map((e=>e.name))},ve=()=>{const e=ie.serverOptions.map((e=>e.name)),a=ce.value.generatorServer;ce.value.generatorServer=e.filter((e=>!a.includes(e)));const t=ie.webOptions.map((e=>e.name)),l=ce.value.generatorWeb;ce.value.generatorWeb=t.filter((e=>!l.includes(e)))},ge=()=>{ce.value.generatorServer=[],ce.value.generatorWeb=[],de.value.path=[]},fe=()=>{const e=ce.value.generatorWeb,a=ce.value.generatorServer;de.value.path=[...a,...e],de.value.path.length<=0&&window.$message.error("选择要生成的模板")},be=te(),{formOption:ye}=_(be),he=()=>ye.value.generatorServer.length>0||ye.value.generatorWeb.length>0,_e={author:{required:!0,trigger:["blur","change","input"],message:"作者不能为空"},packageName:{required:!0,trigger:["blur","change","input"],message:"包名不能为空"},requestMapping:{required:!0,trigger:["blur","change","input"],message:"请求路径不能为空"},className:{required:!0,trigger:["blur","change","input"],message:"类名不能为空"},tableName:{required:!0,trigger:["blur","change","input"],message:"表名不能为空"},simpleDateFormat:{required:!0,trigger:["blur","change","input"],message:"日期格式不能为空"},generatorServer:[{required:!0,trigger:["blur","change","input"],message:"选择要生成的服务端",validator:he}],generatorWeb:[{required:!0,trigger:["blur","change","input"],message:"选择要生成的前端",validator:he}]},we={class:"flex flex-wrap flex-col w-full"},ke=p({__name:"generator-form",setup(e){const a=m(),t=te(),{formValue:l,formOption:r}=_(t),n=S(),s=v(),u=P((()=>!(r.value.generatorWeb.length>0||r.value.generatorServer.length>0))),d=v(),p=e=>{var a;e.preventDefault(),null==(a=s.value)||a.validate((e=>o(this,null,(function*(){e?e.forEach((e=>{e.forEach((e=>{n.error(`${e.message}->${e.field}`)}))})):(fe(),yield t.generator(l.value))}))))},h=()=>{t.generators=[]},O=()=>{t.generators.forEach((e=>{ue(e.code,e.path.split("/")[1])}))},q=()=>o(this,null,(function*(){fe();var e;(e=>{try{const a=e.headers["content-disposition"];let t="download.zip";if(a){const e=a.match(/filename="?(.+)"?/);e&&e[1]&&(t=e[1])}const l=window.URL.createObjectURL(new Blob([e.data])),r=document.createElement("a");r.href=l,r.setAttribute("download",t),document.body.appendChild(r),r.click(),r.remove(),window.URL.revokeObjectURL(l)}catch(a){}})(yield(e=l.value,G({url:"/vms/downloadByZip",method:"POST",data:e,responseType:"blob"})))})),E=()=>o(this,null,(function*(){const e={sql:d.value},{data:a}=yield(e=>G({url:"/sqlParser/tableInfo",method:"POST",params:e}))(e);l.value.comment=a.comment,l.value.tableName=a.tableName,pe(a.tableName)}));return g((()=>{const e=a.query.tableName;pe(e),t.getVmsResourcePathList()})),(e,a)=>(b(),f(y(U),{ref_key:"formRef",ref:s,"label-width":80,model:y(l),rules:y(_e)},{default:C((()=>[i(y(j),{cols:"24","item-responsive":"",responsive:"screen"},{default:C((()=>[i(y(L),{label:"如果有sql会生成sql中的信息,点击【解析SQL】会替换【表名称】和【注释名称】",path:"sql",span:"24"},{default:C((()=>[k("div",we,[i(y(W),{value:d.value,"onUpdate:value":a[0]||(a[0]=e=>d.value=e),autosize:{minRows:3},class:"w-full",placeholder:"SQL语句",type:"textarea"},null,8,["value"]),i(y(x),{class:"w-full mt-2",type:"primary",onClick:E},{default:C((()=>a[13]||(a[13]=[c("解析SQL")]))),_:1})])])),_:1})])),_:1}),i(y(j),{cols:24,"x-gap":5,"item-responsive":"",responsive:"screen"},{default:C((()=>[i(y(L),{label:"作者名称",path:"author",span:"12 m:8 l:6"},{default:C((()=>[i(y(W),{value:y(l).author,"onUpdate:value":a[1]||(a[1]=e=>y(l).author=e),placeholder:"作者名称"},null,8,["value"])])),_:1}),i(y(L),{label:"requestMapping名称",path:"requestMapping",span:"12 m:8 l:6"},{default:C((()=>[i(y(W),{value:y(l).requestMapping,"onUpdate:value":a[2]||(a[2]=e=>y(l).requestMapping=e),placeholder:"requestMapping名称"},null,8,["value"])])),_:1}),i(y(L),{label:"表名称",path:"tableName",span:"24 m:8 l:6"},{default:C((()=>[i(y(W),{value:y(l).tableName,"onUpdate:value":a[3]||(a[3]=e=>y(l).tableName=e),placeholder:"表名称"},null,8,["value"])])),_:1}),i(y(L),{label:"类名称",path:"className",span:"24 m:8 l:6"},{default:C((()=>[i(y(W),{value:y(l).className,"onUpdate:value":a[4]||(a[4]=e=>y(l).className=e),placeholder:"类名称"},null,8,["value"])])),_:1}),i(y(L),{label:"包名称",path:"packageName",span:"24 m:8 l:6"},{default:C((()=>[i(y(W),{value:y(l).packageName,"onUpdate:value":a[5]||(a[5]=e=>y(l).packageName=e),placeholder:"包名称"},null,8,["value"])])),_:1}),i(y(L),{label:"时间格式",path:"simpleDateFormat",span:"24 m:8 l:6"},{default:C((()=>[i(y(W),{value:y(l).simpleDateFormat,"onUpdate:value":a[6]||(a[6]=e=>y(l).simpleDateFormat=e),placeholder:"时间格式"},null,8,["value"])])),_:1}),i(y(L),{label:"去除开头前缀",path:"tablePrefixes",span:"12 m:8 l:6"},{default:C((()=>[i(y(W),{value:y(l).tablePrefixes,"onUpdate:value":a[7]||(a[7]=e=>y(l).tablePrefixes=e),placeholder:"去除开头前缀"},null,8,["value"])])),_:1}),i(y(L),{label:"注释名称",path:"comment",span:"12 m:8 l:6"},{default:C((()=>[i(y(W),{value:y(l).comment,"onUpdate:value":a[8]||(a[8]=e=>y(l).comment=e),placeholder:"修改注释名称"},null,8,["value"])])),_:1})])),_:1}),i(y(j),{cols:24,"x-gap":5,"item-responsive":"",responsive:"screen"},{default:C((()=>[i(y(L),{label:"生成后端",path:"generatorServer",span:"24 m:24 l:12"},{default:C((()=>[i(y(R),{value:y(r).generatorServer,"onUpdate:value":a[10]||(a[10]=e=>y(r).generatorServer=e)},{default:C((()=>[i(y(T),null,{default:C((()=>[(b(!0),w(M,null,A(y(t).serverOptions,((e,a)=>(b(),f(y(I),{key:a,value:e.name},{default:C((()=>[c(N(e.label),1)])),_:2},1032,["value"])))),128)),i(oe,{selected:y(r).generatorServer,"onUpdate:selected":a[9]||(a[9]=e=>y(r).generatorServer=e),data:y(t).serverOptions,"id-key":"name"},null,8,["selected","data"])])),_:1})])),_:1},8,["value"])])),_:1}),i(y(L),{label:"生成前端",path:"generatorWeb",span:"24 m:24 l:12"},{default:C((()=>[i(y(R),{value:y(r).generatorWeb,"onUpdate:value":a[12]||(a[12]=e=>y(r).generatorWeb=e)},{default:C((()=>[i(y(T),null,{default:C((()=>[(b(!0),w(M,null,A(y(t).webOptions,((e,a)=>(b(),f(y(I),{key:a,value:e.name,"onUpdate:value":a=>e.name=a},{default:C((()=>[c(N(e.label),1)])),_:2},1032,["value","onUpdate:value"])))),128)),i(oe,{selected:y(r).generatorWeb,"onUpdate:selected":a[11]||(a[11]=e=>y(r).generatorWeb=e),data:y(t).webOptions,"id-key":"name"},null,8,["selected","data"])])),_:1})])),_:1},8,["value"])])),_:1})])),_:1}),i(y(j),{cols:"24","item-responsive":"",responsive:"screen"},{default:C((()=>[i(y(D),{class:"mt-2",span:"24 m:12 l:8"},{default:C((()=>[i(y(x),{"attr-type":"button",type:"success",onClick:y(me)},{default:C((()=>a[14]||(a[14]=[c("全部选择")]))),_:1},8,["onClick"]),i(y(x),{"attr-type":"button",type:"warning",onClick:y(ve)},{default:C((()=>a[15]||(a[15]=[c("全部反选")]))),_:1},8,["onClick"]),i(y(x),{"attr-type":"button",type:"error",onClick:y(ge)},{default:C((()=>a[16]||(a[16]=[c("全选取消")]))),_:1},8,["onClick"])])),_:1}),i(y(D),{class:"mt-2",span:"24 m:12 l:8"},{default:C((()=>[i(y(x),{"attr-type":"button",type:"success",onClick:p},{default:C((()=>a[17]||(a[17]=[c("开始生成")]))),_:1}),i(y(x),{"attr-type":"button",type:"error",onClick:h},{default:C((()=>a[18]||(a[18]=[c("清空已生成")]))),_:1}),i(y(x),{disabled:!(y(t).generators.length>0),"attr-type":"button",type:"primary",onClick:O},{default:C((()=>[c(" 下载全部 "+N(y(t).generators.length),1)])),_:1},8,["disabled"])])),_:1}),i(y(D),{class:"mt-2",span:"24 m:12 l:8"},{default:C((()=>[i(y(x),{disabled:y(u),"attr-type":"button",class:"w-full",type:"success",onClick:q},{default:C((()=>a[19]||(a[19]=[c(" 下载zip ")]))),_:1},8,["disabled"])])),_:1})])),_:1})])),_:1},8,["model","rules"]))}}),Oe=e=>{const a=document.createElement("textarea");a.value=e,a.style.position="fixed",document.body.appendChild(a),a.select();try{document.execCommand("copy")?window.$message.success("复制成功!"):window.$message.success("复制失败!")}catch(t){window.$message.success("复制失败!请手动复制")}finally{document.body.removeChild(a)}},Ce=p({__name:"generator-preview",setup(e){const a=E.component,t=V(),l=S(),r=te();return(e,n)=>$((b(),f(y(z),{class:"mt-4 p-2 border"},{default:C((()=>[(b(!0),w(M,null,A(y(r).generators,((e,r)=>(b(),f(y(K),{key:r,name:e.path,title:e.path,class:"pos-relative"},{"header-extra":C((()=>[i(y(x),{quaternary:"",type:"info",onClick:a=>((e,a)=>{const r=a.split("/"),n=v(r.at(-1));t.info({title:"修改文件名",positiveText:"下载",negativeText:"取消",content:()=>i(W,{placeholder:"Tiny Input",clearable:!0,value:n.value,onInput:e=>n.value=e},null),onPositiveClick:()=>{ue(e,n.value)},onNegativeClick:()=>{l.info("取消下载")}})})(e.code,e.path)},{default:C((()=>n[0]||(n[0]=[c("下载")]))),_:2},1032,["onClick"])])),default:C((()=>[i(y(x),{class:"pos-absolute right-0",color:"#ff69b4",quaternary:"",onClick:a=>y(Oe)(e.code)},{icon:C((()=>[i(y(B),null,{default:C((()=>[i(y(Q))])),_:1})])),default:C((()=>[n[1]||(n[1]=c(" 复制 "))])),_:2},1032,["onClick"]),i(y(a),{autodetect:!0,code:e.code,language:"JavaScript"},null,8,["code"])])),_:2},1032,["name","title"])))),128))])),_:1},512)),[[F,y(r).generators.length>0]])}}),Ne=p({__name:"index",setup:e=>(e,a)=>(b(),w(M,null,[i(ke),i(Ce)],64))}),qe=p({__name:"index",setup(e){const a=Z(),t=m(),l=ee(),r=te(),{formValue:n}=_(r),s=H({tableName:"",comment:"",tableCat:"",tableType:""}),u=()=>o(this,null,(function*(){const e=t.query.tableName,a=yield l.getTableMetaData(e);Object.assign(s,a),n.value.comment=s.comment}));return g((()=>{u()})),(e,l)=>(b(),f(y(J),null,{header:C((()=>[i(y(J),{title:"数据库信息"},{default:C((()=>[k("span",{class:"color-blue cursor-pointer",onClick:l[0]||(l[0]=e=>y(a).push("/"))},"回到首页"),k("ul",null,[k("li",null,"表名:"+N(y(t).query.tableName),1),k("li",null,"表注释:"+N(s.comment),1),k("li",null,"数据库名:"+N(s.tableCat),1),k("li",null,"类型:"+N(s.tableType),1)])])),_:1})])),default:C((()=>[i(y(Y),{animated:"",type:"line"},{default:C((()=>[i(y(X),{name:"generator-code",tab:"生成"},{default:C((()=>[i(Ne)])),_:1}),i(y(X),{name:"connect-info",tab:"连接信息"},{default:C((()=>[i(se)])),_:1}),i(y(X),{name:"columns-info",tab:"列字段"},{default:C((()=>[i(re)])),_:1})])),_:1})])),_:1}))}});export{qe as default}; diff --git a/common/generator-code/src/main/resources/static/static/js/index-BIRohJrt.js b/common/generator-code/src/main/resources/static/static/js/index-BZjZ3Az-.js similarity index 93% rename from common/generator-code/src/main/resources/static/static/js/index-BIRohJrt.js rename to common/generator-code/src/main/resources/static/static/js/index-BZjZ3Az-.js index 5f38fe7..5e62f6b 100644 --- a/common/generator-code/src/main/resources/static/static/js/index-BIRohJrt.js +++ b/common/generator-code/src/main/resources/static/static/js/index-BZjZ3Az-.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["static/js/404-CRsPiOwZ.js","static/js/vendor-BT0L8wkZ.js","static/css/vendor-lSrybVH6.css","static/css/404-XvabTZcV.css","static/js/index-DwLjqHOd.js","static/js/index-Dn1v0MTU.js","static/js/table-R7-h5oL5.js","static/js/index-BF4zgPDT.js","static/css/index-DFq_RgoD.css"])))=>i.map(i=>d[i]); -import{o as e,c as t,a as n,b as r,d as o,r as s,e as a,f as i,g as c,s as l,h as d,u,i as m,j as p,N as f,w as h,k as _,l as y,T as v,m as E,n as g}from"./vendor-BT0L8wkZ.js";!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))t(e);new MutationObserver((e=>{for(const n of e)if("childList"===n.type)for(const e of n.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)})).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();const w={},P=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const e=document.querySelector("meta[property=csp-nonce]"),n=(null==e?void 0:e.nonce)||(null==e?void 0:e.getAttribute("nonce"));r=Promise.allSettled(t.map((e=>{if((e=function(e){return"/"+e}(e))in w)return;w[e]=!0;const t=e.endsWith(".css"),r=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${r}`))return;const o=document.createElement("link");return o.rel=t?"stylesheet":"modulepreload",t||(o.as="script"),o.crossOrigin="",o.href=e,n&&o.setAttribute("nonce",n),document.head.appendChild(o),t?new Promise(((t,n)=>{o.addEventListener("load",t),o.addEventListener("error",(()=>n(new Error(`Unable to preload CSS for ${e}`))))})):void 0})))}function o(e){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then((t=>{for(const e of t||[])"rejected"===e.status&&o(e.reason);return e().catch(o)}))},b=[{path:"/error",component:()=>P((()=>import("./404-CRsPiOwZ.js")),__vite__mapDeps([0,1,2,3])),meta:{hidden:!0}}],L=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},O={class:"container m-auto"},x={class:"container mx-auto"};const A=L({},[["render",function(e,a){const i=s("router-view");return n(),t("div",O,[a[0]||(a[0]=r("h1",{class:"mt-4 text-center font-bold font-size-[22px] c-primary"},"代码生成器",-1)),r("main",x,[o(i)]),a[1]||(a[1]=r("footer",{class:"my-4 text-center"},[r("p",null,"© 2025 Bunny.保留所有权利.")],-1))])}]]),j=[...[{path:"/redirect",component:A,meta:{hidden:!0},children:[{path:"/redirect/:path(.*)",component:()=>P((()=>import("./index-DwLjqHOd.js")),__vite__mapDeps([4,1,2]))}]}],...[{path:"/",name:"/",component:A,redirect:"/home",meta:{transition:"fade"},children:[{path:"/home",name:"home",component:()=>P((()=>import("./index-Dn1v0MTU.js")),__vite__mapDeps([5,1,2,6]))},{path:"/generator-code",name:"generatorCode",component:()=>P((()=>import("./index-BF4zgPDT.js")),__vite__mapDeps([7,1,2,6,8]))}]}],...b],k=a({history:i(),routes:j,scrollBehavior:()=>({left:0,top:0,behavior:"smooth"})}),S=c();const T={install(t){(e=>{e.use(k)})(t),function(e){S.use(l),e.use(S)}(t),(t=>{t.use(e)})(t)}};const I=L(d({setup(){window.$message=u()}}),[["render",function(e,t,n,r,o,s){return" "}]]);g(d({__name:"App",setup:e=>(e,t)=>{const r=s("router-view");return n(),m(p(f),null,{default:h((()=>[o(p(_),null,{default:h((()=>[o(I),o(p(y),null,{default:h((()=>[o(r,null,{default:h((({Component:e,route:t})=>[o(v,{name:t.meta.transition||"fade-transform",mode:"out-in"},{default:h((()=>[(n(),m(E(e),{key:t.path}))])),_:2},1032,["name"])])),_:1})])),_:1})])),_:1})])),_:1})}})).use(T).mount("#app");export{L as _}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["static/js/404-DYq3ki41.js","static/js/vendor-BT0L8wkZ.js","static/css/vendor-lSrybVH6.css","static/css/404-XvabTZcV.css","static/js/index-DwLjqHOd.js","static/js/index-Dn1v0MTU.js","static/js/table-R7-h5oL5.js","static/js/index-DNjCtrgM.js","static/css/index-DFq_RgoD.css"])))=>i.map(i=>d[i]); +import{o as e,c as t,a as n,b as r,d as o,r as s,e as a,f as i,g as c,s as l,h as d,u,i as m,j as p,N as f,w as h,k as _,l as y,T as v,m as E,n as g}from"./vendor-BT0L8wkZ.js";!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))t(e);new MutationObserver((e=>{for(const n of e)if("childList"===n.type)for(const e of n.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)})).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();const w={},P=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const e=document.querySelector("meta[property=csp-nonce]"),n=(null==e?void 0:e.nonce)||(null==e?void 0:e.getAttribute("nonce"));r=Promise.allSettled(t.map((e=>{if((e=function(e){return"/"+e}(e))in w)return;w[e]=!0;const t=e.endsWith(".css"),r=t?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${e}"]${r}`))return;const o=document.createElement("link");return o.rel=t?"stylesheet":"modulepreload",t||(o.as="script"),o.crossOrigin="",o.href=e,n&&o.setAttribute("nonce",n),document.head.appendChild(o),t?new Promise(((t,n)=>{o.addEventListener("load",t),o.addEventListener("error",(()=>n(new Error(`Unable to preload CSS for ${e}`))))})):void 0})))}function o(e){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then((t=>{for(const e of t||[])"rejected"===e.status&&o(e.reason);return e().catch(o)}))},b=[{path:"/error",component:()=>P((()=>import("./404-DYq3ki41.js")),__vite__mapDeps([0,1,2,3])),meta:{hidden:!0}}],L=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},O={class:"container m-auto"},x={class:"container mx-auto"};const A=L({},[["render",function(e,a){const i=s("router-view");return n(),t("div",O,[a[0]||(a[0]=r("h1",{class:"mt-4 text-center font-bold font-size-[22px] c-primary"},"代码生成器",-1)),r("main",x,[o(i)]),a[1]||(a[1]=r("footer",{class:"my-4 text-center"},[r("p",null,"© 2025 Bunny.保留所有权利.")],-1))])}]]),j=[...[{path:"/redirect",component:A,meta:{hidden:!0},children:[{path:"/redirect/:path(.*)",component:()=>P((()=>import("./index-DwLjqHOd.js")),__vite__mapDeps([4,1,2]))}]}],...[{path:"/",name:"/",component:A,redirect:"/home",meta:{transition:"fade"},children:[{path:"/home",name:"home",component:()=>P((()=>import("./index-Dn1v0MTU.js")),__vite__mapDeps([5,1,2,6]))},{path:"/generator-code",name:"generatorCode",component:()=>P((()=>import("./index-DNjCtrgM.js")),__vite__mapDeps([7,1,2,6,8]))}]}],...b],k=a({history:i(),routes:j,scrollBehavior:()=>({left:0,top:0,behavior:"smooth"})}),S=c();const T={install(t){(e=>{e.use(k)})(t),function(e){S.use(l),e.use(S)}(t),(t=>{t.use(e)})(t)}};const I=L(d({setup(){window.$message=u()}}),[["render",function(e,t,n,r,o,s){return" "}]]);g(d({__name:"App",setup:e=>(e,t)=>{const r=s("router-view");return n(),m(p(f),null,{default:h((()=>[o(p(_),null,{default:h((()=>[o(I),o(p(y),null,{default:h((()=>[o(r,null,{default:h((({Component:e,route:t})=>[o(v,{name:t.meta.transition||"fade-transform",mode:"out-in"},{default:h((()=>[(n(),m(E(e),{key:t.path}))])),_:2},1032,["name"])])),_:1})])),_:1})])),_:1})])),_:1})}})).use(T).mount("#app");export{L as _}; diff --git a/common/generator-code/src/main/resources/static/static/js/index-DNjCtrgM.js b/common/generator-code/src/main/resources/static/static/js/index-DNjCtrgM.js new file mode 100644 index 0000000..9045de9 --- /dev/null +++ b/common/generator-code/src/main/resources/static/static/js/index-DNjCtrgM.js @@ -0,0 +1 @@ +var e=Object.defineProperty,a=Object.defineProperties,t=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,s=(a,t,l)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[t]=l,o=(e,a,t)=>new Promise(((l,r)=>{var n=e=>{try{o(t.next(e))}catch(a){r(a)}},s=e=>{try{o(t.throw(e))}catch(a){r(a)}},o=e=>e.done?l(e.value):Promise.resolve(e.value).then(n,s);o((t=t.apply(e,a)).next())}));import{H as u,d as i,v as d,D as c,h as p,I as m,J as v,A as g,i as f,a as b,j as y,C as h,z as _,c as w,b as k,K as C,w as O,E as N,L as q,M as S,u as x,O as P,P as U,Q as j,R as L,S as W,U as R,V as T,W as M,F as A,X as D,Y as I,o as E,Z as V,_ as $,$ as F,a0 as z,a1 as K,a2 as Q,a3 as B,a4 as H,B as J,t as Z,a5 as X,a6 as Y}from"./vendor-BT0L8wkZ.js";import{s as G,u as ee}from"./table-R7-h5oL5.js";import{_ as ae}from"./index-BZjZ3Az-.js";const te=u("vmsStore",{state:()=>({generators:[],serverOptions:[],webOptions:[],formValue:{author:"Bunny",packageName:"cn.bunny.services",requestMapping:"/api",className:"",tableName:"",simpleDateFormat:"yyyy-MM-dd HH:mm:ss",tablePrefixes:"t_,sys_,qrtz_,log_",comment:"",path:[]},formOption:{generatorServer:[],generatorWeb:[]}}),getters:{},actions:{generator(e){return o(this,null,(function*(){const o=yield(e=>G({url:"/vms/generator",method:"post",data:e}))(e);this.generators=o.data.map((e=>{return o=((e,a)=>{for(var t in a||(a={}))r.call(a,t)&&s(e,t,a[t]);if(l)for(var t of l(a))n.call(a,t)&&s(e,t,a[t]);return e})({},e),u={path:e.path.replace(".vm","")},a(o,t(u));var o,u})),window.$message.success(`生成成功,共 ${this.generators.length} 数据`)}))},getVmsResourcePathList(){return o(this,null,(function*(){const e=yield G({url:"/vms/vmsResourcePathList",method:"get"});if(200!==e.code)return{};this.webOptions=e.data.web,this.serverOptions=e.data.server}))}}}),le=[{title:"序号",key:"no",titleAlign:"center",align:"center",render:(e,a)=>a+1},{title:"列名称",key:"columnName",titleAlign:"center",align:"center",render:e=>i(d,{type:"primary"},{default:()=>[e.columnName]})},{title:"字段名称",key:"lowercaseName",titleAlign:"center",align:"center",render:e=>i(d,null,{default:()=>[e.lowercaseName]})},{title:"数据库字段类型",key:"jdbcType",titleAlign:"center",align:"center",render:e=>i(d,null,{default:()=>[e.jdbcType]})},{title:"Java类型",key:"javaType",titleAlign:"center",align:"center",render:e=>i(d,{type:"warning"},{default:()=>[e.javaType]})},{title:"是否为主键",key:"isPrimaryKey",titleAlign:"center",align:"center",render:e=>e.isPrimaryKey?i(d,{type:"error"},{default:()=>[c("是")]}):i(d,{type:"success"},{default:()=>[c("否")]})},{title:"字段注释",key:"comment",titleAlign:"center",align:"center",render:e=>i(d,{type:"info"},{default:()=>[e.comment]})}],re=p({__name:"index",setup(e){const a=m(),t=ee(),l=v([]),r=v(!1),n=()=>o(this,null,(function*(){r.value=!0;const e=a.query.tableName;l.value=yield t.getTableColumnInfo(e),r.value=!1}));return g((()=>{n()})),(e,a)=>(b(),f(y(h),{bordered:!0,columns:y(le),data:l.value,loading:r.value},null,8,["columns","data","loading"]))}}),ne={class:"database-info"},se=ae(p({__name:"index",setup(e){const a=ee(),{databaseInfoMeta:t}=_(a);return g((()=>{a.getDatabaseInfoMeta()})),(e,a)=>(b(),w("div",ne,[k("p",null,[a[0]||(a[0]=c(" 数据库产品名称: ")),i(y(C),{type:"primary"},{default:O((()=>{var e;return[c(N(null==(e=y(t))?void 0:e.databaseProductName),1)]})),_:1})]),k("p",null,[a[1]||(a[1]=c(" 数据库产品版本: ")),i(y(C),{type:"primary"},{default:O((()=>{var e;return[c(N(null==(e=y(t))?void 0:e.databaseProductVersion),1)]})),_:1})]),k("p",null,[a[2]||(a[2]=c(" 驱动名称: ")),i(y(C),{type:"primary"},{default:O((()=>{var e;return[c(N(null==(e=y(t))?void 0:e.driverName),1)]})),_:1})]),k("p",null,[a[3]||(a[3]=c(" 数据库驱动版本: ")),i(y(C),{type:"primary"},{default:O((()=>{var e;return[c(N(null==(e=y(t))?void 0:e.driverVersion),1)]})),_:1})]),k("p",null,[a[4]||(a[4]=c(" 数据库用户: ")),i(y(C),{type:"primary"},{default:O((()=>{var e;return[c(N(null==(e=y(t))?void 0:e.username),1)]})),_:1})])]))}}),[["__scopeId","data-v-5045df9f"]]),oe=p({__name:"select-button-group",props:{data:{type:Array,required:!0},selected:{type:Array,default:()=>[]},idKey:{type:String,default:"name"}},emits:["update:selected"],setup(e,{emit:a}){const t=e,l=a,r=()=>{const e=t.data.map((e=>e[t.idKey]));l("update:selected",[...e])},n=()=>{const e=t.selected,a=t.data.map((e=>e[t.idKey])).filter((a=>!e.includes(a)));l("update:selected",a)},s=()=>{l("update:selected",[])};return(e,a)=>(b(),f(y(q),{size:"small"},{default:O((()=>[i(y(S),{round:"",type:"primary",onClick:r},{default:O((()=>a[0]||(a[0]=[c("全选")]))),_:1}),i(y(S),{type:"warning",onClick:n},{default:O((()=>a[1]||(a[1]=[c("反选")]))),_:1}),i(y(S),{round:"",type:"error",onClick:s},{default:O((()=>a[2]||(a[2]=[c("全不选")]))),_:1})])),_:1}))}});function ue(e,a){const t=new File([e],a,{type:"text/plain"}),l=URL.createObjectURL(t),r=document.createElement("a");r.href=l,r.download=a,document.body.appendChild(r),r.click(),requestIdleCallback((()=>{document.body.removeChild(r),URL.revokeObjectURL(r.href)}))}const ie=te(),{formValue:de,formOption:ce}=_(ie),pe=e=>{de.value.tableName=e.toString();let a=e;de.value.tablePrefixes.split(/[,,]/).forEach((e=>{a=a.replace(e,"")})),de.value.className=a},me=()=>{ce.value.generatorServer=ie.serverOptions.map((e=>e.name)),ce.value.generatorWeb=ie.webOptions.map((e=>e.name))},ve=()=>{const e=ie.serverOptions.map((e=>e.name)),a=ce.value.generatorServer;ce.value.generatorServer=e.filter((e=>!a.includes(e)));const t=ie.webOptions.map((e=>e.name)),l=ce.value.generatorWeb;ce.value.generatorWeb=t.filter((e=>!l.includes(e)))},ge=()=>{ce.value.generatorServer=[],ce.value.generatorWeb=[],de.value.path=[]},fe=()=>{const e=ce.value.generatorWeb,a=ce.value.generatorServer;de.value.path=[...a,...e],de.value.path.length<=0&&window.$message.error("选择要生成的模板")},be=te(),{formOption:ye}=_(be),he=()=>ye.value.generatorServer.length>0||ye.value.generatorWeb.length>0,_e={author:{required:!0,trigger:["blur","change","input"],message:"作者不能为空"},packageName:{required:!0,trigger:["blur","change","input"],message:"包名不能为空"},requestMapping:{required:!0,trigger:["blur","change","input"],message:"请求路径不能为空"},className:{required:!0,trigger:["blur","change","input"],message:"类名不能为空"},tableName:{required:!0,trigger:["blur","change","input"],message:"表名不能为空"},simpleDateFormat:{required:!0,trigger:["blur","change","input"],message:"日期格式不能为空"},generatorServer:[{required:!0,trigger:["blur","change","input"],message:"选择要生成的服务端",validator:he}],generatorWeb:[{required:!0,trigger:["blur","change","input"],message:"选择要生成的前端",validator:he}]},we={class:"flex flex-wrap flex-col w-full"},ke=p({__name:"generator-form",setup(e){const a=m(),t=te(),{formValue:l,formOption:r}=_(t),n=x(),s=v(),u=P((()=>!(r.value.generatorWeb.length>0||r.value.generatorServer.length>0))),d=v(),p=e=>{var a;e.preventDefault(),null==(a=s.value)||a.validate((e=>o(this,null,(function*(){e?e.forEach((e=>{e.forEach((e=>{n.error(`${e.message}->${e.field}`)}))})):(fe(),yield t.generator(l.value))}))))},h=()=>{t.generators=[]},C=()=>{t.generators.forEach((e=>{ue(e.code,e.path.split("/")[1])}))},E=()=>o(this,null,(function*(){fe();var e;(e=>{try{const a=e.headers["content-disposition"];let t="download.zip";if(a){const e=a.match(/filename="?(.+)"?/);e&&e[1]&&(t=e[1])}const l=window.URL.createObjectURL(new Blob([e.data])),r=document.createElement("a");r.href=l,r.setAttribute("download",t),document.body.appendChild(r),r.click(),r.remove(),window.URL.revokeObjectURL(l)}catch(a){}})(yield(e=l.value,G({url:"/vms/downloadByZip",method:"POST",data:e,responseType:"blob"})))})),V=()=>o(this,null,(function*(){if(!d.value)return void n.warning("SQL 为空");const e={sql:d.value},{data:a}=yield(e=>G({url:"/sqlParser/tableInfo",method:"POST",params:e}))(e);l.value.comment=a.comment,l.value.tableName=a.tableName,pe(a.tableName)}));return g((()=>{const e=a.query.tableName;pe(e),t.getVmsResourcePathList()})),(e,a)=>(b(),f(y(U),{ref_key:"formRef",ref:s,"label-width":80,model:y(l),rules:y(_e)},{default:O((()=>[i(y(j),{cols:"24","item-responsive":"",responsive:"screen"},{default:O((()=>[i(y(L),{label:"如果有sql会生成sql中的信息,点击【解析SQL】会替换【表名称】和【注释名称】",path:"sql",span:"24"},{default:O((()=>[k("div",we,[i(y(W),{value:d.value,"onUpdate:value":a[0]||(a[0]=e=>d.value=e),autosize:{minRows:3},class:"w-full",placeholder:"SQL语句",type:"textarea"},null,8,["value"]),i(y(q),{class:"mt-2"},{default:O((()=>[i(y(S),{type:"primary",onClick:V},{default:O((()=>a[14]||(a[14]=[c("解析SQL")]))),_:1}),i(y(S),{type:"error",onClick:a[1]||(a[1]=e=>d.value=null)},{default:O((()=>a[15]||(a[15]=[c("清空输入框")]))),_:1})])),_:1})])])),_:1})])),_:1}),i(y(j),{cols:24,"x-gap":5,"item-responsive":"",responsive:"screen"},{default:O((()=>[i(y(L),{label:"作者名称",path:"author",span:"12 m:8 l:6"},{default:O((()=>[i(y(W),{value:y(l).author,"onUpdate:value":a[2]||(a[2]=e=>y(l).author=e),placeholder:"作者名称"},null,8,["value"])])),_:1}),i(y(L),{label:"requestMapping名称",path:"requestMapping",span:"12 m:8 l:6"},{default:O((()=>[i(y(W),{value:y(l).requestMapping,"onUpdate:value":a[3]||(a[3]=e=>y(l).requestMapping=e),placeholder:"requestMapping名称"},null,8,["value"])])),_:1}),i(y(L),{label:"表名称",path:"tableName",span:"24 m:8 l:6"},{default:O((()=>[i(y(W),{value:y(l).tableName,"onUpdate:value":a[4]||(a[4]=e=>y(l).tableName=e),placeholder:"表名称"},null,8,["value"])])),_:1}),i(y(L),{label:"类名称",path:"className",span:"24 m:8 l:6"},{default:O((()=>[i(y(W),{value:y(l).className,"onUpdate:value":a[5]||(a[5]=e=>y(l).className=e),placeholder:"类名称"},null,8,["value"])])),_:1}),i(y(L),{label:"包名称",path:"packageName",span:"24 m:8 l:6"},{default:O((()=>[i(y(W),{value:y(l).packageName,"onUpdate:value":a[6]||(a[6]=e=>y(l).packageName=e),placeholder:"包名称"},null,8,["value"])])),_:1}),i(y(L),{label:"时间格式",path:"simpleDateFormat",span:"24 m:8 l:6"},{default:O((()=>[i(y(W),{value:y(l).simpleDateFormat,"onUpdate:value":a[7]||(a[7]=e=>y(l).simpleDateFormat=e),placeholder:"时间格式"},null,8,["value"])])),_:1}),i(y(L),{label:"去除开头前缀",path:"tablePrefixes",span:"12 m:8 l:6"},{default:O((()=>[i(y(W),{value:y(l).tablePrefixes,"onUpdate:value":a[8]||(a[8]=e=>y(l).tablePrefixes=e),placeholder:"去除开头前缀"},null,8,["value"])])),_:1}),i(y(L),{label:"注释名称",path:"comment",span:"12 m:8 l:6"},{default:O((()=>[i(y(W),{value:y(l).comment,"onUpdate:value":a[9]||(a[9]=e=>y(l).comment=e),placeholder:"修改注释名称"},null,8,["value"])])),_:1})])),_:1}),i(y(j),{cols:24,"x-gap":5,"item-responsive":"",responsive:"screen"},{default:O((()=>[i(y(L),{label:"生成后端",path:"generatorServer",span:"24 m:24 l:12"},{default:O((()=>[i(y(R),{value:y(r).generatorServer,"onUpdate:value":a[11]||(a[11]=e=>y(r).generatorServer=e)},{default:O((()=>[i(y(T),null,{default:O((()=>[(b(!0),w(A,null,M(y(t).serverOptions,((e,a)=>(b(),f(y(I),{key:a,value:e.name},{default:O((()=>[c(N(e.label),1)])),_:2},1032,["value"])))),128)),i(oe,{selected:y(r).generatorServer,"onUpdate:selected":a[10]||(a[10]=e=>y(r).generatorServer=e),data:y(t).serverOptions,"id-key":"name"},null,8,["selected","data"])])),_:1})])),_:1},8,["value"])])),_:1}),i(y(L),{label:"生成前端",path:"generatorWeb",span:"24 m:24 l:12"},{default:O((()=>[i(y(R),{value:y(r).generatorWeb,"onUpdate:value":a[13]||(a[13]=e=>y(r).generatorWeb=e)},{default:O((()=>[i(y(T),null,{default:O((()=>[(b(!0),w(A,null,M(y(t).webOptions,((e,a)=>(b(),f(y(I),{key:a,value:e.name,"onUpdate:value":a=>e.name=a},{default:O((()=>[c(N(e.label),1)])),_:2},1032,["value","onUpdate:value"])))),128)),i(oe,{selected:y(r).generatorWeb,"onUpdate:selected":a[12]||(a[12]=e=>y(r).generatorWeb=e),data:y(t).webOptions,"id-key":"name"},null,8,["selected","data"])])),_:1})])),_:1},8,["value"])])),_:1})])),_:1}),i(y(j),{cols:"24","item-responsive":"",responsive:"screen"},{default:O((()=>[i(y(D),{class:"mt-2",span:"24 m:12 l:8"},{default:O((()=>[i(y(S),{"attr-type":"button",type:"success",onClick:y(me)},{default:O((()=>a[16]||(a[16]=[c("全部选择")]))),_:1},8,["onClick"]),i(y(S),{"attr-type":"button",type:"warning",onClick:y(ve)},{default:O((()=>a[17]||(a[17]=[c("全部反选")]))),_:1},8,["onClick"]),i(y(S),{"attr-type":"button",type:"error",onClick:y(ge)},{default:O((()=>a[18]||(a[18]=[c("全选取消")]))),_:1},8,["onClick"])])),_:1}),i(y(D),{class:"mt-2",span:"24 m:12 l:8"},{default:O((()=>[i(y(S),{"attr-type":"button",type:"success",onClick:p},{default:O((()=>a[19]||(a[19]=[c("开始生成")]))),_:1}),i(y(S),{"attr-type":"button",type:"error",onClick:h},{default:O((()=>a[20]||(a[20]=[c("清空已生成")]))),_:1}),i(y(S),{disabled:!(y(t).generators.length>0),"attr-type":"button",type:"primary",onClick:C},{default:O((()=>[c(" 下载全部 "+N(y(t).generators.length),1)])),_:1},8,["disabled"])])),_:1}),i(y(D),{class:"mt-2",span:"24 m:12 l:8"},{default:O((()=>[i(y(S),{disabled:y(u),"attr-type":"button",class:"w-full",type:"success",onClick:E},{default:O((()=>a[21]||(a[21]=[c(" 下载zip ")]))),_:1},8,["disabled"])])),_:1})])),_:1})])),_:1},8,["model","rules"]))}}),Ce=e=>{const a=document.createElement("textarea");a.value=e,a.style.position="fixed",document.body.appendChild(a),a.select();try{document.execCommand("copy")?window.$message.success("复制成功!"):window.$message.success("复制失败!")}catch(t){window.$message.success("复制失败!请手动复制")}finally{document.body.removeChild(a)}},Oe=p({__name:"generator-preview",setup(e){const a=E.component,t=V(),l=x(),r=te();return(e,n)=>$((b(),f(y(z),{class:"mt-4 p-2 border"},{default:O((()=>[(b(!0),w(A,null,M(y(r).generators,((e,r)=>(b(),f(y(K),{key:r,name:e.path,title:e.path,class:"pos-relative"},{"header-extra":O((()=>[i(y(S),{quaternary:"",type:"info",onClick:a=>((e,a)=>{const r=a.split("/"),n=v(r.at(-1));t.info({title:"修改文件名",positiveText:"下载",negativeText:"取消",content:()=>i(W,{placeholder:"Tiny Input",clearable:!0,value:n.value,onInput:e=>n.value=e},null),onPositiveClick:()=>{ue(e,n.value)},onNegativeClick:()=>{l.info("取消下载")}})})(e.code,e.path)},{default:O((()=>n[0]||(n[0]=[c("下载")]))),_:2},1032,["onClick"])])),default:O((()=>[i(y(S),{class:"pos-absolute right-0",color:"#ff69b4",quaternary:"",onClick:a=>y(Ce)(e.code)},{icon:O((()=>[i(y(Q),null,{default:O((()=>[i(y(B))])),_:1})])),default:O((()=>[n[1]||(n[1]=c(" 复制 "))])),_:2},1032,["onClick"]),i(y(a),{autodetect:!0,code:e.code,language:"JavaScript"},null,8,["code"])])),_:2},1032,["name","title"])))),128))])),_:1},512)),[[F,y(r).generators.length>0]])}}),Ne=p({__name:"index",setup(e){const a=Z(),t=m(),l=ee(),r=te(),{formValue:n}=_(r),s=H({tableName:"",comment:"",tableCat:"",tableType:""}),u=()=>o(this,null,(function*(){const e=t.query.tableName,a=yield l.getTableMetaData(e);Object.assign(s,a),n.value.comment=s.comment}));return g((()=>{u()})),(e,l)=>(b(),f(y(J),null,{header:O((()=>[i(y(J),{title:"数据库信息"},{default:O((()=>[k("span",{class:"color-blue cursor-pointer",onClick:l[0]||(l[0]=e=>y(a).push("/"))},"回到首页"),k("ul",null,[k("li",null,"表名:"+N(y(t).query.tableName),1),k("li",null,"表注释:"+N(s.comment),1),k("li",null,"数据库名:"+N(s.tableCat),1),k("li",null,"类型:"+N(s.tableType),1)])])),_:1})])),default:O((()=>[i(y(Y),{animated:"",type:"line"},{default:O((()=>[i(y(X),{name:"generator-code",tab:"生成"},{default:O((()=>[i(ke),i(Oe)])),_:1}),i(y(X),{name:"connect-info",tab:"连接信息"},{default:O((()=>[i(se)])),_:1}),i(y(X),{name:"columns-info",tab:"列字段"},{default:O((()=>[i(re)])),_:1})])),_:1})])),_:1}))}});export{Ne as default}; diff --git a/common/generator-code/src/main/resources/templates/index.html b/common/generator-code/src/main/resources/templates/index.html index 8681640..002c108 100644 --- a/common/generator-code/src/main/resources/templates/index.html +++ b/common/generator-code/src/main/resources/templates/index.html @@ -5,7 +5,7 @@ 代码生成器 - + diff --git a/common/generator-code/src/test/java/cn/bunny/StringFormatTest.java b/common/generator-code/src/test/java/cn/bunny/StringFormatTest.java index 6e30547..f9a2680 100644 --- a/common/generator-code/src/test/java/cn/bunny/StringFormatTest.java +++ b/common/generator-code/src/test/java/cn/bunny/StringFormatTest.java @@ -9,28 +9,35 @@ public class StringFormatTest { @Test void test1() { - System.out.println(CaseFormatUtils.toCamelCase("user_login")); - System.out.println(CaseFormatUtils.toCamelCase("userLogin")); - System.out.println(CaseFormatUtils.toCamelCase("UserLogin")); + System.out.println(CaseFormatUtils.toCamelCase("user_login" )); + System.out.println(CaseFormatUtils.toCamelCase("userLogin" )); + System.out.println(CaseFormatUtils.toCamelCase("UserLogin" )); - System.out.println("--------------------------------"); + System.out.println("--------------------------------" ); - System.out.println(StringUtils.lowerCase("user_login")); - System.out.println(StringUtils.lowerCase("userLogin")); - System.out.println(StringUtils.lowerCase("UserLogin")); + System.out.println(StringUtils.lowerCase("user_login" )); + System.out.println(StringUtils.lowerCase("userLogin" )); + System.out.println(StringUtils.lowerCase("UserLogin" )); - System.out.println("--------------------------------"); + System.out.println("--------------------------------" ); - System.out.println(StringUtils.upperCase("user_login")); - System.out.println(StringUtils.upperCase("userLogin")); - System.out.println(StringUtils.upperCase("UserLogin")); + System.out.println(StringUtils.upperCase("user_login" )); + System.out.println(StringUtils.upperCase("userLogin" )); + System.out.println(StringUtils.upperCase("UserLogin" )); } @Test void test2() { - System.out.println(TypeConvertCore.convertToCamelCase("user_login_A")); - System.out.println(TypeConvertCore.convertToCamelCase("User_Login_A")); - System.out.println(TypeConvertCore.convertToCamelCase("userLoginA")); - System.out.println(TypeConvertCore.convertToCamelCase("UserLoginA")); + System.out.println(TypeConvertCore.convertToCamelCase("user_login_A" )); + System.out.println(TypeConvertCore.convertToCamelCase("User_Login_A" )); + System.out.println(TypeConvertCore.convertToCamelCase("userLoginA" )); + System.out.println(TypeConvertCore.convertToCamelCase("UserLoginA" )); + + System.out.println("--------------------------------" ); + + System.out.println(TypeConvertCore.convertToCamelCase("i18n_type_A" , true)); + System.out.println(TypeConvertCore.convertToCamelCase("User_Login_A" , true)); + System.out.println(TypeConvertCore.convertToCamelCase("userLoginA" , true)); + System.out.println(TypeConvertCore.convertToCamelCase("UserLoginA" , true)); } }