Files
go-admin/README.zh-TW.md
T
zhangwenjian 1169cb3e87 chore⬆️: build with Go 1.27
govulncheck reports seven standard-library vulnerabilities against go1.26.5
that this code actually reaches, and none against go1.27.1.

It also clears the way for the next go-admin-core release, which declares
go 1.27.1: a module cannot require a dependency whose language version is
newer than its own. Doing it in its own commit keeps that upgrade to a
one-line dependency bump.

All three modules in the tree move together. test/e2e-apporder requires the
main module, so leaving it behind fails the moment the main module declares a
newer version - "updates to go.mod needed", before a test runs.
example/app-order only requires go-admin-core and would still have resolved,
but it was declaring 1.25.13, two releases back and out of support.

The workflows pin the Go version explicitly instead of reading go.mod, and
the four READMEs state it under environmental requirements, so those move
with it too.

No dependency changes - go mod tidy leaves every go.sum untouched.
2026-09-23 17:25:51 +08:00

17 KiB
Raw Blame History

go-admin

Build Status Release License

English | 简体中文 | 繁體中文 | 日本語

基於 Gin + Vue + Element UI OR Arco Design OR Ant Design 的前後端分離權限管理系統。系統初始化極為簡單,只需在設定檔中修改資料庫連線資訊即可。系統支援多指令操作:遷移指令讓資料庫初始化變得更簡單,服務指令則能輕鬆啟動 API 服務。

線上文件

前端專案

影片教學

🎬 線上體驗

Element Plus vue3 體驗:https://vue.go-admin.pro

⚠️⚠️⚠️ 帳號 / 密碼: admin / 123456

antd 體驗(go-admin-pro):https://antd.go-admin.pro

⚠️⚠️⚠️ 帳號 / 密碼: admin / 123456

✨ 特性

  • 遵循 RESTful API 設計規範

  • 基於 GIN WEB API 框架,提供豐富的中介軟體支援(使用者認證、跨域、存取日誌、追蹤 ID 等)

  • 基於 Casbin 的 RBAC 存取控制模型

  • JWT 認證

  • 支援 Swagger 文件(基於 swaggo)

  • 基於 GORM 的資料庫儲存,可擴充多種類型資料庫

  • 設定檔簡單的模型映射,快速取得所需設定

  • 程式碼產生工具

  • 表單建構工具

  • 多指令模式

  • 多租戶的支援

  • TODO: 單元測試

🎁 內建

  1. 多租戶:系統預設支援多租戶,按資料庫分離,一個資料庫一個租戶。
  2. 使用者管理:使用者是系統操作者,該功能主要完成系統使用者設定。
  3. 部門管理:設定系統組織架構(公司、部門、小組),以樹狀結構呈現並支援資料權限。
  4. 職位管理:設定系統使用者所擔任的職務。
  5. 選單管理:設定系統選單、操作權限、按鈕權限標識、介面權限等。
  6. 角色管理:角色選單權限分配、設定角色按機構進行資料範圍權限劃分。
  7. 字典管理:對系統中經常使用且較為固定的資料進行維護。
  8. 參數管理:對系統動態設定常用參數。
  9. 操作日誌:系統正常操作的日誌記錄與查詢;系統異常資訊的日誌記錄與查詢。
  10. 登入日誌:系統登入日誌記錄查詢,包含登入異常。
  11. 介面文件:根據業務程式碼自動產生相關的 API 介面文件。
  12. 程式碼產生:根據資料表結構產生對應的增刪改查業務,全程視覺化操作,讓基本業務可以零程式碼實現。
  13. 表單建構:自訂頁面樣式,拖拉放實現頁面佈局。
  14. 服務監控:檢視伺服器的基本資訊。
  15. 內容管理:demo 功能,下設分類管理、內容管理,可參考使用以快速入門。
  16. 排程任務:自動化任務,目前支援介面呼叫與函式呼叫。

準備工作

你需要在本機安裝 [go] [gin] node 和 git

同時配套了系列教學(含影片與文件),說明如何從下載到熟練使用。強烈建議先看完這些教學再來實作本專案!!!

輕鬆用 go-admin 寫出第一個應用 - 文件教學

步驟一 - 基礎內容介紹

步驟二 - 實際應用 - 撰寫增刪改查

手把手教你從入門到放棄 - 影片教學

如何啟動 go-admin

使用產生工具輕鬆實現業務

v1.1.0 版本程式碼產生工具 - 釋放雙手 [進階]

多指令啟動方式講解以及 IDE 設定

go-admin 選單的設定說明 [必看]

如何設定選單資訊以及介面資訊 [必看]

go-admin 權限設定使用說明 [必看]

go-admin 資料權限使用說明 [必看]

如有問題請先參閱上述文件與文章,若仍無法解決,歡迎提出 issue 與 pr。影片教學與文件持續更新中

📦 本機開發

環境需求

go 1.27.1

node 版本: v22+(建議 v24 LTS)

套件管理器: pnpm v9+(UI 專案使用 pnpm)

建立開發目錄


# 建立開發目錄
mkdir goadmin
cd goadmin

取得程式碼

重點注意:兩個專案必須放在同一資料夾下;

# 取得後端程式碼
git clone https://github.com/go-admin-team/go-admin.git

# 取得前端程式碼
git clone https://github.com/go-admin-team/go-admin-ui.git

啟動說明

伺服器端啟動說明

# 進入 go-admin 後端專案
cd ./go-admin

# 更新整理相依套件
go mod tidy

# 編譯專案
go build

# 修改設定
# 檔案路徑  go-admin/config/settings.yml
vi ./config/settings.yml

# 1. 在設定檔中修改資料庫資訊
# 注意: settings.database 下對應的設定資料
# 2. 確認 log 路徑

⚠️注意 在 Windows 環境若未安裝 CGO,會出現這個問題;

E:\go-admin>go build
# github.com/mattn/go-sqlite3
cgo: exec /missing-cc: exec: "/missing-cc": file does not exist

or

D:\Code\go-admin>go build
# github.com/mattn/go-sqlite3
cgo: exec gcc: exec: "gcc": executable file not found in %PATH%

解決 cgo 問題請進入

初始化資料庫,以及服務啟動

# 首次設定需要初始化資料庫資源資訊
# macOS or linux 下使用
$ ./go-admin migrate -c config/settings.dev.yml

# ⚠️注意:windows 下使用
$ go-admin.exe migrate -c config/settings.dev.yml


# 啟動專案,也可以用 IDE 進行除錯
# macOS or linux 下使用
$ ./go-admin server -c config/settings.yml


# ⚠️注意:windows 下使用
$ go-admin.exe server -c config/settings.yml

sys_api 表的資料如何新增

在專案啟動時,使用 -a true 系統會自動新增缺少的介面資料

./go-admin server -c config/settings.yml -a true

使用 docker 編譯啟動

# 編譯映像檔
docker build -t go-admin .

# 啟動容器,第一個 go-admin 是容器名稱,第二個 go-admin 是映像檔名稱
# -v 映射設定檔 本機路徑:容器路徑
docker run --name go-admin -p 8000:8000 -v /config/settings.yml:/config/settings.yml -d go-admin-server

文件產生

go generate

交叉編譯

# windows
env GOOS=windows GOARCH=amd64 go build main.go

# or
# linux
env GOOS=linux GOARCH=amd64 go build main.go

UI 互動端啟動說明

# 安裝 pnpm(若未安裝)
npm install -g pnpm

# 安裝相依套件
pnpm install

# 中國大陸網路可指定鏡像來源加速
pnpm install --registry=https://registry.npmmirror.com

# 啟動服務
pnpm dev

📨 互動

wenjianzhang
微信 公众号🔥🔥🔥 go-admin技术交流乙号 哔哩哔哩🔥🔥🔥

💎 貢獻者

JetBrains 開源證書支援

go-admin 專案一直以來都是在 JetBrains 公司旗下的 GoLand 整合開發環境中進行開發,基於 free JetBrains Open Source license(s) 正版免費授權,在此表達我的謝意。

🤝 特別感謝

  1. ant-design
  2. ant-design-pro
  3. arco-design
  4. arco-design-pro
  5. gin
  6. casbin
  7. spf13/viper
  8. gorm
  9. gin-swagger
  10. golang-jwt
  11. vue-element-admin
  12. ruoyi-vue
  13. form-generator

🤟 贊助

如果你覺得這個專案幫助到了你,可以幫作者買一杯果汁表示鼓勵 🍹

🤝 連結

🔑 License

MIT

Copyright (c) 2026 wenjianzhang