跳到主要内容

后端开发

基于 Golang - go-kratos 项目搭建的后端,具备一定的知识有利于开发。

Windows 系统建议使用 WSL 2 进行开发。

开发流程 & 启动流程

  1. 安装 Docker、Golang。
  2. deployments 目录中执行 docker-compose -f docker-compose.yaml -f docker-compose.dependence.yaml -f seaweedfs-docker-compose.yaml up -d 命令,会启动项目。
  3. 通过命令行进入 app/interface 目录,执行 make init 安装一些依赖项。
  4. 通过命令行进入 tools/protoc-gen-go-http,执行 go install 替换原有 go-kratos 的 protoc-http 插件。
  5. api/interface 基于 protobuf 定义所需接口。
  6. app/interface 中编写你的代码,并在此目录中执行 make http 以基于 api 目录中的 proto 文件生成对应的 go 文件。
  7. 通过执行 docker restart jnoj-interface-api 即可让后端的改动生效。

其它说明

  1. 接口鉴权中间件的使用,如何获取用户ID?

需要在接口定义的 proto 文件下建立一个同名的 yaml 文件,可参考已有的文件。执行 make http 时,生成的 http.pb.go 中会加入jwt鉴权。在业务代码中,可通过 jnoj/internal/middleware/auth.GetUserID(ctx) 来获取到携带 jwt 的用户ID。