项目介绍:
基于gin + Vue + Element UI的前后端分离权限管理系统,系统初始化极度简单,只需要配置文件中,修改数据库连接,系统支持多指令操作,迁移指令可以让初始化数据库信息变得更简单,服务指令可以很简单的启动api服务。
优势:
- 遵循 RESTful API 设计规范
- 基于 GIN WEB API 框架,提供了丰富的中间件支持(用户认证、跨域、访问日志、追踪ID等)
- 基于Casbin的 RBAC 访问控制模型
- JWT 认证
- 支持 Swagger 文档(基于swaggo)
- 基于 GORM 的数据库存储,可扩展多种类型数据库
- 配置文件简单的模型映射,快速能够得到想要的配置
- 代码生成工具
- 表单构建工具
- 多指令模式
- 多租户的支持
- TODO: 单元测试
内置功能模块
- 多租户:系统默认支持多租户,按库分离,一个库一个租户。
- 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
- 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
- 岗位管理:配置系统用户所属担任职务。
- 菜单管理:配置系统菜单,操作权限,按钮权限标识,接口权限等。
- 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
- 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
- 参数管理:对系统动态配置常用参数。
- 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
- 登录日志:系统登录日志记录查询包含登录异常。
- 接口文档:根据业务代码自动生成相关的api接口文档。
- 代码生成:根据数据表结构生成对应的增删改查相对应业务,全程可视化操作,让基本业务可以零代码实现。
- 表单构建:自定义页面样式,拖拉拽实现页面布局。
- 服务监控:查看一些服务器的基本信息。
- 内容管理:demo功能,下设分类管理、内容管理。可以参考使用方便快速入门。
- 定时任务:自动化任务,目前支持接口调用和函数调用。
本地开发
开发目录创建
创建开发目录mkdirgoadmincdgoadmin
获取代码
重点注意:两个项目必须放在同一文件夹下;
获取后端代码gitclonehttps://github.com/go-admin-team/go-admin.git获取前端代码gitclonehttps://github.com/go-admin-team/go-admin-ui.git
启动说明
服务端启动说明
进入 go-admin 后端项目cd./go-admin编译项目gobuild修改配置文件路径 go-admin/config/settings.ymlvi./config/setting.yml1. 配置文件中修改数据库信息注意: settings.database 下对应的配置数据2. 确认log路径
:::tip ⚠️注意 在windows环境如果没有安装中CGO,会出现这个问题;
E:\go-admin>go build
github.com/mattn/go-sqlite3cgo: exec /missing-cc:exec:"/missing-cc": file does not exist
or
D:\Code\go-admin>go build
github.com/mattn/go-sqlite3cgo: execgcc:exec:"gcc": executable file not found in %PATH%
解决cgo问题进入
:::
初始化数据库,以及服务启动
首次配置需要初始化数据库资源信息macOS or linux 下使用$ ./go-admin migrate -c=config/settings.dev.yml⚠️注意:windows 下使用$ go-admin.exe migrate -c=config/settings.dev.yml启动项目,也可以用IDE进行调试macOS or linux 下使用$ ./go-admin server -c config/settings.yml⚠️注意:windows 下使用$ go-admin.exe server -c config/settings.yml
使用docker 编译启动
编译镜像
docker build -tgo-admin .
启动容器,第一个go-admin是容器名字,第二个go-admin是镜像名称
-v 映射配置文件 本地路径:容器路径
docker run --namego-admin -p8000:8000-v /config/settings.yml:/config/settings.yml -dgo-admin-server
文档生成
gogenerate
交叉编译
windowsenvGOOS=windows GOARCH=amd64 go build main.goorlinuxenvGOOS=linux GOARCH=amd64 go build main.go
UI交互端启动说明
安装依赖npminstall建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题npminstall --registry=https://registry.npm.taobao.org启动服务npmrun dev
后台截图:
原文链接:https://www.w1ym.com/83149/,转载请注明出处~~~
评论0