用户注册
用户注册
I.请求与响应过程
flowchart LR
subgraph B [后端]
U[FastAPI服务]
end
subgraph A [用户界面]
direction LR
F1[用户注册]
end
A -- ① 请求分类<br> /api/user/register --> B
B -- ② 返回响应 <br> {'code': 200,'message': 'success','token':用户令牌','data': [{'id': 1,'username': 用户名}]} --> A

II. 数据校验模型
在进行用户注册时,前端会传递用户注册信息,为了保证用户数据的准确性,需要对应传递的数据进行校验
在schemas目录下创建一个users.py文件

III. 路由定义
在routers目录下创建一个users.py文件,编写路由解析代码
注意: 注册时保存数据,需要使用post

在main.py文件中进行路由注册

重启FastAPI服务,运行测试,检查定义的路由接口是否能够处理前端发送的请求
post请求可以借助http工具

IV. 定义模型类
定义对应的模型类,方便对应数据库中的数据进行ORM操作
在models目录下创建users.py文件,编写模型类
UserToken表的作用时记录用户的状态信息,相当于用户的身份标识。
如果用户登录或注册成功,则给用户生成一个身份标识(token),然后token会返回给前端,前端会存储该token值
当用户
我的页面中进行收藏,浏览历史操作时,前端会携带token,后端会对token信息进行验证,确认用户身份。
如果token失效则需要用户重新登录。
如果token错误也会让用户重新登录。
- 如果没有携带token也需要用户重新登录。
V. 编写ORM数据操作
在curd目录下创建users.py文件,将用户模块的数据操作按照对应的逻辑编写代码
主要实现以下功能:
- 密码混淆处理,避免铭文保存密码
- 根据用户查询用户是否存在
- 创建用户
- 创建token
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | |
VI. 路由中实现数据操作
回到对应的路由中,调用刚才编写好的数据处理函数。
重启FastAPI服务,测试数据是否正常返回

启动前端服务检查数据是否正常加载,注册成功后会自动跳转首页

