遵循 RESTful API 設計規範vue
基於 GIN WEB API 框架,提供了豐富的中間件支持(用戶認證、跨域、訪問日誌、追蹤ID等)mysql
基於Casbin的 RBAC 訪問控制模型linux
JWT 認證git
支持 Swagger 文檔(基於swaggo)github
基於 GORM 的數據庫存儲,可擴展多種類型數據庫redis
配置文件簡單的模型映射,快速可以獲得想要的配置sql
TODO: 單元測試數據庫
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
首次啓動說明windows
# 獲取代碼 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中查看說明
文檔生成api
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
看到好多體驗的朋友驗證碼錯誤,因此調整了對比度,方便你們體驗!
Copyright (c) 2020 wenjianzhang
qq技術交流羣: 74520518