后台项目 Express-Mysql-Vue3-TS-Pinia 后端登陆注册 补充

163 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第27天,点击查看活动详情

后端登陆注册补充

引言

通过之前一段时间 ExpressMysql 的学习

这里尝试来搭建一个 后台系统 来巩固下学习的技术。

后端登陆注册

上一节,我们在后端的数据库中 新增了 一张 用户的 详细信息表

由于之前的 登录注册 的逻辑 没有与我们的用户 详细信息表 进行逻辑关联,导致看起来过于简单

所以这一节,我们对 登录注册 逻辑,进行丰富 和 补充

注册

首先是 注册 方面

步骤如下:

  • 我们在 注册 用户时,后端进行校验,校验完毕后,进行 新增 用户操作

  • 新增 用户完毕后,就可以在我们的 详细信息表 也进行一次新增操作,并且进行 用户 id外键关联

    • 需要获取到 新增用户的 id 字段

用户的 详细信息表,新增的 sql 如下

const addUserInfo = `insert into userinfo(name,email,avatar_id,userid,roleArrId) values(?,?,?,?,?)`

image.png

登录

注册 的逻辑,我们理清楚 并且 补充完毕之后

接下来就着手 处理 来补充 登录 的逻辑

  • 在登录界面,输入 用户名密码,后端进行一个校验操作

  • 校验完毕后,后端生成 token 信息,来进行响应返回

  • 但是还没结束,我们此时还要返回一条 user 字段,代表着 用户的详细信息 的一个数据

    • 需要根据 获得登录时的 username 字段,即用户名 字段,来进行查找

用户的 详细信息表,查找的 sql 如下:

  • 需要查找几个关键的信息 idcreate_timeusernamenameemailavatar_idroleArrId

  • 即 用户id,用户创建时间,用户名,昵称,邮箱,头像id,角色id列表

const selectOneUserInfo = `select user.id,user.create_time,user.username,userinfo.name,userinfo.email,userinfo.avatar_id,userinfo.roleArrId from user join userinfo on user.id = userinfo.userid where user.username = ?;`

image.png

总结

通过 Express-Mysql-Vue3-TS-Pinia 做出一个 后台系统 项目

完成了 后端 Express 的 登录和注册 的一个逻辑补充操作