gin-vue-admin 基於vue和gin 搭建的後臺管理系統腳手架


gin-vue-admin 基於vue和gin 搭建的後臺管理系統腳手架


項目地址:https://github.com/piexlmax/gin-vue-admin

gin-vue-admin gin+vue開源快速項目模板

<code>更新代碼後如果遇到前端報錯請執行 npm i 前端開發會不定期增加新的依賴 請注意更新/<code>

重構記錄

<code>2019年12月12日 17:15 第一次重構完成 主要更新後臺數據庫結構 引入casbin進行鑑權 後臺代碼結構整理 前端頁面結構變更
注意!!!
在此時間之前拉取項目的朋友,pull代碼後必須重新導入數據庫數據,之前數據庫結構不可使用/<code>

本模板使用前端ui框架為 element-ui https://element.eleme.cn/#/zh-CN 前端組件可查看elementUi文檔使用

寫在前面

<code>本項目主要是小弟在接各種私活的時候發現頻繁得書寫CURD、權限管理、用戶管理、列表、分頁、上傳下載、日誌包封裝、文檔自動化等等功能
為了方方便各位個人開發者快速搭建項目基礎模型,於是開發本模板,也為了以後自己可以省下一些初期開發的功夫

本身是前端出身,所以對於後端的項目目錄或者架構可能偏向前端思維,如果有什麼地方需要改動感謝大家iss
強烈希望在各位的幫助下,此項目可以用於企業級項目的開發
/<code>

一點建議

<code>各位在clone項目以後,把db文件導入自己創建的庫後,最好前往七牛雲申請自己的空間地址,
替換掉項目中的七牛雲公鑰,私鑰,倉名和默認url地址,以免發生測試文件數據錯亂
/<code>

測試環境地址

<code>開源不易,請勿隨意攻擊,建議按照視頻教學,本地搭建環境。
http://qmplus.henrongyi.top/
登陸以後為最高權限,動api權限或者菜單權限均有可能導致數據錯亂,系統無法使用。請自己創建賬號並設置自己角色後進行測試。
為防止惡意操作 會定期恢復數據庫 如發現系統無法使用 請聯繫開發者
目前驗證碼功能測試環境由於nginx問題導致圖片404 暫時無法完美體驗 請在本地搭建環境體驗此功能
/<code>

環境搭建教學視頻

騰訊視頻:https://v.qq.com/x/page/e3008... (等待最新視頻錄製)

模板使用教學及展示視頻

騰訊視頻:https://v.qq.com/x/page/c3008... (等待最新視頻錄製)

技術選型

<code>1.後端採用golang框架gin,快速搭建基礎restful風格API
2.前端項目採用VUE框架,構建基礎頁面
3.數據庫採用Mysql(5.6.44)版本不同可能會導致SQL導入失敗
4.使用redis實現記錄當前活躍用戶的jwt令牌並實現多點登錄限制
5.使用swagger構建自動化文檔
6.使用fsnotify和viper實現json格式配置文件
7.使用logrus實現日誌記錄
8.使用gorm實現對數據庫的基本操作
/<code>

項目說明

<code>golang項目存放於QMPlusServer文件夾下,
QMPlusServer內部static/config存放mysql相關配置。可以根據自己的mysql數據庫名 用戶名 密碼修改對應配置
vue項目存放於QMPlusVuePage文件夾下
開源不易,感謝各位支持,錯誤指出即刻改正,改寫糾錯,感謝star支持/<code>

TODO

<code>1.基本用戶註冊登錄 √
2.用戶等基礎數據CURD √
3.調用des實現數據加密 √
4.實現基於jwt的權限管理 √
5.實現基於七牛雲的文件上傳操作(需提前註冊七牛雲賬號) √(為了方便大家測試,我公開了自己的七牛測試號的各種重要token,懇請大家不要亂傳東西)
6.等裝了分頁方法,實現分頁接口並且複製粘貼就可使用分頁 √
7.前端分頁mixin封裝 分頁方法調用mixins即可 √
8.圖片上傳前端下載功能 √
9.富文本編輯器,MarkDown編輯器功能嵌入 √
10.增加條件搜索示例 前端文件參考src\\view\\superAdmin\\api\\api.vue 後臺文件參考 model\\dnModel\\api.go √
11.增加了多點登錄限制 體驗需要再 static\\config中 把 system中的useMultipoint 修改為 true(需要自行配置redis和config中的redis參數)(測試階段,有bug請及時反饋)√
12.增加了配置文件管理功能 √
13.大文件分片上傳功能示例 √
14.日誌工具封裝 √
15.數據庫詳細日誌功能啟用 √
16...看項目進度想到什麼做什麼,主要目的是方便各位快速接私活,完成項目基礎功能~~~~~~~~
17.各位開發者可以在issues提出自己工作中遇到的重複性大或者實現複雜的需求,我儘可能提供示例代碼。/<code>

計劃任務

<code>1.導入,導出Excel
2.Echart圖表支持
3.object模式樹
4.工作流,任務交接功能開發
5.結構體前端直接錄入生成對應結構體及自動建表
6.單獨前端使用模式以及數據模擬
7.前端定製化生成form,table代碼以及對應的後端結構體/<code>

使用說明

<code>1.golang api server 基於go.mod 如果golang版本低於1.11 請自行升級golang版本
2.支持go.mod的golang版本在運行go list 和 編譯之前都會自動下載所需要的依賴包
3.go server建議使用goland運行 減少出錯可能性
4.前端項目node建議高於V8.6.0
5.到前端項目目錄下運行 npm i 安裝所需依賴
6.依賴安裝完成直接運行 npm run serve即可啟動項目
7.如果要使用swagger自動化文檔 首先需要安裝 swagger/<code>
<code>go get -u github.com/swaggo/swag/cmd/swag/<code>

由於國內沒法安裝到X包下面的東西 如果可以翻牆 上面的命令就可以讓你安心使用swagger瞭如果沒有翻牆的辦法那就先裝一下 gopm

<code>go get -v -u github.com/gpmgo/gopm/<code> 

此時你就可以使用 gopm了這時候執行

<code>gopm get -g -v github.com/swaggo/swag/cmd/swag/<code>

等待安裝完成以後到我們GOPATH下面的/src/github.com/swaggo/swag/cmd/swag路徑執行

<code>go install/<code>

安裝完成過後在項目目錄下運行

<code>swag init/<code>

項目文件夾下面會有 doc文件夾出現這時候登錄 localhost:8888/swagger/index.html就可以看到 swagger文檔啦

團隊博客

<code>https://blog.henrongyi.top,內有前端框架教學視頻,GOLANG基礎入門視頻正在籌備中。
如果覺得項目對您有所幫助可以添加我的個人微信:shouzi_1994,歡迎您提出寶貴的需求。/<code>

docker鏡像

感謝 @chenlinzhong提供docker鏡像

<code>  #啟動容器
docker run -itd --net=host --name=go_container shareclz/go_node /bin/bash;

#進入容器
docker exec -it go_container /bin/bash;
git clone https://github.com/piexlmax/gin-vue-admin.git /data1/www/htdocs/go/admin;

#啟動前端
cd /data1/www/htdocs/go/admin/QMPlusVuePage;
cnpm i ;
npm run serve;


#修改數據庫配置
vi /data1/www/htdocs/go/admin/QMPlusServer/static/dbconfig/config.json;

#啟動後端
cd /data1/www/htdocs/go/admin/QMPlusServer;
go run main.go;
/<code>

最後

<code>正在研發前端獨立版本分支...可以不依賴go服務進行使用的後臺模板
感謝krank666協同開發
可使用的初始mysql腳本正在製作中.../<code>

更新日誌

日期日誌2020/01/07角色增加數據資源功能 增加數據資源關聯返回 演示環境代碼已同步 開啟了多點登錄攔截 可能會被其他人擠掉

2020/01/13增加了配置管理功能 此功能不發表至測試環境 待保護機制以及服務重啟機制發開完成後才會發表值測試環境 請自行clone且導入sql體驗

2020/02/21修改了casbin的自定義鑑權方法,使其完全支持RESTFUL的/:params以及?query= 的接口模式

2020/03/17增加了驗證碼功能 使用了 @dchest/captcha庫


分享到:


相關文章: