生成时间: 2025-01-27
项目类型: 婚恋社交平台(微服务架构)
分析范围: 项目结构、技术栈、代码组织、功能模块、配置管理
XINxiangqin/
├── gateway/ # API网关服务 (Spring Cloud Gateway)
│ ├── src/main/java/ # 网关核心代码
│ └── src/main/resources/ # 网关配置(路由、CORS等)
│
├── common/ # 公共模块
│ └── src/main/java/ # 公共实体类、Mapper、Service
│ ├── pojo/ # 实体类(Users, PartnerRequirement等)
│ ├── mapper/ # 数据访问层
│ └── service/ # 公共服务接口
│
├── service/ # 业务服务模块(Maven聚合模块)
│ ├── login/ # 登录服务
│ ├── homePage/ # 首页服务 (端口: 8081)
│ ├── dynamic/ # 动态服务 (端口: 8086)
│ ├── websocket/ # WebSocket聊天服务 (端口: 1004)
│ ├── randomMatch/ # 随机匹配服务 (端口: 1003)
│ ├── Essential/ # 基础服务 (端口: 1005)
│ ├── Recommend/ # 推荐服务 (端口: 8089)
│ └── admin/ # 管理端服务 (端口: 8088)
│
├── LiangZhiYUMao/ # 小程序前端 (uni-app)
│ ├── pages/ # 页面文件
│ ├── components/ # 组件
│ ├── utils/ # 工具函数(API封装、认证等)
│ ├── config/ # 配置文件(API配置、匹配配置)
│ └── store/ # 状态管理
│
└── marriageAdmin-vue/ # 管理后台 (Vue 3)
├── src/
│ ├── views/ # 页面组件
│ ├── components/ # 通用组件
│ ├── router/ # 路由配置
│ ├── stores/ # Pinia状态管理
│ ├── utils/ # 工具函数
│ └── config/ # 配置文件
└── vite.config.js # Vite构建配置
架构模式: Spring Cloud Gateway + 多服务模块
| 技术 | 版本 | 用途 | 位置 |
|---|---|---|---|
| Java | 8 | 开发语言 | 所有后端服务 |
| Spring Boot | 2.7.15 | 核心框架 | 所有服务 |
| Spring Cloud | 2021.0.8 | 微服务框架 | Gateway |
| Spring Cloud Alibaba | 2021.0.5.0 | 阿里云组件 | Gateway |
| MyBatis-Plus | 3.5.3 | ORM框架 | 所有服务 |
| MySQL | 8.0.33 | 数据库 | 所有服务 |
| Redis | - | 缓存/Token存储 | 所有服务 |
| MinIO | 7.1.0 | 对象存储 | 文件上传服务 |
| Lombok | 1.18.30 | 代码简化 | 所有服务 |
| Maven | - | 构建工具 | 所有后端模块 |
特殊依赖:
| 技术 | 版本 | 用途 |
|---|---|---|
| uni-app | - | 跨平台框架 |
| Vue | 2 | 前端框架 |
| Axios | 1.12.2 | HTTP客户端 |
| tim-wx-sdk | 2.27.6 | 腾讯云IM SDK |
| 技术 | 版本 | 用途 |
|---|---|---|
| Vue | 3.5.22 | 前端框架 |
| Element Plus | 2.11.5 | UI组件库 |
| Pinia | 3.0.3 | 状态管理 |
| Vue Router | 4.5.1 | 路由管理 |
| Vite | 7.1.7 | 构建工具 |
| ECharts | 6.0.0 | 图表库 |
| Axios | 1.12.2 | HTTP客户端 |
| 服务名称 | 端口 | 说明 |
|---|---|---|
| Gateway | 8083 | API网关(统一入口) |
| HomePage | 8081 | 首页服务 |
| Dynamic | 8086 | 动态服务 |
| WebSocket | 1004 | 聊天服务 |
| RandomMatch | 1003 | 匹配服务 |
| Essential | 1005 | 基础服务(用户信息等) |
| Recommend | 8089 | 推荐服务 |
| Admin | 8088 | 管理端服务 |
| 路由路径 | 目标服务 | 端口 | 说明 |
|---|---|---|---|
/admin/** |
admin服务 | 8088 | 管理端页面和API |
/api/admin/** |
admin服务 | 8088 | 管理端API |
/ws/chat/** |
websocket服务 | 1004 | WebSocket聊天 |
/api/chat/** |
websocket服务 | 1004 | 聊天REST API |
/api/online/** |
websocket服务 | 1004 | 在线状态API |
/api/im/** |
websocket服务 | 1004 | IM服务(腾讯云IM) |
/match/** |
randomMatch服务 | 1003 | 匹配服务 |
/api/dynamic/** |
dynamic服务 | 8086 | 动态服务 |
/media/** |
dynamic服务 | 8086 | 媒体文件 |
/api/message/** |
dynamic服务 | 8086 | 系统消息 |
/api/user/** |
Essential服务 | 1005 | 用户基础服务 |
/api/checkin/** |
Essential服务 | 1005 | 签到服务 |
/api/feedback/** |
Essential服务 | 1005 | 反馈服务 |
/api/partner-requirement/** |
Essential服务 | 1005 | 择偶要求 |
/api/announcement/** |
homePage服务 | 8081 | 公告服务 |
/api/course/** |
homePage服务 | 8081 | 课程服务 |
/api/matchmaker-course/** |
homePage服务 | 8081 | 红娘课程 |
/api/recommend/** |
Recommend服务 | 8089 | 推荐服务 |
/api/course-order/** |
Essential服务 | 1005 | 课程订单(微信支付) |
/api/my-resource/** |
homePage服务 | 8081 | 我的资源(线索管理) |
/api/points/** |
admin服务 | 8088 | 积分商城 |
/api/success-case-upload/** |
websocket服务 | 1004 | 成功案例上传 |
/api/** |
homePage服务 | 8081 | 首页服务(兜底路由) |
路由优先级: 路由配置顺序很重要,更具体的路由必须在通用路由之前。
1. 用户认证模块
pages/settings/, utils/userAuth.js2. 匹配推荐模块
pages/today-recommend/)pages/recommend/)pages/match/)pages/partner-requirement/)pages/recommend/, pages/match/, config/match-config.js3. 社交功能模块
pages/plaza/)
pages/message/)
pages/message/chat.vue)pages/message/system.vue)pages/blacklist/)pages/plaza/, pages/message/, utils/chat-api.js4. 星命运算模块 ⭐
pages/astrology/zodiac.vue)pages/astrology/constellation.vue)pages/astrology/constellation-match.vue)pages/astrology/bazi.vue)pages/astrology/bazi-match.vue)pages/astrology/mbti.vue)pages/astrology/, utils/bazi.js, utils/constellation.js, utils/mbti.js5. 服务模块
pages/matchmakers/)pages/activities/)pages/courses/)pages/success-case/)pages/part-time-matchmaker/)pages/matchmakers/, pages/activities/, pages/courses/6. 会员功能
pages/vip/)pages/customize/)pages/vip/, pages/customize/7. 红娘工作台 (pages/matchmaker-workbench/)
8. 个人中心
pages/profile/)pages/mine/my-activities.vue)pages/mine/my-dynamics.vue)pages/settings/)1. 数据面板 (views/Dashboard.vue)
2. 内容管理
views/banner/)views/announcement/)views/activity/)
views/matchmaker/)
views/course/)views/success-case/)3. 用户管理
views/user/UserList.vue)views/user/UserVipList.vue)views/vip/VipPackageList.vue)4. 审核管理
views/dynamic/)views/report/)5. 管理员管理
views/admin/AdminUserList.vue)service/admin/src/main/resources/sql/ - 管理端相关表service/dynamic/src/main/resources/sql/ - 动态相关表service/Essential/src/main/resources/sql/ - 用户相关表service/websocket/src/main/resources/sql/ - 聊天相关表service/homePage/src/main/resources/sql/ - 首页相关表| 安全措施 | 实现方式 | 位置 |
|---|---|---|
| 手机号加密 | AES-256加密 | Essential服务 |
| 密码加密 | bcrypt哈希 | Login服务 |
| Token认证 | JWT Token + Redis存储 | 所有服务 |
| CORS配置 | 网关统一处理 | Gateway配置 |
| 跨域 | 网关配置 | Gateway配置 |
小程序端:
管理后台:
{code, message, data}/api/user/**)/api/dynamic/**)/match/**)/api/chat/** - 聊天消息REST API/ws/chat/** - WebSocket实时聊天/api/im/** - 腾讯云IM相关/admin/** - 管理端页面和API/api/admin/** - 管理端API| 配置文件 | 位置 | 说明 |
|---|---|---|
| 网关配置 | gateway/src/main/resources/application.yml |
路由规则、CORS配置 |
| 服务配置 | service/*/src/main/resources/application.yml |
各服务独立配置 |
| Maven父POM | pom.xml |
依赖版本管理 |
| 服务聚合POM | service/pom.xml |
服务模块聚合 |
| 配置文件 | 位置 | 说明 |
|---|---|---|
| 小程序API配置 | LiangZhiYUMao/config/api-config.js |
天行数据、极速数据API Key |
| 小程序路由 | LiangZhiYUMao/pages.json |
页面路由配置 |
| 小程序匹配配置 | LiangZhiYUMao/config/match-config.js |
匹配算法配置 |
| 管理后台API配置 | marriageAdmin-vue/src/config/api.js |
API端点定义 |
| 管理后台路由 | marriageAdmin-vue/src/router/index.js |
路由配置和守卫 |
| Vite配置 | marriageAdmin-vue/vite.config.js |
构建配置 |
common/src/main/java/com/zhentao/pojo/
Users.java - 用户实体PartnerRequirement.java - 择偶要求实体MatchmakerApply.java - 红娘申请实体service/{module}/src/main/java/com/zhentao/
├── controller/ # 控制器层(REST API)
├── service/ # 服务层(业务逻辑)
├── mapper/ # 数据访问层(MyBatis)
├── pojo/ # 实体类
└── config/ # 配置类
LiangZhiYUMao/utils/api.jsLiangZhiYUMao/utils/chat-api.jsLiangZhiYUMao/utils/userAuth.jsLiangZhiYUMao/utils/tim-manager.jsLiangZhiYUMao/utils/util.jsmarriageAdmin-vue/src/utils/request.jsmarriageAdmin-vue/src/stores/user.jsmarriageAdmin-vue/src/router/index.js| 服务 | 用途 | 配置位置 | API Key位置 |
|---|---|---|---|
| 天行数据API | 星座、生肖配对、八字查询 | LiangZhiYUMao/config/api-config.js |
TIANAPI_CONFIG.API_KEY |
| 极速数据API | 专业八字排盘 | LiangZhiYUMao/config/api-config.js |
BAZI_API_CONFIG.JISU_API.API_KEY |
| 腾讯云IM | 实时聊天功能 | LiangZhiYUMao/utils/tim-manager.js |
需配置SDKAppID和密钥 |
天行数据API配置:
// LiangZhiYUMao/config/api-config.js
export const TIANAPI_CONFIG = {
API_KEY: '23e38be1fddb7c6aee4ea3e4294c6b4a', // ⚠️ 需要替换为真实Key
BASE_URL: 'https://apis.tianapi.com',
ENDPOINTS: {
zodiacMatch: '/zodiac/index', // 生肖配对
constellation: '/star/index', // 星座运势
constellationMatch: '/xingzuo/index', // 星座配对
bazi: '/bazi/index' // 八字查询
}
}
极速数据API配置:
// LiangZhiYUMao/config/api-config.js
export const BAZI_API_CONFIG = {
JISU_API: {
BASE_URL: 'https://api.jisuapi.com',
API_KEY: '34bf028ce1b089a9', // ⚠️ 需要替换为真实Key
ENDPOINTS: {
bazi: '/bazi/paipan' // 八字排盘
}
}
}
当前问题:
改进建议:
当前问题:
改进建议:
/api/v1/user/**)待优化功能:
待加强:
1. 基础服务
2. 后端服务(按依赖顺序)
3. 前端服务
cd marriageAdmin-vue && npm run dev (端口: 5173)| 问题 | 检查项 | 解决方案 |
|---|---|---|
| 跨域问题 | 网关CORS配置 | 检查 gateway/application.yml 中的CORS配置 |
| 路由404 | 网关路由配置顺序 | 确保具体路由在通用路由之前 |
| Token失效 | Redis连接、Token过期时间 | 检查Redis连接和Token配置 |
| API调用失败 | 服务端口、网关路由 | 检查服务是否启动,路由是否正确 |
| 文件上传失败 | MinIO配置和权限 | 检查MinIO配置和存储桶权限 |
| 聊天功能异常 | 腾讯云IM配置 | 检查SDKAppID和密钥配置 |
项目包含的文档:
项目架构分析报告.md - 项目架构详细分析技术栈快速参考.md - 技术栈快速查询LiangZhiYUMao/API接口说明.md - API接口文档marriageAdmin-vue/README.md - 管理后台说明marriageAdmin-vue/美化方案说明.md - UI美化方案marriageAdmin-vue/数据展示优化说明.md - 数据展示优化统一异常处理机制
API版本控制
/api/v1/ 版本前缀参数校验统一
@Valid 和 @NotNull 等注解日志规范统一
服务注册发现
配置中心
API文档
监控体系
测试覆盖
功能扩展
| 文件路径 | 说明 |
|---|---|
pom.xml |
Maven父项目配置 |
gateway/src/main/resources/application.yml |
网关路由配置 |
service/*/src/main/resources/application.yml |
各服务配置 |
common/src/main/java/com/zhentao/pojo/ |
公共实体类 |
| 文件路径 | 说明 |
|---|---|
LiangZhiYUMao/config/api-config.js |
小程序API配置 |
LiangZhiYUMao/utils/api.js |
小程序API封装 |
LiangZhiYUMao/pages.json |
小程序路由配置 |
marriageAdmin-vue/src/config/api.js |
管理后台API配置 |
marriageAdmin-vue/src/router/index.js |
管理后台路由配置 |
项目架构分析报告.md技术栈快速参考.mdcommon 模块开始报告生成时间: 2025-01-27
分析工具: 代码扫描 + 配置文件分析
建议更新频率: 每次重大架构变更后更新
如有问题,请参考:
祝开发顺利! 🚀