type
status
category
date
slug
summary
tags
password
icon
启动一个项目,先要把基础服务启起来,如何再启动业务服务,所以基于本地开发,先把reids,mysql,etcd服务中心启起来,然后启动applet和user微服务。
📝 主旨内容
启动基础服务

启动applet http服务和user 微服务
远程连接wsl上的项目


打开后展示

启动applet

启动user服务

查看api如何调用并使用Postman简单测试一下后端接口
首先创建好http请求测试接口效果:

用户逻辑说明:
- 注册的时候手机验证号需要获得短信验证码
- 使用POST方法先获取验证码
- 然后在使用POST方法进行个人用户的注册
- 注册成功后登录传入手机号和验证码获取token
- 要想获取个体的信息就可以使用get方法附带上token获取响应消息
步骤
发送请求

验证码数据存储在redis上,本地redis-cli连接上redis查看验证码以及当天请求验证码数,因为一个手机号一天请求验证码数目有限制为十次。

回到postman进行后续注册登录

在请求体中填入code字段的值,发送请求,注册成功这时候我们就可以直接带着响应中返回的token来进行个人的一些操作了,比如查看本人的详细信息等等

这里有一点要注意,使用过的验证码code应该不能继续使用于接下来的登录了,要登录必须重新获取code,在登录请求体中给上mobile字段和对应的code字段的值才可以完成登录逻辑。所以在注册完成了实际用户也就登录上去了,这时候我们再次查询reids上的code会发现为空了。

登录逻辑:先请求code然后发送登录请求

获取到token,接下来的操作就和先前类似。
查看本地的user表情况

其中第一行张三记录是建表时插入的
建表并创建model过程
执行sql文件,确定路径上有该sql文件
查看缓存

删除缓存

原理
go-zero自动生成的代码会自动帮我们进行缓存
缓存默认时间7天 go-zero/core/stores/cache/cacheopt.go:6
空缓存默认时间1分钟
代码实现:
go-zero/core/stores/cache/cachenode.go:208
生成的代码
jwt认证
jwt token生成
原理
拦截器
就像地铁安检吧,每一个进地铁的乘客都需要在安检的地方被拦截一下,没有什么异常才会让你过去,继续走下面的流程,下面的流程就是去坐地铁嘛,那对于http请求来说就是可以正常处理业务逻辑了
- 作者:Guxi8086
- 链接:https://Guxi8086.com/article/1-29
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
