Twilioapp/TWILIO_SETUP.md

128 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

2025-06-28 17:07:18 +08:00
# Twilio 视频通话服务配置指南
## 概述
本项目集成了Twilio视频通话服务支持移动端和Web端的实时视频通话功能。
## 前置条件
1. 注册Twilio账户https://www.twilio.com/
2. 获取必要的API凭证
## 配置步骤
### 1. 获取Twilio凭证
登录Twilio控制台获取以下信息
- Account SID
- API Key
- API Secret
### 2. 更新配置文件
编辑 `src/config/twilio.ts` 文件,替换以下配置:
```typescript
export const twilioConfig: TwilioConfig = {
apiKey: 'YOUR_API_KEY', // 替换为您的API Key
apiSecret: 'YOUR_API_SECRET', // 替换为您的API Secret
accountSid: 'YOUR_ACCOUNT_SID', // 替换为您的Account SID
videoServiceSid: '', // 可选
conversationServiceSid: '', // 可选
};
```
### 3. 启动服务
```bash
# 启动移动端端口3000
npm run dev
# 启动后端管理系统端口3001
cd Twilioapp-admin && npm start
```
## 功能特性
### 移动端功能
- 视频通话页面:`/mobile/video-call`
- 支持房间名称和用户身份输入
- 音频/视频开关控制
- 实时参与者显示
### 后端管理功能
- Token服务器生成访问令牌
- 通话记录管理
- 用户管理
## 使用方法
### 1. 访问视频通话
- 移动端http://localhost:3000/mobile/video-call
- 输入房间名称和用户身份
- 点击"加入通话"
### 2. 多人通话
- 多个用户使用相同房间名称即可加入同一通话
- 支持音频/视频开关控制
- 实时显示参与者状态
## 技术架构
### 前端技术栈
- React 18
- TypeScript
- Ant Design
- Twilio Video SDK
- React Router
### 后端技术栈
- Express.js
- JWT Token生成
- Twilio REST API
## API接口
### Token生成接口
```
POST /api/twilio/token
Content-Type: application/json
{
"identity": "用户身份",
"roomName": "房间名称"
}
Response:
{
"token": "访问令牌",
"identity": "用户身份",
"roomName": "房间名称"
}
```
## 故障排除
### 常见问题
1. **无法连接到房间**
- 检查API凭证是否正确
- 确认Token服务器正常运行
2. **音视频无法正常工作**
- 检查浏览器权限设置
- 确认摄像头和麦克风可用
3. **Token验证失败**
- 检查API Key和Secret是否匹配
- 确认Account SID正确
### 调试模式
开启浏览器开发者工具查看控制台日志所有Twilio相关错误都会在控制台显示。
## 安全注意事项
- 不要在客户端代码中暴露API Secret
- 生产环境请使用HTTPS
- 定期更新API凭证
- 实施适当的用户认证机制
## 扩展功能
- 屏幕共享
- 录制功能
- 聊天消息
- 用户权限管理
- 通话质量监控