# codeless **Repository Path**: wzhsh/codeless ## Basic Information - **Project Name**: codeless - **Description**: json 低代码 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-08-04 - **Last Updated**: 2024-01-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README codeless 开发脚手架,基于事件方式注册路由,json配置低代码开发 # 基于golang的后台管理系统,适合新手学习,简单,清爽 ## 功能特点 #### 前端基于layui,juicer前端模板引擎。 Layui: https://www.layui.com/demo/ juicer: https://github.com/PaulGuo/Juicer #### 后端基于gin开发。 gin框架: https://github.com/gin-gonic/gin #### MVC 设计模式,快速入门,方便上手。 #### goview 模板引擎,服务端html 渲染更简单,并且支持自定义 delimers。 goview: https://github.com/foolin/goview #### GORM+SqlBuilder 操作数据库,更简单方便 sqlbuilder: github.com/huandu/go-sqlbuilder #### golang 基于事件方式注册路由,将路由文件分割到不文件中自动注册 eventbus:https://github.com/asaskevich/EventBus ## 二次开发 & 技术交流 #### 扫码备注: 'codeless', ![avatar](/static/img/qr.jpg) ## 环境要求 Mysql: 5.6+ ## 目录说明 #### /resource 用于系统默认的配置文件 #### /resource/crud 用于存储crud json 文件 #### /src golang源代码 #### /static 用于存储前端css/js/img #### /views 模板文件 ## 界面载图 #### 登录界面 ![avatar](/static/img/login.png) #### 后台管理 ![avatar](/static/img/home.png) ## 使用说明 #### 下载代码 ```bash git clone https://gitee.com/wzhsh/codeless.git cd codeless go run main.go ``` #### 示例sql数据表 ```sql CREATE TABLE `sys_company_t` ( `id` char(24) NOT NULL, `com_name` varchar(100) DEFAULT NULL, `com_desc` varchar(100) DEFAULT NULL, `flag` tinyint(1) DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `sys_file_t` ( `id` char(24), `group_id` char(24), `attach_name` varchar(200), `real_name` varchar(255), `remote_id` varchar(36), `remote_url` varchar(255), `create_time` bigint, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` #### 示例json ``` json { "mod": { "name": "company", "table": { "name": "sys_company_t", "zh_name": "公司信息" }, "columns": { "id": { "zh_name": "Id", "db_type": "varchar(24)", "lang_type": "string", "key": true }, "com_name": { "zh_name": "公司名称", "db_type": "varchar(100)", "lang_type": "string" }, "com_desc": { "zh_name": "备注", "db_type": "varchar(100)", "lang_type": "string" }, "flag": { "zh_name": "启用标记", "db_type": "tinyint(1)", "lang_type": "int", "default": 1 } }, "unique": [ { "columns": [ "com_name" ], "tip": "当前公司名称已经存在" } ] }, "sql": { "s1": "id,com_name,com_desc,flag" }, "page": { "list_name": { "select": "id,com_name,com_desc,flag,@{s1}", "count": "sys_company_t ${where}", "from": "sys_company_t ${where} order by id", "where": [ { "name": "where", "on": { "com_name!=''": "com_name like ${com_name}", "flag!=-1": "flag=${flag}" } } ], "args": [ { "lang_type": "int", "name": "flag", "default": 0 }, { "name": "com_name", "format": "@like" } ] } }, "list": { "list_name": { "plain": false, "select": "id,com_name,com_desc,flag", "sql": "", "from": "sys_company_t det where flag=1 ${where} order by id", "where": [ { "name": "com_name", "on": { "name!=''": "det.com_name like ${name}" } } ], "args": [ { "name": "com_name", "format": "@like" } ] } }, "get": { "list_name": { "plain": false, "sql": "", "select": "id,com_name,com_desc,flag", "from": "sys_company_t det ${where} order by id ", "where": [ { "name": "where", "on": { "name!=''": "det.com_name like ${name}", "flag!=-1": "flag = ${flag}" } } ], "args": [ { "name": "flag", "lang_type": "int", "default": 0 }, { "name": "com_name", "format": "@like" } ] } }, "del": { "del_id": { "fake": false, "before": "", "after": "", "sql": "", "select": "1", "from": "sys_company_t", "where": [ { "name": "where", "on": { "": "id=${id}" } } ], "args": [ { "name": "id" } ] } }, "add": { "save": { "before": "", "after": "", "sql": "INSERT INTO sys_company_t (com_name, flag, id,com_desc) VALUES(${com_name}, ${flag}, ${id},${com_desc})", "into": "sys_company_t", "columns": { "com_name": { "zh_name": "公司名称", "rule": "required" }, "flag": { "zh_name": "启用" }, "com_desc": { "zh_name": "备注" } } } }, "update": { "update_id": { "before": "", "after": "", "sql": "", "select": "id,com_name,com_desc,flag", "from": "sys_company_t", "where": [ { "name": "where", "on": { "": "id=${id}" } } ], "args": [ { "name": "id" } ], "columns": { "com_name": { "zh_name": "公司名称", "rule": "required" }, "com_desc": { "zh_name": "备注" }, "flag": { "zh_name": "启用标记" } } } } } ``` ***** * 默认用户/名称: codeless / codeless #### 运行程序 ```bash 默认运行开发模式 go run main.go= go run main.go --env dev go run #开发模式: go run main.go --env dev go run #生产模式: cargo run main.go --env prod ```