cloudzenith / DouTok

始于字节跳动青训营后端项目抖声 但不止于极简版抖音
GNU General Public License v3.0
87 stars 28 forks source link

shortVideoApiService 验证码、注册、登录功能调通 #33

Closed TremblingV5 closed 3 months ago

TremblingV5 commented 3 months ago

Link to an issue

What

这个PR可能比较杂,修改地方涉及多个项目,原因在于懒得新开其他分支,希望尽量调通

这个PR的内容包括:

gopkgs

  1. 增加consulx
  2. 使用consul替换etcd作为服务发现组件,consul自带ui,且很多api gateway组件对consul的支持更好
  3. 强化errorx,可以注册错误码和错误信息到全局map。通过errorx.New可以定义一个包含code和msg字段的error,并由HttpResponeWrapper增加到返回体中
  4. 增加defaultlogger,随launcher自动启动,可以自定义logger传给launcher
  5. 增加defaultmiddleware,用于增加trace id等字段(暂未整个链路调通)
  6. 增加middleware:HttpResponeWrapper,可以自动为返回体增加code和msg字段,后续开发只需要关注每个接口的具体返回即可。
  7. launcher:做了一些增强,替换使用consulx自动注册服务到consul,项目开发过程不需关注;自定义配置文件类型等。在这个PR中,launcher已经在baseService和shortVideoApiService中应用,并能提供预期的http/grpc服务

baseService

  1. 接入launcher
  2. 使用gopkgs/components加载mysql redis等组件
  3. fix:验证码存储Redis时间不正确

shortVideoApiService

  1. 接入launcher
  2. 链路调通:获取验证码、注册account,登录account

部署

  1. docker环境中增加consul
  2. 使用docker启动baseService和shortVideoApiService(需手动build,目录下存在Dockerfile和Makefile)

TODO

shortVideoApiService

增加/调通接口:

shortVideoCoreService

增加接口:

How

Screenshots

How to test

Checklist