go-admin基於Gin + Vue + Element UI的前後端分離許可權管理系統
- 2020 年 3 月 16 日
- 筆記
特性
-
遵循 RESTful API 設計規範
-
基於 GIN WEB API 框架,提供了豐富的中間件支援(用戶認證、跨域、訪問日誌、追蹤ID等)
-
基於Casbin的 RBAC 訪問控制模型
-
JWT 認證
-
支援 Swagger 文檔(基於swaggo)
-
基於 GORM 的資料庫存儲,可擴展多種類型資料庫
-
配置文件簡單的模型映射,快速能夠得到想要的配置
-
TODO: 單元測試
? 內置
- 用戶管理:用戶是系統操作者,該功能主要完成系統用戶配置。
- 部門管理:配置系統組織機構(公司、部門、小組),樹結構展現支援數據許可權。
- 崗位管理:配置系統用戶所屬擔任職務。
- 菜單管理:配置系統菜單,操作許可權,按鈕許可權標識等。
- 角色管理:角色菜單許可權分配、設置角色按機構進行數據範圍許可權劃分。
- 字典管理:對系統中經常使用的一些較為固定的數據進行維護。
- 參數管理:對系統動態配置常用參數。
- 操作日誌:系統正常操作日誌記錄和查詢;系統異常資訊日誌記錄和查詢。
- 登錄日誌:系統登錄日誌記錄查詢包含登錄異常。
- 系統介面:根據業務程式碼自動生成相關的api介面文檔。
配置詳情
- 配置文件說明
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
- 文件路徑 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
? 使用的開源項目
版本
2020-03-15 新功能及優化
- 添加用戶頭像上傳
- 添加用戶密碼修改
- 操作日誌頁面調整
- 優化驗證碼背景色
看到好多體驗的朋友驗證碼錯誤,所以調整了對比度,方便大家體驗!
? 特別感謝
License
Copyright (c) 2020 wenjianzhang
qq技術交流群: 74520518