✨ 特性
-
遵循 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 進入技術交流微信群 請備注,謝謝!