go-admin

module
v0.0.0-...-cfb18d5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2021 License: MIT

README

go-admin后台管理系统

基于Gin + Vue + Element UI的前后端分离权限管理系统

go-admin 的分支,用于自行开发基础套件, 重新整理了原代码,修复一些bug

✨ 特性

  • 遵循 RESTful API 设计规范
  • 基于 GIN WEB API 框架,提供了丰富的中间件支持(用户认证、跨域、访问日志、追踪ID等)
  • 基于Casbin的 RBAC 访问控制模型
  • JWT 认证
  • 支持 Swagger 文档(基于swaggo)
  • 基于 GORM 的数据库存储,可扩展多种类型数据库
  • 配置文件简单的模型映射,快速能够得到想要的配置
  • 代码生成工具
  • 表单构建工具
  • 多命令模式

✨ 🎁内置

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  3. 岗位管理:配置系统用户所属担任职务。
  4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  7. 参数管理:对系统动态配置常用参数。
  8. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  9. 登录日志:系统登录日志记录查询包含登录异常。
  10. 系统接口:根据业务代码自动生成相关的api接口文档。
  11. 代码生成:根据数据表结构生成对应的增删改查相对应业务,全部可视化编程,基本业务可以0代码实现。
  12. 表单构建:自定义页面样式,拖拉拽实现页面布局。
  13. 服务监控:查看一些服务器的基本信息。

🗞 系统架构


📦本地开发

准备工作

你需要在本地安装 [go] [gin] nodegit

开发目录创建

# 创建开发目录
mkdir go-admin
cd go-admin
启动说明
服务端启动说明
# 进入 go-admin 后端项目
cd ./go-admin

# 编译项目
go build

# 修改配置 
# 文件路径  go-admin/config/config.yaml 
vim ./config/config.yaml 

# 1. 配置文件中修改数据库信息 
# 注意: database 下对应的配置数据
# 2. 确认log路径
初始化数据库,以及服务启动
# 首次配置需要初始化数据库资源信息
./go-admin migrate -c config/config.yaml -m dev


# 启动项目,也可以用IDE进行调试
./go-admin server -c config/config.yaml -p 8000 -m dev
使用docker 编译启动
# 编译镜像
docker build . -t go-admin:latest

# 启动容器,第一个go-admin是容器名字,第二个go-admin是镜像名称
docker run --name go-admin -p 8000:8000 -d go-admin
swagger 文档生成
swag init  

# 如果没有swag命令 go get安装一下即可
go get -u github.com/swaggo/swag/cmd/swag
交叉编译
env GOOS=windows GOARCH=amd64 go build main.go

# or

env GOOS=linux GOARCH=amd64 go build main.go

相关说明

日志说明

日志由config.yamllogger项进行配置,日志路径由logger.path配置, 基础日志由logger.fileName配置,另有job.logrequest.log

  • 基础日志(logger.fileName) 错误等记录
  • job日志 定时任务日志记录, info等级
  • request日志 api请求日志记录, info等级, 在非prod时会输出到console
优雅重启或关闭

接收到 SIGHUP 信号将触发fork/restart 实现优雅重启(kill -1 pid会发送SIGHUP信号)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL