feat(config): 扩展数据类型映射与数据库字段备注提取功能
- 在 ColumnDataType 中新增对 PostgreSQL 和 Oracle 数据类型的支持 - 更新 Db2JSON 方法,优化对达梦数据库表和列信息的查询逻辑 - 增强字段备注解析,支持从备注中提取提示信息并清理标签 - 更新文档,详细说明字段备注格式及前端提示的展示效果
This commit is contained in:
+10
-3
@@ -148,12 +148,15 @@ func main() {
|
||||
支持从数据库字段备注中提取信息:
|
||||
|
||||
```sql
|
||||
-- 字段备注格式: 标签名:选项1-名称1,选项2-名称2 {提示信息}
|
||||
-- 字段备注格式: 标签名(提示信息):选项1-名称1,选项2-名称2
|
||||
-- 括号支持三种写法:()、()、{}
|
||||
-- 例如:
|
||||
status TINYINT COMMENT '状态:0-禁用,1-启用 {用户账号状态}'
|
||||
status TINYINT COMMENT '状态(用户账号状态):0-禁用,1-启用'
|
||||
parent_id INT COMMENT '父级ID(顶级为NULL)'
|
||||
phone VARCHAR(20) COMMENT '手机号(请输入11位手机号)'
|
||||
```
|
||||
|
||||
生成的配置:
|
||||
生成的配置(以第一行为例):
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -168,6 +171,10 @@ status TINYINT COMMENT '状态:0-禁用,1-启用 {用户账号状态}'
|
||||
}
|
||||
```
|
||||
|
||||
`ps` 字段在前端的展示效果:
|
||||
- 编辑/新增页面:输入框右侧灰色小字提示
|
||||
- 表格/详情页面:鼠标悬停字段名时气泡提示
|
||||
|
||||
---
|
||||
|
||||
## 自定义规则
|
||||
|
||||
@@ -229,15 +229,17 @@ SQLite 不支持表备注,代码生成器会使用表名作为默认显示名
|
||||
字段注释支持以下格式组合:
|
||||
|
||||
```
|
||||
显示名称:选项值 附加备注{前端提示}
|
||||
显示名称(前端提示):选项值 附加备注
|
||||
显示名称(前端提示):选项值 附加备注
|
||||
显示名称{前端提示}:选项值 附加备注
|
||||
```
|
||||
|
||||
| 部分 | 分隔符 | 用途 |
|
||||
|------|--------|------|
|
||||
| 显示名称 | 无 | 前端表单/列表的字段标签 |
|
||||
| 前端提示 | `()`、`()` 或 `{}` | 存储到 `ps` 字段,前端用于字段说明提示(编辑页输入框右侧、表格/详情鼠标悬停气泡) |
|
||||
| 选项值 | `:` 冒号 | select 类型的下拉选项(格式:`值-名称,值-名称`) |
|
||||
| 附加备注 | 空格 | 仅在数据库中查看,不传递给前端 |
|
||||
| 前端提示 | `{}` | 存储到 `ps` 字段,用于前端显示提示文字 |
|
||||
|
||||
### 选择类型字段
|
||||
|
||||
@@ -268,28 +270,38 @@ SQLite 不支持表备注,代码生成器会使用表名作为默认显示名
|
||||
`amount` decimal(10,2) COMMENT '金额 单位为元,精确到分'
|
||||
```
|
||||
|
||||
### 前端提示({}内)
|
||||
### 前端提示(括号内)
|
||||
|
||||
`{}` 中的内容存储到 `ps` 字段,前端可用于显示输入提示:
|
||||
`()`、`()` 或 `{}` 中的内容存储到 `ps` 字段,前端展示为字段说明提示。推荐使用 `()` 或 `()`,`{}` 为兼容旧格式保留。
|
||||
|
||||
```sql
|
||||
`phone` varchar(20) COMMENT '手机号{请输入11位手机号}'
|
||||
`parent_id` int(11) COMMENT '父级ID(顶级为NULL)'
|
||||
`status` int(2) COMMENT '状态(当前审核状态):0-待审,1-通过,2-驳回'
|
||||
`phone` varchar(20) COMMENT '手机号(请输入11位手机号)'
|
||||
`email` varchar(100) COMMENT '邮箱{格式:xxx@xxx.com}'
|
||||
`content` text COMMENT '内容{支持HTML格式}'
|
||||
```
|
||||
|
||||
前端展示效果:
|
||||
- **编辑/新增页面**:输入框右侧显示灰色小字提示
|
||||
- **表格列表/详情页面**:鼠标悬停字段名时显示气泡提示
|
||||
|
||||
### 组合使用
|
||||
|
||||
```sql
|
||||
-- 完整格式示例
|
||||
`status` int(2) DEFAULT '0' COMMENT '状态:0-待审核,1-已通过,2-已拒绝 业务状态流转字段{选择当前审核状态}'
|
||||
-- 推荐写法:使用圆括号
|
||||
`status` int(2) DEFAULT '0' COMMENT '状态(选择当前审核状态):0-待审核,1-已通过,2-已拒绝'
|
||||
`parent_id` int(11) DEFAULT NULL COMMENT '父级ID(顶级为NULL)'
|
||||
|
||||
-- 兼容写法:使用花括号
|
||||
`status` int(2) DEFAULT '0' COMMENT '状态{选择当前审核状态}:0-待审核,1-已通过,2-已拒绝'
|
||||
```
|
||||
|
||||
解析结果:
|
||||
解析结果(以第一行为例):
|
||||
- `label` = "状态"
|
||||
- `options` = [{name:"待审核", value:"0"}, {name:"已通过", value:"1"}, {name:"已拒绝", value:"2"}]
|
||||
- `ps` = "选择当前审核状态"
|
||||
- 空格后的"业务状态流转字段"不会传递给前端
|
||||
- `options` = [{name:"待审核", value:"0"}, {name:"已通过", value:"1"}, {name:"已拒绝", value:"2"}]
|
||||
|
||||
三种括号 `()`、`()`、`{}` 功能相同,优先匹配顺序为:`()` > `()` > `{}`,同一注释中只取第一个匹配到的括号对。
|
||||
|
||||
### SQLite 字段备注
|
||||
|
||||
|
||||
Reference in New Issue
Block a user