229 lines
5.2 KiB
Markdown
229 lines
5.2 KiB
Markdown
|
|
# 快速部署指南
|
|||
|
|
|
|||
|
|
## 🚀 立即开始
|
|||
|
|
|
|||
|
|
### 第一步:数据库迁移(必须)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 1. 连接到MySQL数据库
|
|||
|
|
mysql -u root -p
|
|||
|
|
|
|||
|
|
# 2. 选择数据库
|
|||
|
|
use your_database_name;
|
|||
|
|
|
|||
|
|
# 3. 执行迁移SQL
|
|||
|
|
source Zhibo/zhibo-h/数据库迁移-直播间新字段.sql
|
|||
|
|
|
|||
|
|
# 4. 验证字段是否添加成功
|
|||
|
|
DESC eb_live_room;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**预期结果**:应该看到以下新字段
|
|||
|
|
- `description` (TEXT)
|
|||
|
|
- `cover_image` (VARCHAR(500))
|
|||
|
|
- `share_count` (INT)
|
|||
|
|
- `notice` (VARCHAR(500))
|
|||
|
|
- `tags` (VARCHAR(500))
|
|||
|
|
- `type` (VARCHAR(50))
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 第二步:后端编译和部署
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 1. 进入后端目录
|
|||
|
|
cd Zhibo/zhibo-h
|
|||
|
|
|
|||
|
|
# 2. 清理并编译
|
|||
|
|
mvn clean package -DskipTests
|
|||
|
|
|
|||
|
|
# 3. 重启后端服务
|
|||
|
|
# 如果使用systemd
|
|||
|
|
sudo systemctl restart your-backend-service
|
|||
|
|
|
|||
|
|
# 或者直接运行jar
|
|||
|
|
java -jar crmeb-admin/target/crmeb-admin.jar
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 第三步:前端编译和部署
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 1. 进入Android项目目录
|
|||
|
|
cd android-app
|
|||
|
|
|
|||
|
|
# 2. 清理构建缓存
|
|||
|
|
./gradlew clean
|
|||
|
|
|
|||
|
|
# 3. 构建APK
|
|||
|
|
./gradlew assembleDebug
|
|||
|
|
|
|||
|
|
# 4. 安装到设备
|
|||
|
|
adb install -r app/build/outputs/apk/debug/app-debug.apk
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ 验证清单
|
|||
|
|
|
|||
|
|
### 后端验证
|
|||
|
|
|
|||
|
|
1. **检查新接口是否可用**
|
|||
|
|
```bash
|
|||
|
|
# 测试开始直播接口
|
|||
|
|
curl -X POST http://localhost:8080/api/front/live/room/1/start \
|
|||
|
|
-H "Authorization: Bearer YOUR_TOKEN"
|
|||
|
|
|
|||
|
|
# 测试结束直播接口
|
|||
|
|
curl -X POST http://localhost:8080/api/front/live/room/1/stop \
|
|||
|
|
-H "Authorization: Bearer YOUR_TOKEN"
|
|||
|
|
|
|||
|
|
# 测试在线人数接口
|
|||
|
|
curl http://localhost:8080/api/live/online/count/1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **检查响应格式**
|
|||
|
|
```bash
|
|||
|
|
# 获取直播间详情,验证新字段
|
|||
|
|
curl http://localhost:8080/api/front/live/public/rooms/1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**预期响应应包含**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"data": {
|
|||
|
|
"id": "1",
|
|||
|
|
"title": "直播间标题",
|
|||
|
|
"streamerId": 123,
|
|||
|
|
"streamerAvatar": "http://...",
|
|||
|
|
"streamerLevel": 5,
|
|||
|
|
"coverImage": "http://...",
|
|||
|
|
"description": "直播间描述",
|
|||
|
|
"likeCount": 100,
|
|||
|
|
"shareCount": 50,
|
|||
|
|
"categoryId": 1,
|
|||
|
|
"categoryName": "游戏",
|
|||
|
|
"tags": ["英雄联盟", "竞技"],
|
|||
|
|
"isFollowing": false,
|
|||
|
|
"createTime": "2024-12-30T10:00:00",
|
|||
|
|
"startTime": "2024-12-30T10:30:00",
|
|||
|
|
"notice": "直播间公告",
|
|||
|
|
"type": "live"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 前端验证
|
|||
|
|
|
|||
|
|
1. **打开直播间列表页面**
|
|||
|
|
- 检查是否显示封面图
|
|||
|
|
- 检查是否显示主播头像
|
|||
|
|
- 检查是否显示分类标签
|
|||
|
|
|
|||
|
|
2. **打开直播间详情页面**
|
|||
|
|
- 检查是否显示完整的直播间信息
|
|||
|
|
- 检查是否显示关注按钮状态
|
|||
|
|
- 检查是否显示点赞数和分享数
|
|||
|
|
|
|||
|
|
3. **测试创建直播间**
|
|||
|
|
- 填写完整信息(标题、描述、分类、标签等)
|
|||
|
|
- 提交后检查是否创建成功
|
|||
|
|
- 验证新创建的直播间是否包含所有字段
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔍 常见问题
|
|||
|
|
|
|||
|
|
### Q1: 数据库迁移失败,提示字段已存在
|
|||
|
|
**解决方案**:
|
|||
|
|
```sql
|
|||
|
|
-- 检查哪些字段已存在
|
|||
|
|
DESC eb_live_room;
|
|||
|
|
|
|||
|
|
-- 只执行缺失字段的ALTER TABLE语句
|
|||
|
|
-- 注释掉已存在字段的语句
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Q2: 后端编译失败
|
|||
|
|
**可能原因**:
|
|||
|
|
- Maven依赖未下载完成
|
|||
|
|
- JDK版本不匹配
|
|||
|
|
|
|||
|
|
**解决方案**:
|
|||
|
|
```bash
|
|||
|
|
# 强制更新依赖
|
|||
|
|
mvn clean install -U
|
|||
|
|
|
|||
|
|
# 检查JDK版本
|
|||
|
|
java -version
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Q3: 前端获取不到新字段
|
|||
|
|
**可能原因**:
|
|||
|
|
- 前端未重新编译
|
|||
|
|
- 后端未重启
|
|||
|
|
- 缓存问题
|
|||
|
|
|
|||
|
|
**解决方案**:
|
|||
|
|
```bash
|
|||
|
|
# 清理前端缓存
|
|||
|
|
./gradlew clean
|
|||
|
|
|
|||
|
|
# 重新构建
|
|||
|
|
./gradlew build
|
|||
|
|
|
|||
|
|
# 卸载旧版本APK
|
|||
|
|
adb uninstall com.example.livestreaming
|
|||
|
|
|
|||
|
|
# 安装新版本
|
|||
|
|
adb install app/build/outputs/apk/debug/app-debug.apk
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Q4: toResponse方法报错,找不到UserService
|
|||
|
|
**解决方案**:
|
|||
|
|
确保在LiveRoomController中添加了依赖注入:
|
|||
|
|
```java
|
|||
|
|
@Autowired
|
|||
|
|
private com.zbkj.service.service.UserService userService;
|
|||
|
|
|
|||
|
|
@Autowired
|
|||
|
|
private com.zbkj.service.service.CategoryService categoryService;
|
|||
|
|
|
|||
|
|
@Autowired
|
|||
|
|
private com.zbkj.service.service.FollowRecordService followRecordService;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 修改文件清单
|
|||
|
|
|
|||
|
|
### 后端文件(7个)
|
|||
|
|
1. ✅ `Zhibo/zhibo-h/crmeb-common/src/main/java/com/zbkj/common/model/live/LiveRoom.java`
|
|||
|
|
2. ✅ `Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/response/live/LiveRoomResponse.java`
|
|||
|
|
3. ✅ `Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/request/live/CreateLiveRoomRequest.java`
|
|||
|
|
4. ✅ `Zhibo/zhibo-h/crmeb-service/src/main/java/com/zbkj/service/service/LiveRoomService.java`
|
|||
|
|
5. ✅ `Zhibo/zhibo-h/crmeb-service/src/main/java/com/zbkj/service/service/impl/LiveRoomServiceImpl.java`
|
|||
|
|
6. ✅ `Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/controller/LiveRoomController.java`
|
|||
|
|
7. ✅ `Zhibo/zhibo-h/crmeb-front/src/main/java/com/zbkj/front/controller/LiveRoomOnlineController.java`
|
|||
|
|
|
|||
|
|
### 前端文件(1个)
|
|||
|
|
1. ✅ `android-app/app/src/main/java/com/example/livestreaming/net/Room.java`
|
|||
|
|
|
|||
|
|
### 数据库文件(1个)
|
|||
|
|
1. ✅ `Zhibo/zhibo-h/数据库迁移-直播间新字段.sql`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎉 完成!
|
|||
|
|
|
|||
|
|
所有字段已补齐,接口已对齐,现在可以:
|
|||
|
|
- ✅ 创建带完整信息的直播间
|
|||
|
|
- ✅ 获取包含所有字段的直播间详情
|
|||
|
|
- ✅ 手动控制直播的开始和结束
|
|||
|
|
- ✅ 获取正确格式的在线人数
|
|||
|
|
- ✅ 显示主播信息、分类、标签等
|
|||
|
|
|
|||
|
|
如有问题,请查看 `字段补齐完成总结.md` 获取详细信息。
|