天天看點

go-admin開源項目,快速搭建一個管理背景系統,直接二次開發上線

#頭條創作挑戰賽#

目錄

  • 1,關于go-admin
  • 2,使用go-admin進行建構
  • 3,使用go-admin進行資料庫,後端初始化
  • 4,下載下傳前端代碼,進行node編譯
  • 5,總結

1,關于go-admin

github位址:

https://github.com/go-admin-team/go-admin

國内:

https://gitee.com/go-admin-team/go-admin

一個非常不錯的開源項目,完成度非常的高,基礎的權限角色,組織機構都有了。

可以直接開發自己的業務子產品,相關的代碼了,減少了很多基礎功能開發投入,節省了大量時間。非常不錯。

基于Gin + Vue + Element UI OR Arco Design OR Ant Design的前後端分離權限管理系統,系統初始化極度簡單,隻需要配置檔案中,修改資料庫連接配接,系統支援多指令操作,遷移指令可以讓初始化資料庫資訊變得更簡單,服務指令可以很簡單的啟動api服務。

  • 多租戶:系統預設支援多租戶,按庫分離,一個庫一個租戶。
  • 使用者管理:使用者是系統操作者,該功能主要完成系統使用者配置。
  • 部門管理:配置系統組織機構(公司、部門、小組),資料結構展現支援資料權限。
  • 崗位管理:配置系統使用者所屬擔任職務。
  • 菜單管理:配置系統菜單,操作權限,按鈕權限辨別,接口權限等。
  • 角色管理:角色菜單權限配置設定、設定角色按機構進行資料範圍權限劃分。
  • 字典管理:對系統中經常使用的一些較為固定的資料進行維護。
  • 參數管理:對系統動态配置常用參數。
  • 記錄檔:系統正常記錄檔記錄和查詢;系統異常資訊日志記錄和查詢。
  • 登入日志:系統登入日志記錄查詢包含登入異常。
  • 接口文檔:根據業務代碼自動生成相關的api接口文檔。
  • 代碼生成:根據資料表結構生成對應的增删改查相對應業務,全程可視化操作,讓基本業務可以零代碼實作。
  • 表單建構:自定義頁面樣式,拖拉拽實作頁面布局。
  • 服務監控:檢視一些伺服器的基本資訊。
  • 内容管理:demo功能,下設分類管理、内容管理。可以參考使用友善快速入門。
  • 定時任務:自動化任務,目前支援接口調用和函數調用。

2,使用go-admin進行建構

# https://goproxy.io/zh/
# 配置 GOPROXY 環境變量
export GOPROXY=https://proxy.golang.com.cn,direct

# 配置好 golang 代理執行:
# 最近 github 代碼下載下傳總是慢
git clone https://gitee.com/go-admin-team/go-admin.git

# 下載下傳相關依賴
export GO111MODULE=on
go mod tidy

           

3,使用go-admin進行資料庫,後端初始化

資料庫使用 mysql 資料庫,使用docker mysql 進行建構:

mysql:5.7 使用docker 啟動,設定root密碼是mysql

docker run --name mysqldb -v ${PWD}/data/mysqldb/data:/var/lib/mysql --restart=always \
        -e MYSQL_ROOT_PASSWORD=mysql -e MYSQL_DATABASE=go_admin -e TZ=Asia/Shanghai \
        -p 3306:3306 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

# 要是已經有了資料庫,直接建立一個go_admin的資料庫:
CREATE DATABASE IF NOT EXISTS `go_admin` CHARACTER SET utf8 COLLATE utf8_general_ci;

           

然後修改 config/settings.yml 資料庫的配置檔案:

...
    driver: mysql
    # 資料庫連接配接字元串 mysql 預設資訊 charset=utf8&parseTime=True&loc=Local&timeout=1000ms
    source: root:mysql@tcp(127.0.0.1:3306)/go_admin?charset=utf8&parseTime=True&loc=Local&timeout=1000ms
#  databases:

           

進行資料庫初始化:

go run main.go migrate -c config/settings.yml
...
2022-11-21 23:00:32.789+0800 trace /home/test/newDisk1/go/src/go-admin/cmd/migrate/migration/version/1653638869132_migrate.go:44 [0.322ms] [rows:1] INSERT INTO `sys_migration` (`version`,`apply_time`) VALUES ('1653638869132','2022-11-21 23:00:32.79')
資料庫基礎資料初始化成功
2022/11/21 23:00:32 !!! config init

           

項目啟動,端口8000

go run main.go server -c config/settings.yml

           

後端接口swagger 位址:

http://localhost:8000/swagger/admin/index.html#/

go-admin開源項目,快速搭建一個管理背景系統,直接二次開發上線

4,下載下傳前端代碼,進行node編譯

首先要自己折騰個 node 環境,或者使用 node:14 鏡像也可以。

配置 源,加速編譯
# npm 源
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
# yarn 源
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
           
git clone https://gitee.com/go-admin-team/go-admin-ui.git

cd go-admin-ui
yarn install
# 啟動開發環境:
yarn run dev 

端口:
  - Local:   http://localhost:9527/ 

           
go-admin開源項目,快速搭建一個管理背景系統,直接二次開發上線

資料初始化成功之後就可以看到後端管理界面了:

go-admin開源項目,快速搭建一個管理背景系統,直接二次開發上線
go-admin開源項目,快速搭建一個管理背景系統,直接二次開發上線
go-admin開源項目,快速搭建一個管理背景系統,直接二次開發上線
go-admin開源項目,快速搭建一個管理背景系統,直接二次開發上線

4,總結

Element UI vue體驗:https://vue2.go-admin.dev

賬号 / 密碼: admin / 123456

非常強大的golang 管理系統,使用gin進行項目開發,同時完成了基本的權限,角色,日志管理等非常多的功能。還內建了swagger 接口開發。

非常容易使用,源代碼已經開放了,直接可以用來做個内部系統然後再進行二次開發了。

很快就可以釋出上線了,上司非常喜歡。

繼續閱讀