该项目是gin+vue的先后端分离项目,使用gorm访问MySQL,其中vue前端是使用vue-element-admin框架简单实现的;前端
go后台使用jwt,对API接口进行权限控制。此外,Web页面在token过时后的半个小时内,用户再次操做会自动刷新token;vue
项目很小,适合gin新手学习!(后续有时间会补上相关教程)mysql
GitHub地址:https://github.com/Bingjian-Zhu/gin-vuegit
(1)把项目clone到GOPATH/src目录下github
(2)在MySQL中新建blog数据库,运行文件夹/docs/sql中的mysql.sql脚本sql
(3)在文件夹/conf中修改配置文件api.ini中的数据库链接配置数据库
(4)在gin-vue目录下运行:go run main.go
npm
目前为止,gin后台项目成功跑起来了后端
(5)可能遇到的问题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)简单看下接口运行的时间
(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