Files
wvp-platform/开始使用.md

325 lines
6.5 KiB
Markdown
Raw Normal View History

2026-02-28 10:02:55 +08:00
# 快速开始(使用 Java 17
## 📋 前置要求
✅ 已安装:
- Java 17已确认
- Node.js已确认
- Docker已确认
⚠️ 需要安装:
- **Maven 3.3+**
## 🔧 安装 Maven
### 方法一:手动安装(推荐)
1. **下载 Maven**
- 访问https://maven.apache.org/download.cgi
- 下载:`apache-maven-3.9.9-bin.zip`
- 国内镜像https://mirrors.aliyun.com/apache/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.zip
2. **解压到指定目录**
```
解压到C:\Program Files\apache-maven-3.9.9
```
3. **配置环境变量**
- 打开"系统属性" → "高级" → "环境变量"
- 在"系统变量"中找到 `Path`
- 点击"编辑" → "新建"
- 添加:`C:\Program Files\apache-maven-3.9.9\bin`
- 点击"确定"保存
4. **验证安装**
打开**新的** CMD 或 PowerShell
```cmd
mvn -version
```
应该显示:
```
Apache Maven 3.9.9
Maven home: C:\Program Files\apache-maven-3.9.9
Java version: 17.0.x
```
### 方法二:使用 Chocolatey如果已安装
```powershell
# 以管理员身份运行 PowerShell
choco install maven
```
### 方法三:使用 Scoop
```powershell
scoop install maven
```
---
## 🚀 启动步骤
### 第一次使用
1. **确保基础服务运行**
```cmd
cd docker
docker compose up -d polaris-redis polaris-mysql polaris-media
cd ..
```
2. **编译项目**
双击运行:`编译.bat`
或在 CMD 中:
```cmd
编译.bat
```
脚本会自动:
- ✅ 检查 Java 和 Maven
- ✅ 编译前端Vue
- ✅ 编译后端Spring Boot
- ✅ 检查基础服务状态
3. **启动应用**
双击运行:`启动.bat`
或在 CMD 中:
```cmd
启动.bat
```
4. **访问应用**
- 管理后台http://localhost:18080
- API 文档http://localhost:18080/doc.html
- 默认账号:`admin` / `admin`
### 后续使用
修改代码后,只需:
```cmd
编译.bat
启动.bat
```
---
## 📂 功能模块位置
### 1. 主码流/子码流切换
```
src/main/java/com/genersoft/iot/vmp/gb28181/
├── service/impl/PlayServiceImpl.java # 播放服务(包含码流切换逻辑)
├── controller/DeviceQuery.java # 设备查询控制器
└── bean/DeviceChannel.java # 通道实体streamType字段
```
**API 端点:**
- 主码流:`GET /api/play/{deviceId}/{channelId}/start?streamType=0`
- 子码流:`GET /api/play/{deviceId}/{channelId}/start?streamType=1`
### 2. 云台控制(转向、拉近、拉远)
```
src/main/java/com/genersoft/iot/vmp/gb28181/
├── controller/PtzController.java # 云台控制主接口
├── service/
│ ├── IPTZService.java # PTZ 服务接口
│ └── impl/PTZServiceImpl.java # PTZ 服务实现
├── transmit/cmd/impl/SIPCommander.java # 发送 SIP 命令
└── bean/
├── FrontEndControlCodeForPTZ.java # PTZ 控制码
└── FrontEndCode.java # 前端控制码
```
**API 端点:**
- 左转:`GET /api/front-end/{deviceId}/{channelId}/left`
- 右转:`GET /api/front-end/{deviceId}/{channelId}/right`
- 上转:`GET /api/front-end/{deviceId}/{channelId}/up`
- 下转:`GET /api/front-end/{deviceId}/{channelId}/down`
- 拉近:`GET /api/front-end/{deviceId}/{channelId}/zoom_in`
- 拉远:`GET /api/front-end/{deviceId}/{channelId}/zoom_out`
### 3. 无限制设备接入
```
src/main/java/com/genersoft/iot/vmp/gb28181/
├── service/impl/DeviceServiceImpl.java # 设备管理服务
├── transmit/event/request/impl/
│ ├── RegisterRequestProcessor.java # 设备注册处理
│ └── MessageRequestProcessor.java # 心跳和消息处理
├── SipLayer.java # SIP 协议层
└── dao/
├── DeviceMapper.java # 设备数据访问
└── DeviceChannelMapper.java # 通道数据访问
```
**性能配置:**
```yaml
# src/main/resources/application.yml
spring:
datasource:
hikari:
maximum-pool-size: 200 # 连接池大小
minimum-idle: 10
sip:
pool-size: 100 # SIP 线程池
```
---
## 🔍 常见问题
### 1. 编译失败Maven 命令未找到
**原因**Maven 未安装或环境变量未配置
**解决**:按照上面的"安装 Maven"步骤操作
### 2. 端口被占用
**错误**`Address already in use: bind`
**解决**:修改端口
```yaml
# src/main/resources/application-dev.yml
server:
port: 28080 # 改为其他端口
```
### 3. 数据库连接失败
**检查 MySQL 状态**
```cmd
docker ps | findstr mysql
docker logs docker-polaris-mysql-1
```
**测试连接**
```cmd
docker exec -it docker-polaris-mysql-1 mysql -u wvp_user -pwvp_password -e "show databases;"
```
### 4. Redis 连接失败
**检查 Redis**
```cmd
docker exec -it docker-polaris-redis-1 redis-cli ping
```
应该返回 `PONG`
---
## 📝 配置文件说明
### 开发环境配置
文件:`src/main/resources/application-dev.yml`
```yaml
spring:
data:
redis:
host: 127.0.0.1
port: 6379
datasource:
url: jdbc:mysql://127.0.0.1:3306/wvp?...
username: wvp_user
password: wvp_password
server:
port: 18080
media:
ip: 127.0.0.1
http-port: 8080
```
### Docker 配置
文件:`docker/.env`
```env
# 流媒体端口
MediaRtmp=10001
MediaRtsp=10002
MediaRtp=10003
# Web 端口
WebHttp=8080
# IP 配置(公网部署时需修改)
Stream_IP=127.0.0.1
SDP_IP=127.0.0.1
# SIP 配置
SIP_Port=8160
SIP_Domain=3502000000
```
---
## 🛠️ 服务管理
### 查看服务状态
```cmd
docker ps --filter "name=polaris-"
```
### 启动基础服务
```cmd
cd docker
docker compose up -d polaris-redis polaris-mysql polaris-media
```
### 停止所有服务
```cmd
cd docker
docker compose down
```
### 查看日志
```cmd
# WVP 日志(运行时控制台输出)
# Docker 服务日志
docker compose logs -f polaris-redis
docker compose logs -f polaris-mysql
docker compose logs -f polaris-media
```
---
## 📚 相关文档
- [完整启动指南](启动指南-Java17.md)
- [快速启动说明](QUICKSTART.md)
- [官方文档](https://doc.wvp-pro.cn)
- [GitHub](https://github.com/648540858/wvp-GB28181-pro)
---
## ⚡ 快捷命令
```cmd
# 一键编译
编译.bat
# 一键启动
启动.bat
# 查看服务状态
docker ps --filter "name=polaris-"
# 重新编译并启动
编译.bat && 启动.bat
```
---
最后更新2026-02-02