­

go-admin基於Gin + Vue + Element UI的前後端分離許可權管理系統

  • 2020 年 3 月 16 日
  • 筆記

✨ 特性

  • 遵循 RESTful API 設計規範

  • 基於 GIN WEB API 框架,提供了豐富的中間件支援(用戶認證、跨域、訪問日誌、追蹤ID等)

  • 基於Casbin的 RBAC 訪問控制模型

  • JWT 認證

  • 支援 Swagger 文檔(基於swaggo)

  • 基於 GORM 的資料庫存儲,可擴展多種類型資料庫

  • 配置文件簡單的模型映射,快速能夠得到想要的配置

  • TODO: 單元測試

? 內置

  1. 用戶管理:用戶是系統操作者,該功能主要完成系統用戶配置。
  2. 部門管理:配置系統組織機構(公司、部門、小組),樹結構展現支援數據許可權。
  3. 崗位管理:配置系統用戶所屬擔任職務。
  4. 菜單管理:配置系統菜單,操作許可權,按鈕許可權標識等。
  5. 角色管理:角色菜單許可權分配、設置角色按機構進行數據範圍許可權劃分。
  6. 字典管理:對系統中經常使用的一些較為固定的數據進行維護。
  7. 參數管理:對系統動態配置常用參數。
  8. 操作日誌:系統正常操作日誌記錄和查詢;系統異常資訊日誌記錄和查詢。
  9. 登錄日誌:系統登錄日誌記錄查詢包含登錄異常。
  10. 系統介面:根據業務程式碼自動生成相關的api介面文檔。

配置詳情

  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鏈接地址      addr: 0.0.0.0:6379      # db      db: 0      # 密碼      password: password      # 讀超時時長      readtimeout: 50     
  1. 文件路徑 go-admin/src/goadmin/config/settings.yml

? 本地開發

首次啟動說明

# 獲取程式碼  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.go

? 在線體驗

admin / 123456

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

? 使用的開源項目

gin

casbin

spf13/viper

gorm

gin-swagger

jwt-go

vue-element-admin

ruoyi-vue

版本

2020-03-15 新功能及優化

  1. 添加用戶頭像上傳
  2. 添加用戶密碼修改
  3. 操作日誌頁面調整
  4. 優化驗證碼背景色

看到好多體驗的朋友驗證碼錯誤,所以調整了對比度,方便大家體驗!

? 特別感謝

chengxiao

License

MIT

Copyright (c) 2020 wenjianzhang

qq技術交流群: 74520518