#頭條創作挑戰賽#
目錄
- 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#/
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/
資料初始化成功之後就可以看到後端管理界面了:
4,總結
Element UI vue體驗:https://vue2.go-admin.dev
賬号 / 密碼: admin / 123456
非常強大的golang 管理系統,使用gin進行項目開發,同時完成了基本的權限,角色,日志管理等非常多的功能。還內建了swagger 接口開發。
非常容易使用,源代碼已經開放了,直接可以用來做個内部系統然後再進行二次開發了。
很快就可以釋出上線了,上司非常喜歡。