遵循 RESTful API 设计规范
基于 GIN WEB API 框架,提供了丰富的中间件支持(用户认证、跨域、访问日志、追踪ID等)
基于Casbin的 RBAC 访问控制模型
JWT 认证
支持 Swagger 文档(基于swaggo)
基于 GORM 的数据库存储,可扩展多种类型数据库
配置文件简单的模型映射,快速能够得到想要的配置
TODO: 单元测试
settings:
  application:  
    # 项目启动环境            
    env: dev  
    # 当 env:demo 时,GET以外的请求操作提示
    envmsg: "谢谢您的参与,但为了大家更好的体验,所以本次提交就算了吧!" 
    # 主机ip 或者域名,默认0.0.0.0
    host: 0.0.0.0 
    # 是否需要初始化数据库结构以及基本数据;true:需要;false:不需要 
    isinit: false  
    # JWT加密字符串
    jwtsecret: 123abc  
    # log存放路径
    logpath: temp/logs/log.log   
    # 服务名称
    name: go-admin   
    # 服务端口
    port: 8000   
    readtimeout: 1   
    writertimeout: 2 
  database:
    # 数据库名称
    database: dbname 
    # 数据库类型
    dbtype: mysql    
    # 数据库地址
    host: 127.0.0.1  
    # 数据库密码
    password: password  
    # 数据库端口
    port: 3306       
    # 数据库用户名
    username: root   
  redis:
    # redis链接地址
    addr: 0.0.0.0:6379 
    # db 
    db: 0   
    # 密码            
    password: password  
    # 读超时时长
    readtimeout: 50     首次启动说明
# 获取代码
git clone https://github.com/wenjianzhang/go-admin.git
# 进入工作路径
cd ./goadmin/src/goadmin
# 编译项目
go build
# 修改配置
vi ./config/setting.yml (更改isinit和数据库连接)
# 1. 配置文件中修改数据库信息 
# 注意: settings.database 下对应的配置数据)
# 2. 确认数据库初始化参数 
# 注意: settings.application.isinit 如果是首次启动,请把当前值设置成true,系统会自动初始化数据库结构以及基本的数据信息;
# 3. 确认log路径
# 启动项目,也可以用IDE进行调试
./goadmin
# 也可以在WIKI中查看说明文档生成
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.goadmin / 123456
看到好多体验的朋友验证码错误,所以调整了对比度,方便大家体验!
Copyright (c) 2020 wenjianzhang
qq技术交流群: 74520518
go-admin基于Gin + Vue + Element UI的前后端分离权限管理系统
原文:https://www.cnblogs.com/zhangwenjian/p/12501234.html