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

Nikko_Z發表於2020-03-17

✨ 特性

  • 遵循 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     
  2. 檔案路徑 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

新增微訊號: zwj891129 進入技術交流微信群 請備註,謝謝!

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章