gin+vue的前后端分离开源项目

weixin_38049686 2019-09-20 10:56:17
原文地址:https://www.cnblogs.com/FireworksEasyCool/p/11385271.html

该项目是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接口
[1.gif](https://static.studygolang.com/190821/b9038f2868177d514c56b367c2098ceb.gif)

(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
...全文
309 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
星际漫游者E 2020-03-13
  • 打赏
  • 举报
回复
您这个是elementUI-admin和Gin的组装体啊
weixin_38058939 2019-09-20
  • 打赏
  • 举报
回复
不错不错,比较适合入门了解
weixin_38060006 2019-09-20
  • 打赏
  • 举报
回复
不错。
在当今数字化时代,电商平台已成为人们购物的主要渠道之一。母婴用品作为电商领域的重要品类,对平台的安全性、稳定性和用户体验提出了更高要求。本文将深入探讨如何利用Golang、Gin、Gorm和Vue3等技术栈,构建一个功能完善、性能优异的母婴商城系统。 项目架构设计 一个完整的母婴商城系统需要从前端用户界面到后端数据处理的全方位考量。我们采用前后端分离的架构模式,后端使用Golang及其生态组件构建RESTful API,前端使用Vue3构建响应式单页面应用。 后端架构基于Golang的Gin框架,这是一个高性能的HTTP Web框架,具有快速路由和中间件支持的特点。数据持久层使用Gorm,这是一个功能丰富的ORM库,能够简化数据库操作。前端选择Vue3及其组合式API,配合Pinia状态管理和Vite构建工具,打造现代化用户界面。 数据库设计方面,我们采用关系型数据库MySQL,设计了用户、商品、订单、购物车等核心数据表。考虑到母婴商品的特殊性,我们特别注重商品分类的细致性和属性的完整性,以满足用户精准查找的需求。 后端核心模块实现 用户模块是系统的基石。我们设计了完整的注册、登录、权限验证流程。使用JWT(JSON Web Token)实现无状态认证,通过Gin的中间件机制对需要保护的路由进行拦截验证。密码采用bcrypt加密存储,确保用户数据安全。

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧