2024-06-13 01:32:28 +00:00
|
|
|
|
# 使用步骤
|
|
|
|
|
|
2024-06-13 11:40:18 +00:00
|
|
|
|
1. 运行 go run . setup 初始化项目
|
2024-06-15 17:03:10 +00:00
|
|
|
|
2. 按需到到 internal/app, internal/cmd/migrate.go 中初始化 ent 或其他组件
|
|
|
|
|
|
|
|
|
|
# 规范
|
|
|
|
|
|
|
|
|
|
## 初始化规范
|
|
|
|
|
1. 所有需要初始化的组件,都需要单独放在 init.go 中,然后显示初始化。
|
|
|
|
|
2. 禁止在 main.go 中初始化任何组件。
|
|
|
|
|
3. 部分组件对初始化顺序有要求,禁止使用 init() 方法来初始化。
|
|
|
|
|
|
|
|
|
|
## 组件存放
|
|
|
|
|
1. 所有组件都放在 internal/app 目录下,每个组件一个目录。
|
|
|
|
|
2. 组件所需要的文件可以放在 internal 下,比如 gin 需要路由定义。
|
|
|
|
|
|
|
|
|
|
## 业务逻辑
|
2024-06-16 11:24:02 +00:00
|
|
|
|
1. 所有业务逻辑都放在 internal/services 目录下,每个业务一个目录,比如 user 部分就应该单独一个目录。
|
|
|
|
|
2. handlers/controller 每个业务一个目录。
|
|
|
|
|
3. controller 中不应该有业务逻辑,handlers/controller 只负责接收请求,然后调用 services 中的业务逻辑。
|
|
|
|
|
4. handlers/grpc 为 gRPC 的 handler,里面不处理业务逻辑,业务逻辑应在 services 中处理。
|