携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第27天,点击查看活动详情
后端登陆注册补充
引言
通过之前一段时间 Express 和 Mysql 的学习
这里尝试来搭建一个 后台系统 来巩固下学习的技术。
后端登陆注册
上一节,我们在后端的数据库中 新增了 一张 用户的 详细信息表
由于之前的 登录注册 的逻辑 没有与我们的用户 详细信息表 进行逻辑关联,导致看起来过于简单
所以这一节,我们对 登录注册 逻辑,进行丰富 和 补充
注册
首先是 注册 方面
步骤如下:
-
我们在 注册 用户时,后端进行校验,校验完毕后,进行 新增 用户操作
-
新增 用户完毕后,就可以在我们的 详细信息表 也进行一次新增操作,并且进行 用户
id的 外键关联- 需要获取到 新增用户的
id字段
- 需要获取到 新增用户的
用户的 详细信息表,新增的 sql 如下
const addUserInfo = `insert into userinfo(name,email,avatar_id,userid,roleArrId) values(?,?,?,?,?)`
登录
注册 的逻辑,我们理清楚 并且 补充完毕之后
接下来就着手 处理 来补充 登录 的逻辑
-
在登录界面,输入 用户名 和 密码,后端进行一个校验操作
-
校验完毕后,后端生成 token 信息,来进行响应返回
-
但是还没结束,我们此时还要返回一条
user字段,代表着 用户的详细信息 的一个数据- 需要根据 获得登录时的
username字段,即用户名 字段,来进行查找
- 需要根据 获得登录时的
用户的 详细信息表,查找的 sql 如下:
-
需要查找几个关键的信息
id、create_time、username、name、email、avatar_id、roleArrId -
即 用户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 = ?;`
总结
通过 Express-Mysql-Vue3-TS-Pinia 做出一个 后台系统 项目
完成了 后端 Express 的 登录和注册 的一个逻辑补充操作