feat: 新增代码生成功能
This commit is contained in:
@@ -150,3 +150,208 @@ class MenuConstant:
|
||||
LAYOUT = 'Layout'
|
||||
PARENT_VIEW = 'ParentView'
|
||||
INNER_LINK = 'InnerLink'
|
||||
|
||||
|
||||
class GenConstant:
|
||||
"""
|
||||
代码生成常量
|
||||
"""
|
||||
|
||||
"""单表(增删改查)"""
|
||||
TPL_CRUD = 'crud'
|
||||
|
||||
"""树表(增删改查)"""
|
||||
TPL_TREE = 'tree'
|
||||
|
||||
"""主子表(增删改查)"""
|
||||
TPL_SUB = 'sub'
|
||||
|
||||
"""树编码字段"""
|
||||
TREE_CODE = 'treeCode'
|
||||
|
||||
"""树父编码字段"""
|
||||
TREE_PARENT_CODE = 'treeParentCode'
|
||||
|
||||
"""树名称字段"""
|
||||
TREE_NAME = 'treeName'
|
||||
|
||||
"""上级菜单ID字段"""
|
||||
PARENT_MENU_ID = 'parentMenuId'
|
||||
|
||||
"""上级菜单名称字段"""
|
||||
PARENT_MENU_NAME = 'parentMenuName'
|
||||
|
||||
"""数据库字符串类型"""
|
||||
COLUMNTYPE_STR = ['char', 'varchar', 'nvarchar', 'varchar2']
|
||||
|
||||
"""数据库文本类型"""
|
||||
COLUMNTYPE_TEXT = ['tinytext', 'text', 'mediumtext', 'longtext']
|
||||
|
||||
"""数据库时间类型"""
|
||||
COLUMNTYPE_TIME = ['datetime', 'time', 'date', 'timestamp']
|
||||
|
||||
"""数据库数字类型"""
|
||||
COLUMNTYPE_NUMBER = [
|
||||
'tinyint',
|
||||
'smallint',
|
||||
'mediumint',
|
||||
'int',
|
||||
'number',
|
||||
'integer',
|
||||
'bit',
|
||||
'bigint',
|
||||
'float',
|
||||
'double',
|
||||
'decimal',
|
||||
]
|
||||
|
||||
"""页面不需要编辑字段"""
|
||||
COLUMNNAME_NOT_EDIT = ['id', 'create_by', 'create_time', 'del_flag']
|
||||
|
||||
"""页面不需要显示的列表字段"""
|
||||
COLUMNNAME_NOT_LIST = ['id', 'create_by', 'create_time', 'del_flag', 'update_by', 'update_time']
|
||||
|
||||
"""页面不需要查询字段"""
|
||||
COLUMNNAME_NOT_QUERY = ['id', 'create_by', 'create_time', 'del_flag', 'update_by', 'update_time', 'remark']
|
||||
|
||||
"""Entity基类字段"""
|
||||
BASE_ENTITY = ['createBy', 'createTime', 'updateBy', 'updateTime', 'remark']
|
||||
|
||||
"""Tree基类字段"""
|
||||
TREE_ENTITY = ['parentName', 'parentId', 'orderNum', 'ancestors', 'children']
|
||||
|
||||
"""文本框"""
|
||||
HTML_INPUT = 'input'
|
||||
|
||||
"""文本域"""
|
||||
HTML_TEXTAREA = 'textarea'
|
||||
|
||||
"""下拉框"""
|
||||
HTML_SELECT = 'select'
|
||||
|
||||
"""单选框"""
|
||||
HTML_RADIO = 'radio'
|
||||
|
||||
"""复选框"""
|
||||
HTML_CHECKBOX = 'checkbox'
|
||||
|
||||
"""日期控件"""
|
||||
HTML_DATETIME = 'datetime'
|
||||
|
||||
"""图片上传控件"""
|
||||
HTML_IMAGE_UPLOAD = 'imageUpload'
|
||||
|
||||
"""文件上传控件"""
|
||||
HTML_FILE_UPLOAD = 'fileUpload'
|
||||
|
||||
"""富文本控件"""
|
||||
HTML_EDITOR = 'editor'
|
||||
|
||||
"""高精度计算类型"""
|
||||
TYPE_DECIMAL = 'Decimal'
|
||||
|
||||
"""时间类型"""
|
||||
TYPE_DATE = ['date', 'time', 'datetime']
|
||||
|
||||
"""模糊查询"""
|
||||
QUERY_LIKE = 'LIKE'
|
||||
|
||||
"""相等查询"""
|
||||
QUERY_EQ = 'EQ'
|
||||
|
||||
"""需要"""
|
||||
REQUIRE = '1'
|
||||
|
||||
MYSQL_TO_SQLALCHEMY_TYPE_MAPPING = {
|
||||
# 数值类型
|
||||
'TINYINT': 'SmallInteger',
|
||||
'SMALLINT': 'SmallInteger',
|
||||
'MEDIUMINT': 'Integer',
|
||||
'INT': 'Integer',
|
||||
'INTEGER': 'Integer',
|
||||
'BIGINT': 'BigInteger',
|
||||
'FLOAT': 'Float',
|
||||
'DOUBLE': 'Float',
|
||||
'DECIMAL': 'DECIMAL',
|
||||
'BIT': 'Integer',
|
||||
# 日期和时间类型
|
||||
'DATE': 'Date',
|
||||
'TIME': 'Time',
|
||||
'DATETIME': 'DateTime',
|
||||
'TIMESTAMP': 'TIMESTAMP',
|
||||
'YEAR': 'Integer',
|
||||
# 字符串类型
|
||||
'CHAR': 'CHAR',
|
||||
'VARCHAR': 'String',
|
||||
'TINYTEXT': 'Text',
|
||||
'TEXT': 'Text',
|
||||
'MEDIUMTEXT': 'Text',
|
||||
'LONGTEXT': 'Text',
|
||||
'BINARY': 'BINARY',
|
||||
'VARBINARY': 'VARBINARY',
|
||||
'TINYBLOB': 'LargeBinary',
|
||||
'BLOB': 'LargeBinary',
|
||||
'MEDIUMBLOB': 'LargeBinary',
|
||||
'LONGBLOB': 'LargeBinary',
|
||||
# 枚举和集合类型
|
||||
'ENUM': 'Enum',
|
||||
'SET': 'String',
|
||||
# JSON 类型
|
||||
'JSON': 'JSON',
|
||||
# 空间数据类型(需要扩展支持,如 GeoAlchemy2)
|
||||
'GEOMETRY': 'geoalchemy2.Geometry', # 需要安装 geoalchemy2
|
||||
'POINT': 'geoalchemy2.Geometry',
|
||||
'LINESTRING': 'geoalchemy2.Geometry',
|
||||
'POLYGON': 'geoalchemy2.Geometry',
|
||||
'MULTIPOINT': 'geoalchemy2.Geometry',
|
||||
'MULTILINESTRING': 'geoalchemy2.Geometry',
|
||||
'MULTIPOLYGON': 'geoalchemy2.Geometry',
|
||||
'GEOMETRYCOLLECTION': 'geoalchemy2.Geometry',
|
||||
}
|
||||
|
||||
MYSQL_TO_PYTHON_TYPE_MAPPING = {
|
||||
# 数值类型
|
||||
'TINYINT': 'int',
|
||||
'SMALLINT': 'int',
|
||||
'MEDIUMINT': 'int',
|
||||
'INT': 'int',
|
||||
'INTEGER': 'int',
|
||||
'BIGINT': 'int',
|
||||
'FLOAT': 'float',
|
||||
'DOUBLE': 'float',
|
||||
'DECIMAL': 'Decimal',
|
||||
'BIT': 'int',
|
||||
# 日期和时间类型
|
||||
'DATE': 'date',
|
||||
'TIME': 'time',
|
||||
'DATETIME': 'datetime',
|
||||
'TIMESTAMP': 'datetime',
|
||||
'YEAR': 'int',
|
||||
# 字符串类型
|
||||
'CHAR': 'str',
|
||||
'VARCHAR': 'str',
|
||||
'TINYTEXT': 'str',
|
||||
'TEXT': 'str',
|
||||
'MEDIUMTEXT': 'str',
|
||||
'LONGTEXT': 'str',
|
||||
'BINARY': 'bytes',
|
||||
'VARBINARY': 'bytes',
|
||||
'TINYBLOB': 'bytes',
|
||||
'BLOB': 'bytes',
|
||||
'MEDIUMBLOB': 'bytes',
|
||||
'LONGBLOB': 'bytes',
|
||||
# 枚举和集合类型
|
||||
'ENUM': 'str',
|
||||
'SET': 'str',
|
||||
# JSON 类型
|
||||
'JSON': 'dict',
|
||||
# 空间数据类型(通常需要特殊处理)
|
||||
'GEOMETRY': 'bytes',
|
||||
'POINT': 'bytes',
|
||||
'LINESTRING': 'bytes',
|
||||
'POLYGON': 'bytes',
|
||||
'MULTIPOINT': 'bytes',
|
||||
'MULTILINESTRING': 'bytes',
|
||||
'MULTIPOLYGON': 'bytes',
|
||||
'GEOMETRYCOLLECTION': 'bytes',
|
||||
}
|
||||
|
Reference in New Issue
Block a user