From 7398effbc1f3eb0a42b45143c642d0b3441be2d0 Mon Sep 17 00:00:00 2001 From: zk Date: Wed, 11 Mar 2026 19:22:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=93=87=E4=B8=89=E5=8F=B7=E9=82=A3=E4=B8=AA?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 项目结构说明.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/项目结构说明.md b/项目结构说明.md index b235cab..8ca605f 100644 --- a/项目结构说明.md +++ b/项目结构说明.md @@ -6,11 +6,21 @@ offerpie/back-end │ ├─ pom.xml # 父 Maven 项目,统一管理依赖、插件、属性 │ -├─ client‑api/ # **C 端**(面向用户)API 服务,包含业务控制器(如 LoginController)、DTO/VO(如 LoginVo、SmsLoginDto)以及服务器实现(LoginServer 等) +├─ client‑api/ # **C 端**(面向用户)API 服务 │ ├─ pom.xml │ └─ src/main/java │ └─ org.jiayunet -│ └─ ClientApplication.java # Spring Boot 主入口 +│ ├─ ClientApplication.java # Spring Boot 主入口 +│ ├─ controller/ +│ │ └─ LoginController.java # 登录相关接口(发送验证码、短信登录) +│ ├─ server/ +│ │ ├─ LoginServer.java # 登录业务逻辑(验证码校验、自动注册、JWT生成、Cookie设置) +│ │ └─ WxPayNotifyMessageAbstractImpl.java # 微信支付回调实现 +│ └─ pojo/ +│ ├─ dto/ +│ │ └─ SmsLoginDto.java # 短信登录入参(mobileNumber + code) +│ └─ vo/ +│ └─ LoginVo.java # 登录返回(userId + nick) │ ├─ common/ # **共享层**:被 C 端和 B 端共同使用的代码库 │ ├─ pom.xml @@ -42,7 +52,7 @@ offerpie/back-end ## 2️⃣ 各层模块职责 | 层级 | 主要职责 | 关键类/包 | |------|----------|-----------| -| **client‑api** | - 面向终端用户的 REST API
- 启动 Spring Boot 应用 | `ClientApplication`、`controller/*`、`application.yml` | +| **client‑api** | - 面向终端用户的 REST API
- 启动 Spring Boot 应用
- 短信验证码登录(含自动注册) | `ClientApplication`、`LoginController`、`LoginServer`、`SmsLoginDto`、`LoginVo`、`application.yml` | | **common** | - **统一配置**:OSS、Redis、Security、WxPay、Sms 等
- **跨层工具**:HTTP、IP、认证、验证码、Redis Server 等
- **全局拦截/切面**:日志、TraceId、黑名单、SQL 打印
- **统一异常/响应**:`GlobalExceptionAdvice`、`UnifiedResponse`
- **业务抽象**:邮件发送、微信支付(Native/JS/Transfer)
- **公共 POJO**:登录令牌、防重放信息等 | `config/`, `tool/`, `interceptor/`, `aop/`, `exception/`, `email/`, `wxPay/`, `pojo/` | | **manager** | - **业务实体**(`User`、`OssFile` 等)
- **MyBatis Mapper**(`UserMapper`、`OssFileMapper`)
- **业务 API**:文件上传/下载、健康检查等
- **业务逻辑**:服务层、工具类等
- **既供 B 端 UI(待实现)使用,也供 C 端 业务直接调用** | `controller/`, `mapper/`, `pojo/po/`, `pojo/vo/` | @@ -52,6 +62,8 @@ offerpie/back-end | `User` | `manager/src/main/java/.../pojo/po/User.java` | 记录用户基础信息(手机号、邮箱、密码、昵称、微信绑定等),配合 `UserMapper` 完成持久化。 | | `OssFile` | `manager/src/main/java/.../pojo/po/OssFile.java` | 描述 OSS(对象存储)中文件的元数据(路径、大小、标签等),通过 `OssFileMapper` 进行增删改查。 | | `OssUrlVo` | `manager/src/main/java/.../pojo/vo/OssUrlVo.java` | 对外返回的 OSS 访问 URL 结构体,供前端直接使用。 | +| `LoginVo` | `client-api/src/main/java/.../pojo/vo/LoginVo.java` | 登录成功后返回的用户信息(userId、nick)。 | +| `SmsLoginDto` | `client-api/src/main/java/.../pojo/dto/SmsLoginDto.java` | 短信验证码登录的请求参数(mobileNumber、code)。 | > 这些实体位于 **manager**,因为它们属于业务模型,`manager` 负责提供完整的业务实现;同时它们可以被 **C 端**(如 `client‑api`)直接调用,体现了 B 端 + C 端共享的设计初衷。 ## 4️⃣ 共享技术栈(位于 `common`)