项目简介
本项目是基于Gin + Vue + Element UI构建的前后端分离权限管理系统。它遵循RESTful API设计规范,借助GIN WEB API框架提供的丰富中间件,采用Casbin的RBAC访问控制模型与JWT认证保障安全,支持Swagger文档,利用GORM实现数据库存储且可扩展多种数据库类型。系统提供用户管理、部门管理等内置功能,还有代码生成和表单构建等实用工具。
项目的主要特性和功能
特性
- 遵循RESTful API设计规范,确保接口规范、可维护。
- 基于GIN WEB API框架,提供用户认证、跨域、访问日志等丰富中间件。
- 采用Casbin的RBAC访问控制模型,实现灵活权限管理。
- 使用JWT认证,保障系统安全。
- 支持基于swaggo的Swagger文档,便于开发人员查看和测试接口。
- 基于GORM存储数据,可扩展多种数据库类型。
- 配置文件模型映射简单,可快速获取配置。
- 具备代码生成和表单构建工具,提升开发效率。
- 支持多命令模式。
内置功能
- 用户管理:完成系统用户配置。
- 部门管理:配置系统组织机构,以树结构展现并支持数据权限。
- 岗位管理:配置系统用户所属职务。
- 菜单管理:配置系统菜单、操作权限和按钮权限标识。
- 角色管理:分配角色菜单权限,设置角色按机构划分的数据范围权限。
- 字典管理:维护系统常用固定数据。
- 参数管理:动态配置系统常用参数。
- 操作日志:记录和查询系统正常及异常操作日志。
- 登录日志:记录和查询系统登录日志,含登录异常。
- 系统接口:根据业务代码自动生成相关api接口文档。
- 代码生成:根据数据表结构生成对应业务代码,基本业务可0代码实现。
- 表单构建:自定义页面样式,通过拖拉拽实现页面布局。
- 服务监控:查看服务器基本信息。
安装使用步骤
前提条件
需要在本地安装 [go] [gin] node 和 git。
开发目录创建
bash
mkdir goadmin
cd goadmin
获取代码
```bash
```
启动说明
服务端启动说明
```bash cd ./go-admin
go build
vi ./config/setting.yml
```
初始化数据库,以及服务启动
```bash $ ./go-admin migrate -c=config/settings.dev.yml
$ go-admin.exe migrate -c=config/settings.dev.yml
$ ./go-admin server -c config/settings.yml
$ go-admin.exe server -c config/settings.yml ```
使用docker编译启动
```shell docker build -t go-admin .
docker run --name go-admin -p 8000:8000 -v /config/settings.yml:/config/settings.yml -d go-admin-server ```
文档生成
bash
go generate
交叉编译
```bash env GOOS=windows GOARCH=amd64 go build main.go
env GOOS=linux GOARCH=amd64 go build main.go ```
UI交互端启动说明
```bash npm install
npm install --registry=https://registry.npm.taobao.org
npm run dev ```
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】