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` 获取详细信息。
|