Skip to content

Commit 45a6d02

Browse files
committed
perf👌: 升级代码生成工具
1 parent c9dec5c commit 45a6d02

File tree

12 files changed

+228
-175
lines changed

12 files changed

+228
-175
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
"awe-dnd": "^0.3.4",
5151
"axios": "0.21.1",
5252
"clipboard": "2.0.6",
53-
"codemirror": "5.56.0",
53+
"codemirror": "5.62.0",
5454
"core-js": "^3.6.5",
5555
"driver.js": "0.9.8",
5656
"dropzone": "5.7.2",
@@ -75,6 +75,7 @@
7575
"uuid": "^8.3.0",
7676
"viser-vue": "^2.4.8",
7777
"vue": "2.6.11",
78+
"vue-codemirror": "^4.0.6",
7879
"vue-count-to": "1.0.13",
7980
"vue-cropper": "^0.5.5",
8081
"vue-particles": "^1.0.9",

src/components/JsonEditor/index.vue

Lines changed: 0 additions & 72 deletions
This file was deleted.

src/main.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ import './styles/element-variables.scss'
1010
import '@/styles/index.scss' // global css
1111
import '@/styles/admin.scss'
1212

13+
import VueCodemirror from 'vue-codemirror'
14+
import 'codemirror/lib/codemirror.css'
15+
Vue.use(VueCodemirror)
16+
1317
import App from './App'
1418
import store from './store'
1519
import router from './router'

src/styles/admin.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,3 +207,7 @@
207207
.el-tabs__item {
208208
font-size: 13px;
209209
}
210+
211+
.delete-popconfirm{
212+
margin-left: 10px;
213+
}

src/styles/admin.scss

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,4 +289,7 @@
289289
.el-drawer {
290290
overflow-y: scroll;
291291

292+
}
293+
.delete-popconfirm{
294+
margin-left: 10px;
292295
}

src/styles/variables.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
menuLightHover: #f0f1f5;
88
subMenuBg: #000c17;
99
subMenuHover: #001528;
10-
sideBarWidth: 256px;
10+
sideBarWidth: 210px;
1111
sidebarTitle: #ffffff;
1212
sidebarLightTitle: #001529;
1313
}

src/styles/variables.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ $sidebarLightTitle: #001529;
2424
$subMenuBg:#000c17;
2525
$subMenuHover:#001528;
2626

27-
$sideBarWidth: 256px;
27+
$sideBarWidth: 210px;
2828

2929
// the :export directive is the magic sauce for webpack
3030
// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass

src/views/dev-tools/gen/basicInfoForm.vue

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,35 @@
22
<el-form ref="basicInfoForm" :model="info" :rules="rules" label-width="150px">
33
<el-row>
44
<el-col :span="12">
5-
<el-form-item label="表名称" prop="tableName">
5+
<el-form-item prop="tableName">
6+
<span slot="label">
7+
数据表名称
8+
<el-tooltip content="数据库表名称,针对gorm对应的table()使用,⚠️这里必须是蛇形结构" placement="top">
9+
<i class="el-icon-question" />
10+
</el-tooltip>
11+
</span>
612
<el-input v-model="info.tableName" placeholder="请输入表名称" />
713
</el-form-item>
814
</el-col>
915
<el-col :span="12">
10-
<el-form-item label="菜单名称" prop="tableComment">
16+
<el-form-item prop="tableComment">
17+
<span slot="label">
18+
菜单名称
19+
<el-tooltip content="同步的数据库表名称,生成配置数据时,用作菜单名称" placement="top">
20+
<i class="el-icon-question" />
21+
</el-tooltip>
22+
</span>
1123
<el-input v-model="info.tableComment" placeholder="请输入菜单名称" />
1224
</el-form-item>
1325
</el-col>
1426
<el-col :span="12">
15-
<el-form-item label="模型名称" prop="className">
27+
<el-form-item prop="className">
28+
<span slot="label">
29+
结构体模型名称
30+
<el-tooltip content="结构体模型名称,代码中的struct名称定义使用" placement="top">
31+
<i class="el-icon-question" />
32+
</el-tooltip>
33+
</span>
1634
<el-input v-model="info.className" placeholder="请输入" />
1735
</el-form-item>
1836
</el-col>
@@ -21,7 +39,7 @@
2139
<el-input v-model="info.functionAuthor" placeholder="请输入作者名称" />
2240
</el-form-item>
2341
</el-col>
24-
<el-col :span="12">
42+
<!-- <el-col :span="12">
2543
<el-form-item prop="isLogicalDelete">
2644
<span slot="label">
2745
是否逻辑删除
@@ -40,7 +58,7 @@
4058
<el-form-item v-if="info.isLogicalDelete == '1'" label="逻辑删除字段" prop="logicalDeleteColumn">
4159
<el-input v-model="info.logicalDeleteColumn" placeholder="请输入" />
4260
</el-form-item>
43-
</el-col>
61+
</el-col> -->
4462
<el-col :span="24">
4563
<el-form-item label="备注" prop="remark">
4664
<el-input v-model="info.remark" type="textarea" :rows="3" />
@@ -63,14 +81,14 @@ export default {
6381
rules: {
6482
tableName: [
6583
{ required: true, message: '请输入表名称', trigger: 'blur' },
66-
{ pattern: /^[a-z\._]*$/g, trigger: 'blur', message: '只允许小写字母,举例 sys_demo 格式' }
84+
{ pattern: /^[a-z\._]*$/g, trigger: 'blur', message: '只允许小写字母,例如 sys_demo 格式' }
6785
],
6886
tableComment: [
6987
{ required: true, message: '请输入菜单名称', trigger: 'blur' }
7088
],
7189
className: [
7290
{ required: true, message: '请输入模型名称', trigger: 'blur' },
73-
{ pattern: /^[A-Z][A-z0-9]*$/g, trigger: 'blur', message: '必须以大写字母开头,举例 SysDemo 格式' }
91+
{ pattern: /^[A-Z][A-z0-9]*$/g, trigger: 'blur', message: '必须以大写字母开头,例如 SysDemo 格式' }
7492
],
7593
functionAuthor: [
7694
{ required: true, message: '请输入作者', trigger: 'blur' },

src/views/dev-tools/gen/editTable.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
<basic-info-form ref="basicInfo" :info="info" />
66
</el-tab-pane>
77
<el-tab-pane label="字段信息" name="cloum">
8+
<el-alert
9+
title="⚠️表字段中的id、create_by、update_by、created_at、updated_at、deleted_at的字段在此列表中已经隐藏"
10+
type="warning"
11+
show-icon
12+
/>
813
<el-table :data="columns" :max-height="tableHeight" style="width: 100%">
914
<el-table-column fixed label="序号" type="index" width="50" />
1015
<el-table-column

src/views/dev-tools/gen/genInfoForm.vue

Lines changed: 37 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<el-col :span="12">
1616
<el-form-item prop="packageName">
1717
<span slot="label">
18-
指定应用名
18+
应用名
1919
<el-tooltip content="应用名,例如:在app文件夹下将该功能发到那个应用中,默认:admin" placement="top">
2020
<i class="el-icon-question" />
2121
</el-tooltip>
@@ -24,19 +24,7 @@
2424
</el-form-item>
2525
</el-col>
2626

27-
<el-col :span="12">
28-
<el-form-item prop="moduleName">
29-
<span slot="label">
30-
服务端文件名
31-
<el-tooltip content="服务端项目文件名,例如 sys_user.go" placement="top">
32-
<i class="el-icon-question" />
33-
</el-tooltip>
34-
</span>
35-
<el-input v-model="info.moduleName" />
36-
</el-form-item>
37-
</el-col>
38-
39-
<el-col :span="12">
27+
<!-- <el-col :span="12">
4028
<el-form-item prop="moduleFrontName">
4129
<span slot="label">
4230
前端文件名
@@ -46,12 +34,12 @@
4634
</span>
4735
<el-input v-model="info.moduleFrontName" />
4836
</el-form-item>
49-
</el-col>
37+
</el-col> -->
5038

5139
<el-col :span="12">
5240
<el-form-item prop="businessName">
5341
<span slot="label">
54-
生成业务名
42+
业务名
5543
<el-tooltip content="可理解为功能英文名,例如 user" placement="top">
5644
<i class="el-icon-question" />
5745
</el-tooltip>
@@ -63,15 +51,35 @@
6351
<el-col :span="12">
6452
<el-form-item prop="functionName">
6553
<span slot="label">
66-
生成功能名
67-
<el-tooltip content="用作类描述,例如 用户" placement="top">
54+
功能描述
55+
<el-tooltip content="同步的数据库表备注,用作类描述,例如用户" placement="top">
6856
<i class="el-icon-question" />
6957
</el-tooltip>
7058
</span>
7159
<el-input v-model="info.functionName" />
7260
</el-form-item>
7361
</el-col>
7462
<el-col :span="12">
63+
<el-form-item prop="moduleName">
64+
<span slot="label">
65+
接口路径
66+
<el-tooltip content="接口路径,例如:api/v1/{sys-user}" placement="top">
67+
<i class="el-icon-question" />
68+
</el-tooltip>
69+
</span>
70+
<el-input v-model="info.moduleName">
71+
<template slot="prepend">api/{version}/</template>
72+
<template slot="append">...</template>
73+
</el-input>
74+
</el-form-item>
75+
<el-alert
76+
title="接口地址示例"
77+
description="[get]api/{version}/{接口路径} \r\n [post]"
78+
type="success"
79+
show-icon
80+
/>
81+
</el-col>
82+
<!-- <el-col :span="12">
7583
<el-form-item prop="isDataScope">
7684
<span slot="label">
7785
是否认证
@@ -84,8 +92,8 @@
8492
<el-option label="false" value="2" />
8593
</el-select>
8694
</el-form-item>
87-
</el-col>
88-
<el-col :span="12">
95+
</el-col> -->
96+
<!-- <el-col :span="12">
8997
<el-form-item prop="isDataScope">
9098
<span slot="label">
9199
数据权限
@@ -98,8 +106,8 @@
98106
<el-option label="false" value="2" />
99107
</el-select>
100108
</el-form-item>
101-
</el-col>
102-
<el-col :span="12">
109+
</el-col> -->
110+
<!-- <el-col :span="12">
103111
<el-form-item prop="isActions">
104112
<span slot="label">
105113
是否actions
@@ -108,11 +116,10 @@
108116
</el-tooltip>
109117
</span>
110118
<el-select v-model="info.isActions" disabled>
111-
<!-- <el-option label="true" value="1" /> -->
112119
<el-option label="false" value="2" />
113120
</el-select>
114121
</el-form-item>
115-
</el-col>
122+
</el-col> -->
116123
</el-row>
117124

118125
<el-row v-show="info.tplCategory == 'tree'">
@@ -190,13 +197,16 @@ export default {
190197
{ required: true, message: '请选择生成模板', trigger: 'blur' }
191198
],
192199
packageName: [
193-
{ required: true, message: '请输入生成包路径', trigger: 'blur' }
200+
{ required: true, message: '请输入生成包路径', trigger: 'blur' },
201+
{ pattern: /^[a-z]*$/g, trigger: 'blur', message: '只允许小写字母,例如 system 格式' }
194202
],
195203
moduleName: [
196-
{ required: true, message: '请输入生成模块名', trigger: 'blur' }
204+
{ required: true, message: '请输入生成模块名', trigger: 'blur' },
205+
{ pattern: /^[a-z\-]*[a-z]$/g, trigger: 'blur', message: '只允许小写字母,例如 sys-demo 格式' }
197206
],
198207
businessName: [
199-
{ required: true, message: '请输入生成业务名', trigger: 'blur' }
208+
{ required: true, message: '请输入生成业务名', trigger: 'blur' },
209+
{ pattern: /^[a-z][A-Za-z]+$/, trigger: 'blur', message: '校验规则: 只允许输入字母 a-z 或大写 A-Z ,并且小写字母开头' }
200210
],
201211
functionName: [
202212
{ required: true, message: '请输入生成功能名', trigger: 'blur' }

0 commit comments

Comments
 (0)