后台面板

This commit is contained in:
2025-06-09 12:34:52 +08:00
parent 89bade9232
commit 19c82817ba
375 changed files with 20628 additions and 11903 deletions

View File

@@ -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.gogoctl工具生成的基础数据库操作代码(不允许自己修改)
- 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`方法(方法名与接口名对应),这是业务逻辑的核心部分。