|
@@ -0,0 +1,168 @@
|
|
|
|
|
+# 项目结构规范
|
|
|
|
|
+
|
|
|
|
|
+## 概述
|
|
|
|
|
+
|
|
|
|
|
+本项目采用Maven作为构建工具,遵循标准的Maven目录结构。项目基于Spring Boot框架开发,使用Java 17作为开发语言。项目包名为`work.baiyun.chronicdiseaseapp`。
|
|
|
|
|
+
|
|
|
|
|
+## 根目录结构
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+ChronicDiseaseApp/
|
|
|
|
|
+├── pom.xml # Maven项目配置文件
|
|
|
|
|
+├── src/ # 源代码目录
|
|
|
|
|
+│ ├── main/ # 主源代码
|
|
|
|
|
+│ │ ├── java/ # Java源代码
|
|
|
|
|
+│ │ │ └── work/baiyun/chronicdiseaseapp/ # 主包
|
|
|
|
|
+│ │ │ ├── SpringAPP.java # Spring Boot主启动类
|
|
|
|
|
+│ │ │ ├── common/ # 通用类
|
|
|
|
|
+│ │ │ │ ├── Page.java # 分页类
|
|
|
|
|
+│ │ │ │ └── R.java # 统一响应类
|
|
|
|
|
+│ │ │ ├── config/ # 配置类
|
|
|
|
|
+│ │ │ │ ├── AuthInterceptor.java # 认证拦截器
|
|
|
|
|
+│ │ │ │ ├── CorsConfig.java # CORS配置
|
|
|
|
|
+│ │ │ │ ├── Knife4jConfig.java # Knife4j配置
|
|
|
|
|
+│ │ │ │ ├── MybatisPlusConfig.java # MyBatis-Plus配置
|
|
|
|
|
+│ │ │ │ ├── RestTemplateConfig.java # RestTemplate配置
|
|
|
|
|
+│ │ │ │ ├── WebMvcConfig.java # Web MVC配置
|
|
|
|
|
+│ │ │ │ └── WeChatProperties.java # 微信配置属性
|
|
|
|
|
+│ │ │ ├── controller/ # 控制器层
|
|
|
|
|
+│ │ │ │ ├── GeoController.java # 地理位置控制器
|
|
|
|
|
+│ │ │ │ └── WeChatController.java # 微信控制器
|
|
|
|
|
+│ │ │ ├── enums/ # 枚举类
|
|
|
|
|
+│ │ │ │ ├── ExceptionResultCode.java # 异常结果码枚举
|
|
|
|
|
+│ │ │ │ ├── FailResultCode.java # 失败结果码枚举
|
|
|
|
|
+│ │ │ │ ├── Gender.java # 性别枚举
|
|
|
|
|
+│ │ │ │ ├── PermissionGroup.java # 权限组枚举
|
|
|
|
|
+│ │ │ │ └── SuccessResultCode.java # 成功结果码枚举
|
|
|
|
|
+│ │ │ ├── exception/ # 异常处理
|
|
|
|
|
+│ │ │ │ ├── CustomException.java # 自定义异常
|
|
|
|
|
+│ │ │ │ └── CustomExceptionHandler.java # 异常处理器
|
|
|
|
|
+│ │ │ ├── handler/ # 处理器
|
|
|
|
|
+│ │ │ │ ├── CustomMetaObjectHandler.java # MyBatis元对象处理器
|
|
|
|
|
+│ │ │ │ ├── GenderTypeHandler.java # 性别类型处理器
|
|
|
|
|
+│ │ │ │ └── PermissionGroupTypeHandler.java # 权限组类型处理器
|
|
|
|
|
+│ │ │ ├── mapper/ # 数据访问层
|
|
|
|
|
+│ │ │ │ ├── SysUserMapper.java # 系统用户Mapper
|
|
|
|
|
+│ │ │ │ ├── UserInfoMapper.java # 用户信息Mapper
|
|
|
|
|
+│ │ │ │ └── UserTokenMapper.java # 用户令牌Mapper
|
|
|
|
|
+│ │ │ ├── model/ # 数据模型
|
|
|
|
|
+│ │ │ │ ├── bo/ # 业务对象
|
|
|
|
|
+│ │ │ │ ├── po/ # 持久化对象
|
|
|
|
|
+│ │ │ │ │ ├── BaseEntity.java # 基础实体
|
|
|
|
|
+│ │ │ │ │ ├── UserInfo.java # 用户信息实体
|
|
|
|
|
+│ │ │ │ │ └── UserToken.java # 用户令牌实体
|
|
|
|
|
+│ │ │ │ └── vo/ # 视图对象
|
|
|
|
|
+│ │ │ │ ├── GetOpenidRequest.java # 获取OpenID请求
|
|
|
|
|
+│ │ │ │ ├── QueryUserRequest.java # 查询用户请求
|
|
|
|
|
+│ │ │ │ ├── QueryUserResponse.java # 查询用户响应
|
|
|
|
|
+│ │ │ │ └── UpdateUserInfoRequest.java # 更新用户信息请求
|
|
|
|
|
+│ │ │ ├── service/ # 服务层
|
|
|
|
|
+│ │ │ │ ├── TokenService.java # 令牌服务接口
|
|
|
|
|
+│ │ │ │ ├── UserService.java # 用户服务接口
|
|
|
|
|
+│ │ │ │ ├── WeChatService.java # 微信服务接口
|
|
|
|
|
+│ │ │ │ └── impl/ # 服务实现
|
|
|
|
|
+│ │ │ │ ├── TokenServiceImpl.java # 令牌服务实现
|
|
|
|
|
+│ │ │ │ ├── UserServiceImpl.java # 用户服务实现
|
|
|
|
|
+│ │ │ │ └── ... # 其他服务实现
|
|
|
|
|
+│ │ │ └── util/ # 工具类
|
|
|
|
|
+│ │ │ └── TokenUtil.java # 令牌工具类
|
|
|
|
|
+│ │ └── resources/ # 资源文件
|
|
|
|
|
+│ │ ├── application.yml # 应用配置文件
|
|
|
|
|
+│ │ ├── logback-spring.xml # 日志配置文件
|
|
|
|
|
+│ │ └── cert/ # 证书文件
|
|
|
|
|
+│ │ ├── fullchain.pem # 证书链
|
|
|
|
|
+│ │ └── privkey.pem # 私钥
|
|
|
|
|
+│ └── test/ # 测试代码
|
|
|
|
|
+│ └── java/ # 测试Java代码(目前为空)
|
|
|
|
|
+├── target/ # 编译输出目录
|
|
|
|
|
+│ ├── classes/ # 编译后的类文件
|
|
|
|
|
+│ ├── generated-sources/ # 生成的源代码
|
|
|
|
|
+│ ├── generated-test-sources/ # 生成的测试源代码
|
|
|
|
|
+│ └── test-classes/ # 编译后的测试类文件
|
|
|
|
|
+├── docs/ # 文档目录
|
|
|
|
|
+│ ├── ReadME.md # 项目说明文档
|
|
|
|
|
+│ └── DevRule/ # 开发规范目录
|
|
|
|
|
+├── logs/ # 日志目录
|
|
|
|
|
+└── cert/ # 证书目录(根目录副本)
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+## 包结构说明
|
|
|
|
|
+
|
|
|
|
|
+### 主包 (work.baiyun.chronicdiseaseapp)
|
|
|
|
|
+
|
|
|
|
|
+- **SpringAPP.java**: Spring Boot应用程序的主启动类,包含@EnableKnife4j注解启用Knife4j接口文档。
|
|
|
|
|
+
|
|
|
|
|
+### common包
|
|
|
|
|
+
|
|
|
|
|
+存放通用工具类和基础类,如统一响应对象R、分页对象Page等。
|
|
|
|
|
+
|
|
|
|
|
+### config包
|
|
|
|
|
+
|
|
|
|
|
+存放Spring配置类,包括拦截器、CORS、MyBatis-Plus、Web MVC等配置。
|
|
|
|
|
+
|
|
|
|
|
+### controller包
|
|
|
|
|
+
|
|
|
|
|
+存放Spring MVC控制器类,处理HTTP请求和响应。
|
|
|
|
|
+
|
|
|
|
|
+### enums包
|
|
|
|
|
+
|
|
|
|
|
+存放枚举类,如结果码枚举、性别枚举、权限组枚举等。
|
|
|
|
|
+
|
|
|
|
|
+### exception包
|
|
|
|
|
+
|
|
|
|
|
+存放自定义异常类和全局异常处理器。
|
|
|
|
|
+
|
|
|
|
|
+### handler包
|
|
|
|
|
+
|
|
|
|
|
+存放MyBatis处理器,如元对象处理器、类型处理器等。
|
|
|
|
|
+
|
|
|
|
|
+### mapper包
|
|
|
|
|
+
|
|
|
|
|
+存放MyBatis Mapper接口,用于数据访问。
|
|
|
|
|
+
|
|
|
|
|
+### model包
|
|
|
|
|
+
|
|
|
|
|
+- **bo**: 业务对象包(目前为空)
|
|
|
|
|
+- **po**: 持久化对象包,存放数据库实体类
|
|
|
|
|
+- **vo**: 视图对象包,存放请求和响应对象
|
|
|
|
|
+
|
|
|
|
|
+### service包
|
|
|
|
|
+
|
|
|
|
|
+- **service**: 服务接口包
|
|
|
|
|
+- **service.impl**: 服务实现包
|
|
|
|
|
+
|
|
|
|
|
+### util包
|
|
|
|
|
+
|
|
|
|
|
+存放工具类,如令牌生成工具等。
|
|
|
|
|
+
|
|
|
|
|
+## 资源文件结构
|
|
|
|
|
+
|
|
|
|
|
+### src/main/resources
|
|
|
|
|
+
|
|
|
|
|
+- **application.yml**: Spring Boot应用配置文件,包含服务器、数据库、MyBatis-Plus等配置
|
|
|
|
|
+- **logback-spring.xml**: 日志配置文件
|
|
|
|
|
+- **cert/**: 证书文件目录,存放SSL证书相关文件
|
|
|
|
|
+
|
|
|
|
|
+## 测试结构
|
|
|
|
|
+
|
|
|
|
|
+### src/test/java
|
|
|
|
|
+
|
|
|
|
|
+存放单元测试和集成测试代码。目前项目中该目录为空。
|
|
|
|
|
+
|
|
|
|
|
+## 编译输出结构
|
|
|
|
|
+
|
|
|
|
|
+### target
|
|
|
|
|
+
|
|
|
|
|
+Maven编译后的输出目录,包含编译后的类文件、生成的源代码等。生产环境部署时通常不需要包含此目录。
|
|
|
|
|
+
|
|
|
|
|
+## 文档结构
|
|
|
|
|
+
|
|
|
|
|
+### docs
|
|
|
|
|
+
|
|
|
|
|
+- **ReadME.md**: 项目说明文档
|
|
|
|
|
+- **DevRule/**: 开发规范目录,包含各项开发规范文档
|
|
|
|
|
+
|
|
|
|
|
+## 日志和证书目录
|
|
|
|
|
+
|
|
|
|
|
+- **logs/**: 运行时日志文件存放目录
|
|
|
|
|
+- **cert/**: 证书文件存放目录(根目录副本,与resources下的cert目录内容相同)
|