# CodeRobot
**Repository Path**: cloudin/CodeRobot
## Basic Information
- **Project Name**: CodeRobot
- **Description**: 小码机器人,一款自动化编程工具,根据数据表自动生成UniApp(小程序),HTML5前端,PC后台管理系统,API接口等。以及自动生成项目管理文件,经过10年以上实践验证,可以满足中小型项目使用,可节省60%以上代码工作量,适合中小团队或个人开发多个或大量项目,涉及所有项目100%开源,完全开放。
- **Primary Language**: C#
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 33
- **Forks**: 22
- **Created**: 2018-05-06
- **Last Updated**: 2025-06-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# CodeRobot
小码机器人
——为你节省80%以上的代码编程时间
基于.net 4.8开发的Windows桌面软件,必须在Windows下运行,不支持MacOS。
#### 软件界面
软件成功运行截图界面:
支持.NET 6.0框架项目,可自动生成以下文件目录:
1. Api:前端调用所需接口
2. Controllers:每个表对应一个Controller,业务处理类
3. Models:每个表对应一个Model
4. Views:自动生成前端所需的页面结构,无需设计
5. Data:数据库结构
#### 已实现功能
```
1. 自动生成数据库连接类
2. 自动生成数据库中,各表对应的实体类
3. 自动生成数据库中,各表对应的数据处理类
4. 自动生成数据库中,各表对应的业务处理类
5. 自动生成 Restful API 业务逻辑接口
6. 自动生成 HTML5 简易版完整代码
7. 自动生成 UniApp 基础业务逻辑代码
```
#### 数据库设计注意事项
为了配合后台自动生成,必须注意以下事项:
1、表名规则:前缀+后缀,如:cloudin_news
2、字段名规格:前缀+后缀,如:news_id,news_title
3、每个字段必须填写注释说明
4、如果字段在编辑或新增时是下拉菜单,则在注释时标注“{下拉}”两个字
5、每个字段最好给定一个默认值,有外键的默认为-1,int型默认为0,tinyint默认为1,bit型默认为0,可以为空的字段默认为 EmptyString
6、如果在新增数据时,不希望添加某个字段,在字段注释里标记‘{添加排除}’
7、后台管理模板,如果业务存在新开页面添加需要在表注释里加 {MutiPages},默认就在列表页面弹窗新增编辑
8、{勾选}状态:已发布|未发布 或 {勾选}状态:是|否
9、{TEXTAREA} 表示该字段新增或编辑是需要使用 TEXTAREA编辑框
10、每个表主键注释规则:表名+ID +{MutiPages},如:文章ID{MutiPages}
11、如果表注释有{ParentPages},说明该表属性表格用树形表格
{下拉} 独立表选择
如:{下拉}[cloudin_category]子分类ID
主表的分类字段,必须与对应表的主键一致
{勾选} bit
{单选}
{复选}
{搜索}-表示将此字段加入到搜索界面中
{开关}-表示在管理页,字段中支持switch开关动态更新状态
{富文本}-表示前端需要设置富文本编辑器
上传图片:{图片}
{noupdate} -表示不要在更新SQL中跟新此字段。
注释中如果输入冒号,则在英文输入法下的,如“是否显示:1=是|0=否”
数据库设计时,如果表中存在多个DateTime类型,默认给不了值时,需要在models中定义类型可为空即可
如下:
///
/// 归还时间
///
[DataType(DataType.DateTime)]
public DateTime? return_at { get; set; }
优化:
1、删除记录日志
2、新增检测重复
***
#### 升级日志
## V2.2.0 - 2025/04/04
1. 修复一些BUG
2. 整理框架结构
## V2.1.9 - 2024/02/17
1. 优化OSS链接
## V2.1.8 - 2023/04/21
1. 优化日志记录模式
2. 各业务表导出数据根据筛选条件
3. 新增表前缀设置
## V2.0.0 - 2022/03/01
1. 所有lambda表达式指针表达式用t,如 .Where(t => t.news_id), t为Table简写
2. 新增或编辑页面 生成横排样式(暂未完成,建议新项目复杂页面先手动修改)
3. 控制台统计数字可点击
4. 所有通用表,主键加索引
5. 搜索展开功能(会员列表、消息管理、访问量统计、管理员列表、日志列表、意见反馈列表,新项目超过3个搜索字段需要调整一下)
6. 默认增删改事件关闭,需要用时打开
7. 分页页面统一改为:limits: [10, 20, 50, 200, 500]
8. 所有列表ID改为序号
9. 所有搜索字段,如果是字符串后面要清除空格,如:result = result.Where(t => t.user_phone.Contains(user_phone.Trim()));
10. 列表点击进入详情页面,如果是新开页面,在新开tab标题上加ID
11. 新增或编辑页面input字符长度限制
## V1.1.0 - 2019/12/08
1. 导出SQL
2. 内容摘要:表名+注释
## V1.8.2 - 2020/11/04
1. 修复分页从第2页后搜索无效BUG
## V1.8.0 - 2020/10/11
1. 修复Table表格数据加载从第2页开始搜索无效问题
2. 修复搜索关键词左右空格问题
## V1.3.5 - 2020/03/17
1. 新增created_at需要初始化一下
2. 新增或更新需要打印LOG
3. bigint对应的更改需要调整一下
4. created_at给一个默认值
5. select new 不需要左侧
6. create,edit 中 bind删除
7. table组件默认显示打印
8. 生成Model,可选字段加
## V1.2.8 - 2020/02/03
1. 删除了加密解密逻辑,老是出一些莫名的问题,特别在更换电脑,重装系统时出现
## V1.0.5 - 2017/03/28
1. 修复重大BUG:修复当表中存在null数据时,读取表字段数据异常
## V1.0.1 - 2017/07/20
1. 搜索模块:日期当日无效、单选有问题
2. 批量删除模块有问题,页面及接口都需要调整