2 Star 4 Fork 2

lostvip / ruoyi-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

框架简介

摒弃过度封装,代码风格极尽简洁,适合中小项目使用!
架构思路沿袭着若依的以辅助生成重复代码为主,不过度封装,生成的代码可以快速修改适应不同的需求。

  • 项目结构模仿springboot,简单改造后可注册到nacos中做为springcloud微服务的一员,对java开发人员友好。
  • 支持类mybatis查询,sql与go代码分离(基于gorm + golang的template语法实现,为了idea能识别sql关键字,后缀使用_mapper.sql)。
  • 提供相关服务配置脚本,可发布到 k8s、docker swarm中做为微服务使用。
  • 支持在yaml文件中使用表达式从环境变量中取值,便于切换生产、开发、测试环境参数(模仿springboot),如:
    host: ${REDIS_HOST:lostvip.com}
  • 1.x版本是基于xorm开发,2.0之后的版本将全面切换到gorm。

核心技术及组件

  • DAO层架: gorm,简单易用,支持namedSQL占位符查询.
  • Web服务框架: Gin 简单高效,模板可热加载.
  • 前端技术: 模板引擎,服务端渲染.
  • 缓存支持: redis .
  • 安全认证:支持通过jwt无状态 或 token有状态的安全校验.
  • 代码生成:在线生成代码,并一键导入菜单到业务模块.
  • 导出excel文件 tealeg/xlsx.
  • api文档生成 swaggo/swag.
  • 图形验证码 base64Captcha.
  • 服务器监控 gopsutil.
  • 若依前端组件 RuoYi v4.7.0 .

内置功能

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  3. 岗位管理:配置系统用户所属担任职务。
  4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  7. 参数管理:对系统动态配置常用参数。
  8. 通知公告:系统通知公告信息发布维护。
  9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  10. 登录日志:系统登录日志记录查询包含登录异常。
  11. 在线用户:当前系统中活跃用户状态监控。
  12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  13. 代码生成:前后端代码的生成(Go、html、json、sql) 。
  14. 系统接口:根据业务代码自动生成相关的api接口文档。
  15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  16. 在线构建器:拖动表单元素生成相应的HTML代码。
  17. 案例演示:常用的前端组件整合演示。

目录结构

本着简单易用的原则,简化工程结构,没有dao层。

main[]()     
├── docs               // 资料备份
├── main               // 系统管理
│   └── app                      // go源码存放目录
│   └── static                   // 静态文件目录
│   └── mapper                   // 类mybatis映射文件存放目录
│   └── template                 // 模板存放目录
│   └── bootstrap.yml            // 项目根配置文件,模仿springboot
│   └── application.ym           // 项目配置文件,模仿springboot
│   └── build.sh                 // 编译脚本,方便打包
│   └── build-cgo.sh             // 编译脚本,启用cgo,需要打包sqlite时有用
│   └── build-linux.bat          // 编译脚本,windows环境交叉编译用
│   └── data.db                  // 使用sqlite数据库时有用,只使用mysql可删除                             
│   └── deploy-swarm-ry.yml      // docker swarm 服务编排脚本
│   └── Dockerfile               // Docker镜像文件
├── lv_framework       // 框架通用模块
│       └── cache               // 通用缓存处理
│       └── conf                // 通用配置处理
│       └── db                  // 数据库配置处理
│       └── utils               // 通用工具类
│       └── logme               // 通用日志处理,统一风格,方便切换第三方日志库
│       └── web                 // 通用web组件

├── go.work            // 项目模块配置
├── build-linux.bat    // 编译脚本

启动

1. 修改应该的数据库及缓存配置

  • sqlite:默认使用sqlite数据库,可不做任何修改
  • mysql: 导入docs中的sql文件,修改application.yml中的mysql相关信息

2. cd 进入main目录启动应用

  • 方式一 :常规启动
go run main.go

启动完成后,在控制台会打印出访问地址: http://127.0.0.1:8080

  • 方式二: 使用第三方热加载组件

前置条件: cd 到 main 目录,安装热加载框架:
go get github.com/pilu/fresh
go install github.com/pilu/fresh

启动

fresh

登录账号和密码

演示1: http://demo.lostvip.com

账号: admin / admin123

注意,本站未做任何防护,管理员有所有权限,请不要删除任何数据!

演示图

感谢(排名不分先后)

xorm https://xorm.io/zh/docs/

web框架 https://github.com/gin-gonic/gin

缓存框架 https://github.com/redis/go-redis

配置文档 https://github.com/BurntSushi/toml

RuoYi框架 https://github.com/yangzongzhuan/RuoYi

tealeg https://github.com/tealeg/xlsx

swaggo https://github.com/swaggo/swag

若依goframe版 https://github.com/guolingege/yjgo

热加载框架 http://github.com/pilu/fresh

sql文件解析: https://github.com/qustavo/dotsql

项目支持

QQ交流群

如有兴趣一起完善,进QQ群 43862272

Gitee https://gitee.com/lostvip_com/ruoyi-go

Github https://github.com/lostvip-com/ruoyi-go

Gitcode https://gitcode.com/lostvip-com1/ruoyi-go/tree/main

MIT License Copyright (c) 2020 lostvip.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

🎉若依后台管理系统(golang版),基于 gin + gorm,支持mybatis式的sql与go代码分离,代码风格极尽简洁,传统模板引擎技术,适合后端开发人员单挑一个项目使用。 展开 收起
Go 等 2 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/lostvip_com/ruoyi-go.git
git@gitee.com:lostvip_com/ruoyi-go.git
lostvip_com
ruoyi-go
ruoyi-go
main

搜索帮助