后台面板
This commit is contained in:
22
.cursorrules
22
.cursorrules
@@ -53,7 +53,7 @@ qnc-server/ # 项目根目录
|
||||
```
|
||||
|
||||
目录作用说明:
|
||||
1. app/user/cmd/api/:API服务目录
|
||||
1. app/main/api/:API服务目录
|
||||
- desc/:API接口定义,包含各模块的API文件
|
||||
- main.api:主API文件,导入所有模块API并定义路由
|
||||
- user/user.api:用户模块的请求响应参数定义
|
||||
@@ -69,7 +69,7 @@ qnc-server/ # 项目根目录
|
||||
- svc/:服务上下文,管理服务依赖(如DB、Cache等)
|
||||
- types/:请求响应的结构体定义,由goctl根据API文件生成(不允许自己修改)
|
||||
|
||||
2. app/user/model/:数据库模型层
|
||||
2. app/main/model/:数据库模型层
|
||||
- userModel.go:用户表模型定义及CRUD方法
|
||||
- userModel_gen.go:goctl工具生成的基础数据库操作代码(不允许自己修改)
|
||||
- vars.go:定义数据库相关变量和常量
|
||||
@@ -103,12 +103,12 @@ qnc-server/ # 项目根目录
|
||||
使用goctl生成API服务的步骤:
|
||||
1. 首先确保API定义目录存在:
|
||||
```bash
|
||||
mkdir -p app/user/cmd/api/desc/user
|
||||
mkdir -p app/main/api/desc/user
|
||||
```
|
||||
|
||||
2. API文件组织结构(单体服务模式):
|
||||
```
|
||||
app/user/cmd/api/desc/
|
||||
app/main/api/desc/
|
||||
├── user/
|
||||
│ └── user.api # 用户模块的请求响应参数定义
|
||||
├── order/
|
||||
@@ -116,7 +116,7 @@ qnc-server/ # 项目根目录
|
||||
└── main.api # 主API文件,集中管理所有模块的API定义
|
||||
```
|
||||
|
||||
3. 在app/user/cmd/api/desc/main.api中集中管理所有API:
|
||||
3. 在app/main/api/desc/main.api中集中管理所有API:
|
||||
```
|
||||
syntax = "v1"
|
||||
|
||||
@@ -143,7 +143,7 @@ qnc-server/ # 项目根目录
|
||||
}
|
||||
```
|
||||
|
||||
4. 各模块在下一层定义类型,例如在app/user/cmd/api/desc/user/user.api中只定义用户模块的接口的类型:
|
||||
4. 各模块在下一层定义类型,例如在app/main/api/desc/user/user.api中只定义用户模块的接口的类型:
|
||||
```
|
||||
type (
|
||||
LoginReq {
|
||||
@@ -160,13 +160,13 @@ qnc-server/ # 项目根目录
|
||||
|
||||
5. 使用goctl生成API代码(始终使用main.api):
|
||||
```bash
|
||||
goctl api go -api app/user/cmd/api/desc/main.api -dir app/user/cmd/api --home ./deploy/template
|
||||
goctl api go -api app/main/api/desc/main.api -dir app/main/api --home ./deploy/template
|
||||
```
|
||||
|
||||
注意:无论修改哪个模块的API文件,都需要执行main.api来生成代码,因为这是单体服务模式。
|
||||
6. goctl生成的文件和目录结构:
|
||||
```
|
||||
app/user/cmd/api/
|
||||
app/main/api/
|
||||
├── desc/ # API接口定义目录(已存在)
|
||||
├── etc/ # 配置文件目录
|
||||
│ └── main.yaml # 服务配置文件
|
||||
@@ -189,9 +189,9 @@ qnc-server/ # 项目根目录
|
||||
```
|
||||
|
||||
7. 生成代码后,才能够实现具体的业务逻辑,例如:
|
||||
- user.api中的`mobileLogin`接口生成的逻辑文件在`app/user/cmd/api/internal/logic/user/mobile_login_logic.go`
|
||||
- user.api中的`wxMiniAuth`接口生成的逻辑文件在`app/user/cmd/api/internal/logic/user/wx_mini_auth_logic.go`
|
||||
- query.api中的`queryService`接口生成的逻辑文件在`app/user/cmd/api/internal/logic/query/query_service_logic.go`
|
||||
- user.api中的`mobileLogin`接口生成的逻辑文件在`app/main/api/internal/logic/user/mobile_login_logic.go`
|
||||
- user.api中的`wxMiniAuth`接口生成的逻辑文件在`app/main/api/internal/logic/user/wx_mini_auth_logic.go`
|
||||
- query.api中的`queryService`接口生成的逻辑文件在`app/main/api/internal/logic/query/query_service_logic.go`
|
||||
|
||||
生成的逻辑文件中需要实现`Logic`结构体的`XXX`方法(方法名与接口名对应),这是业务逻辑的核心部分。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user