✨ 特性
遵循 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
新增微訊號: zwj891129 進入技術交流微信群 請備註,謝謝!
本作品採用《CC 協議》,轉載必須註明作者和本文連結