gin+vue的前後端分離開源項目

  • 2019 年 10 月 3 日
  • 筆記

 

 

該項目是gin+vue的前後端分離項目,使用gorm訪問MySQL,其中vue前端是使用vue-element-admin框架簡單實現的;

go後台使用jwt,對API接口進行權限控制。此外,Web頁面在token過期後的半個小時內,用戶再次操作會自動刷新token;

項目很小,適合gin新手學習!(後續有時間會補上相關教程)

GitHub地址:https://github.com/Bingjian-Zhu/gin-vue


 

一、運行go後台項目

(1)把項目clone到GOPATH/src目錄下

 

(2)在MySQL中新建blog數據庫,運行文件夾/docs/sql中的mysql.sql腳本

 

(3)在文件夾/conf中修改配置文件api.ini中的數據庫連接配置

 

(4)在gin-vue目錄下運行:go run main.go

目前為止,gin後台項目成功跑起來了

 

(5)可能遇到的問題

  • 如果在GitHub是用下載壓縮包的形式,解壓後請把文件夾gin-vue-master重名為gin-vue,然後再複製到/GOPATH/src目錄下

 

 二、使用Postman測試API接口

(1)登錄,token過期時間設為5分鐘

 

(2)使用token調用API接口

 

 

(3)API權限驗證

當使用admin登錄獲取的token調用/api/v1/table/list接口時,能獲取到數據

改用test用戶登錄獲取的token調用/api/v1/table/list接口時,返回403,沒有權限

 

 

(4)刷新token

當token過期後,可以調用/auth/refresh_token接口重新獲取token,再用獲取到的token去調用接口

當然刷新token也是有有限期的,這裡設置了1個小時

 

 

(5)簡單看下接口運行的時間

 


 

三、運行vue-admin項目

(1)在/gin-vue/vue-admin目錄下運行:npm install

 

(2)運行:npm run dev

瀏覽器自動打開 http://localhost:9528/#/login?redirect=%2Fdashboard,然後就可以像文章開頭的動圖一樣玩了


 

四、總結

初步體驗了gin框架,總體上還是可以的

 

再次附上源碼地址:https://github.com/Bingjian-Zhu/gin-vue

喜歡的請star