开发 api 流程

  1. 在 api/desc 目录定义 api 描述文件。 因为我们是单体服务,所以统一需要统一服务名称。
// 执行
goctl api go --api api/desc/platform.api --dir . --style go_zero

--style go_zero 表示文件风格,请保持统一,不然文件会重新生成。

  1. 在生成的 Logic 文件中实现逻辑,如下图示例:

alt text

  1. 如果 Logic 代码存在复用的,可以抽离到 biz 目录下,如下图示例:

alt text

  1. 如果新增表,创建表之后一键生成 model 文件。
// 指定 internal/model 目录
goctl model pg datasource --url="postgres://username:root@host:5432/postgres?sslmode=disable" --table="tb_user_core" --dir  internal/model

生成的 model 如下示例:

alt text

生成完成后,需要统一在 internal/svc/service_context.go 文件中进行实例化,并管理相关依赖。

alt text

  1. 编写代码逻辑。

  2. 服务运行。

go run platform.go run

  1. 执行一次性任务或者定时任务

自行增加任务,类似这样: alt text

go run platform.go task

如果是定时任务,需要服务器上增加 cron 命令