# 技术栈快速参考

## 🎯 一、项目结构

```
XINxiangqin/
├── gateway/              # API网关 (Spring Cloud Gateway)
├── common/               # 公共模块
├── service/              # 业务服务
│   ├── login/           # 登录服务
│   ├── homePage/        # 首页服务 (8081)
│   ├── dynamic/         # 动态服务 (8086)
│   ├── websocket/       # 聊天服务 (1004)
│   ├── randomMatch/     # 匹配服务 (1003)
│   ├── Essential/       # 基础服务 (1005)
│   ├── Recommend/       # 推荐服务
│   └── admin/           # 管理端服务 (8088)
├── LiangZhiYUMao/        # 小程序前端 (uni-app)
└── marriageAdmin-vue/    # 管理后台 (Vue3)
```

## 🔧 二、技术栈清单

### 后端技术栈

| 技术 | 版本 | 用途 |
|------|------|------|
| Java | 8 | 开发语言 |
| Spring Boot | 2.7.15 | 核心框架 |
| Spring Cloud | 2021.0.8 | 微服务框架 |
| Spring Cloud Alibaba | 2021.0.5.0 | 阿里云组件 |
| 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 |

#### 管理后台
| 技术 | 版本 | 用途 |
|------|------|------|
| 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 | `/api/**` | 首页、公告服务 |
| Dynamic | 8086 | `/api/dynamic/**` | 动态、系统消息 |
| WebSocket | 1004 | `/ws/chat/**`, `/api/chat/**` | 聊天服务 |
| RandomMatch | 1003 | `/match/**` | 匹配服务 |
| Essential | 1005 | `/api/user/**` | 用户基础服务 |
| Admin | 8088 | `/admin/**`, `/api/admin/**` | 管理端服务 |

## 📁 四、关键目录结构

### 后端关键目录
```
service/{module}/src/main/java/com/zhentao/
├── controller/          # 控制器层
├── service/             # 服务层
├── mapper/              # 数据访问层
├── pojo/                # 实体类
└── config/              # 配置类

service/{module}/src/main/resources/
├── application.yml      # 服务配置
└── sql/                 # SQL脚本
```

### 小程序关键目录
```
LiangZhiYUMao/
├── pages/               # 页面文件
├── components/          # 组件
├── utils/               # 工具函数
│   ├── api.js          # API封装
│   ├── chat-api.js     # 聊天API
│   └── userAuth.js     # 用户认证
├── config/              # 配置文件
│   ├── api-config.js   # API配置
│   └── match-config.js  # 匹配配置
└── static/              # 静态资源
```

### 管理后台关键目录
```
marriageAdmin-vue/src/
├── views/               # 页面组件
├── components/         # 通用组件
├── router/              # 路由配置
├── stores/              # 状态管理
├── utils/               # 工具函数
└── config/              # 配置文件
    └── api.js          # API配置
```

## 🔑 五、核心配置文件

### 1. 网关配置
**文件**: `gateway/src/main/resources/application.yml`
- 路由规则
- CORS配置
- WebSocket支持

### 2. 小程序API配置
**文件**: `LiangZhiYUMao/config/api-config.js`
- 天行数据API配置
- 极速数据API配置
- 第三方API Key

### 3. 管理后台API配置
**文件**: `marriageAdmin-vue/src/config/api.js`
- API基础地址
- 接口端点定义

### 4. 小程序路由配置
**文件**: `LiangZhiYUMao/pages.json`
- 页面路由
- 导航栏配置

### 5. 管理后台路由配置
**文件**: `marriageAdmin-vue/src/router/index.js`
- 路由定义
- 路由守卫

## 🗄️ 六、核心数据表

### 用户相关
- `users` - 用户主表
- `user_profile` - 用户扩展信息
- `vip` - VIP会员
- `blacklist` - 黑名单

### 社交相关
- `user_dynamics` - 用户动态
- `dynamic_comments` - 动态评论
- `dynamic_likes` - 动态点赞
- `dynamic_reports` - 动态举报

### 聊天相关
- `chat_messages` - 聊天消息
- `chat_sessions` - 聊天会话

### 业务相关
- `activities` - 活动
- `matchmakers` - 红娘
- `courses` - 课程
- `success_cases` - 成功案例
- `announcements` - 公告
- `banners` - 轮播图

## 🔐 七、安全机制

| 安全措施 | 实现方式 |
|---------|---------|
| 手机号加密 | AES-256加密 |
| 密码加密 | bcrypt哈希 |
| Token认证 | JWT + Redis |
| CORS | 网关统一处理 |
| 跨域 | 网关配置 |

## 📡 八、API接口分类

### 用户相关
- `/api/user/**` - 用户信息、资料管理

### 动态相关
- `/api/dynamic/**` - 动态CRUD
- `/api/message/**` - 系统消息

### 匹配相关
- `/match/**` - 匹配算法

### 聊天相关
- `/api/chat/**` - 聊天REST API
- `/ws/chat/**` - WebSocket实时聊天

### 管理相关
- `/admin/**` - 管理端页面
- `/api/admin/**` - 管理端API

## 🚀 九、启动顺序建议

1. **基础服务**
   - MySQL数据库
   - Redis缓存
   - MinIO对象存储

2. **后端服务**（按依赖顺序）
   - common模块（公共模块）
   - Essential服务（基础服务）
   - HomePage服务
   - Dynamic服务
   - WebSocket服务
   - RandomMatch服务
   - Recommend服务
   - Admin服务
   - Gateway网关（最后启动）

3. **前端服务**
   - 管理后台：`npm run dev` (端口: 5173)
   - 小程序：使用HBuilderX或微信开发者工具

## 🔍 十、常见问题排查

| 问题 | 检查项 |
|------|--------|
| 跨域问题 | 网关CORS配置 |
| 路由404 | 网关路由配置顺序 |
| Token失效 | Redis连接、Token过期时间 |
| API调用失败 | 服务端口、网关路由 |
| 文件上传失败 | MinIO配置、权限 |

## 📚 十一、第三方服务

| 服务 | 用途 | 配置位置 |
|------|------|---------|
| 天行数据API | 星座、生肖、八字 | `LiangZhiYUMao/config/api-config.js` |
| 极速数据API | 八字排盘 | `LiangZhiYUMao/config/api-config.js` |
| 腾讯云IM | 实时聊天 | `LiangZhiYUMao/utils/tim-manager.js` |

## 🎯 十二、开发工具推荐

- **后端**: IntelliJ IDEA
- **前端**: VS Code / HBuilderX
- **数据库**: Navicat / DBeaver
- **API测试**: Postman
- **版本控制**: Git

---

**最后更新**: 2025-01-27

