GithubHelp home page GithubHelp logo

skyformat99 / go-admin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from go-admin-team/go-admin

0.0 0.0 0.0 14.09 MB

基于Gin + Vue + Element UI的前后端分离权限管理系统脚手架(包含了:基础用户管理功能,jwt鉴权,代码生成器,RABC资源控制,表单构建等)

License: MIT License

Go 66.55% PLpgSQL 33.45%

go-admin's Introduction

go-admin

build license

English | 简体中文

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

系统初始化极度简单,只需要配置文件中,修改数据库连接,系统启动后会自动初始化数据库信息以及必须的基础数据

特性

  • 遵循 RESTful API 设计规范

  • 基于 GIN WEB API 框架,提供了丰富的中间件支持(用户认证、跨域、访问日志、追踪ID等)

  • 基于Casbin的 RBAC 访问控制模型

  • JWT 认证

  • 支持 Swagger 文档(基于swaggo)

  • 基于 GORM 的数据库存储,可扩展多种类型数据库

  • 配置文件简单的模型映射,快速能够得到想要的配置

  • 代码生成工具(即将push,demo已经发布可以体验了)

  • 表单构建工具(即将push,demo已经发布可以体验了)

  • TODO: 单元测试

🎁 内置

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

配置详情

  1. 配置文件说明
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: 
    # redis链接地址
    addr: 0.0.0.0:6379 
    # db 
    db: 0   
    # 密码            
    password: password  
    # 读超时时长
    readtimeout: 50     
  1. 文件路径 go-admin/config/settings.yml

📦 本地开发

首次启动说明

# 获取代码
git clone https://github.com/wenjianzhang/go-admin.git

# 进入工作路径
cd ./go-admin

# 编译项目
go build

# 修改配置
vi ./config/setting.yml (更改isinit和数据库连接)

# 1. 配置文件中修改数据库信息 
# 注意: settings.database 下对应的配置数据)
# 2. 确认数据库初始化参数 
# 注意: settings.application.isinit 如果是首次启动,请把当前值设置成true,系统会自动初始化数据库结构以及基本的数据信息;
# 3. 确认log路径


# 启动项目,也可以用IDE进行调试
./go-admin

# 也可以在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.go

🔗 在线体验

admin / 123456

演示地址:http://www.zhangwj.com

🤝 使用的开源项目

gin

casbin

spf13/viper

gorm

gin-swagger

jwt-go

vue-element-admin

ruoyi-vue

版本

2020-04-1 新功能及bug修复

  1. 代码生成器
  2. 代码优化
  3. 已知bug修复

2020-03-15 新功能及优化

  1. 添加用户头像上传
  2. 添加用户密码修改
  3. 操作日志页面调整
  4. 优化验证码背景色

看到好多体验的朋友验证码错误,所以调整了对比度,方便大家体验!

互动

微信 QQ

go-admin技术交流

🤝 特别感谢

chengxiao

License

MIT

Copyright (c) 2020 wenjianzhang

go-admin's People

Contributors

qialie avatar wenjianzhang avatar yangcuiwang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.