# 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. 批量删除模块有问题,页面及接口都需要调整