Hw 是一套基于代码生成器的低代码开发平台。 前后端分离,数据库优先模式。帮助解决开发过程中大量重复的CURD工作。Hw代码简洁,没有高深语法,让小白也能快速上手。
graph LR
A(Hw低代码开发平台)-->B1(后端)
A-->B2(前端)
B1-->C1(Hw.Api提供Api访问)
B1-->C2(Hw.CodeBuilder代码生产工具)
B1-->C3(Hw.Common公用类库)
B1-->C4(Hw.Dto提供添/修/查/显示Dto模型)
B1-->C5(Hw.Extensions提供扩展)
B1-->C6(Hw.Model数据库模型)
B1-->C7(Hw.Repository仓储)
B1-->C8(Hw.Service服务)
B2-->D1(Hw.Vue.UI后端UI)
.net Core5,FreeSql,AutoMapper,Autofac,log4net
Vue,Vuex,iview
v 0.0.1
- 基于数据库关系图快速生成CURD API
- 基础中后台管理
- 集成权限管理
- 数据合法性验证
- JWT
思路:使用chiner设计数据库模型,根据模型文件生成后端代码。
chiner定制版 可参考 https://github.com/hw952/chiner chiner 使用方法可参考 https://gitee.com/robergroup/chiner
使用chiner打开Hw.CodeBuilder/demo.chnr.json 这里保存了我定制chiner的一些信息,demo中包含了一个简单的权限管理的数据库设计。
基于此可完成自己模型设计。设计完成后在Hw.CodeBuilder项目中运行dotnet run生成对应的后端代码
Hw.CodeBuilder 中很多路径是写死的,记得修改哟!
新增字段 | 说明 |
---|---|
Dto添加 | 实体模型添加时显示的字段 |
Dto修改 | 实体模型修改时显示的字段 |
Dto显示 | 实体模型展示时显示的字段 |
Dto搜索 | 未实现 |
ParentId | 用于存储树形结构上一级Id |
域字段 | C#类型 | 说明 |
---|---|---|
默认字符串 | string | |
主键标识 | - | 未实现 |
名称 | - | 未实现 |
整数 | int | |
小数 | - | 未实现 |
时间日期 | DateTime | |
是否 | bool | |
数据字典 | enum | |
描述文本 | - | 未实现 |
密码 | string | |
批量添加 | list | 用于多对多关系转换成的一对多的批量添加 (可参考添加用户时对应的角色可多选) |
根据Ui选项,前端会解析对应的输入类型
选项 | 说明 |
---|---|
普通输入框 | |
下拉输入框 | |
下拉(多选)输入框 | 批量添加第三张表时选择 |
复选框 | 未实现 |
单选框 | 未实现 |
小数输入 | 未实现 |
整数输入 | 未实现 |
金额输入 | 未实现 |
日期输入 | 未实现 |
年月输入 | 未实现 |
长文本输入 | 未实现 |
富文本输入 | 未实现 |
密码输入框 | |
下拉(多选)树 | 树形结构时,批量添加第三张表时选择 |
Icon选择 |
关系类型 | 说明 |
---|---|
1:N | |
1:1 | 未实现 |
N:N | 不支持(建议转换为1:N关系) |
字段代码 | ... | Dto显示 |
---|---|---|
1_字段名称① | ... |
① "1" 表示表关系1中的表名称,必须与实际的一致 。 "_" 分隔符必须存在 。 "字段名称" 表关系1中的对应的字段名,必须存在
字段代码 | ... | Dto添加 | ... | 数据域 | ... | ui建议选项 |
---|---|---|---|---|---|---|
Role① | ... | ... | 批量添加 | ... | 下拉(多选)输入框 |
① 必须为第三张表名称
代码块包裹在#region ... #endregion 里的代码再下次生成代码时会保留
数据库模型设计完成后。在Hw.CodeBuilder项目中运行dotnet run生成对应的后端代码