Home avatar

ISLAND

Gin(八):cookie的使用

上一章节我们留下了一个小尾巴,那就是权限校验中间件并没有进行完善,那么今天就对它进行完善。

接上回,如何来判断用户是否登录呢? cookie 就是一个很好的凭证,cookie 会保留到浏览器上,每次访问请求的时候就会携带上,后端通过对 cookie 的识别,来判断用户是否登录。

Gin(七):中间件的使用和定义

中间件 middleware 在 golang 中是一个很重要的概念,与 java 中拦截器很相似。通过 gin 源代码来看看中间件代码使用。

🎮中间件使用

我们还是回到了 initRouter 中 SetupRouter 这个方法。

router := gin.Default()

我们的项目是从这一行代码开始的,所以我们看看这一行代码做了些什么。打开 Default 源码,

Gin(六):文件上传

之前使用了数据库做了简单的增加和查询功能,今天再次使用数据库完成一些其他功能,比如说头像的上传和显示。

📷新增用户头像

当用户登录完成后,页面右上角会显示当前用户的用户 email 。下面我们做点击 email 进入用户详情页,并可以修改信息。

Gin(五):连接MySQL

之前我们完成了注册,接下来要完成登录功能,但是有个问题,我们的数据没有持久化,无法得知有哪些用户注册了,这样就无法在登录时进行校验。

所以接下来我们要将数据持久化,也就是存储到数据库中,这里使用 MySQL

Gin(四):表单提交校验和模型绑定

上一个章节中已经开始逐渐搭建了一个 web 页面,现在我们开始逐步完善页面上的功能,首先要完成的是登录和注册功能。

🎯接受表单数据

注册页面的 HTML 元素不在详细写出,具体页面代码可以直接参考Github 上代码。

Gin(三):模板tmpl

前面的学习已经对 Gin 有了一个初步的认识和了解,对 router 的简单使用也有了一定的掌握,那么今天就来使用 Gin 来渲染出我们的 html 页面吧。

📑添加模板

我们仍旧是在上一章节的项目中进行修改。

首先新建一个 templates 文件夹,用于存放我们的模板文件,在文件夹中新建立 index.tmpl。并且编写我们的模板。