159 lines
3.5 KiB
Markdown
159 lines
3.5 KiB
Markdown
# API 配置说明
|
||
|
||
## 概述
|
||
|
||
`api.js` 是统一的API配置文件,集中管理所有API地址和请求方法。
|
||
|
||
## 环境配置
|
||
|
||
### 切换环境
|
||
|
||
在 `api.js` 中修改 `ENV` 变量:
|
||
|
||
```javascript
|
||
// 开发环境(本地服务器)
|
||
const ENV = 'development';
|
||
|
||
// 生产环境(云服务器)
|
||
const ENV = 'production';
|
||
```
|
||
|
||
### 环境配置详情
|
||
|
||
- **开发环境**: `http://115.190.167.176:20002`
|
||
- **生产环境**: `http://115.190.167.176:20002`
|
||
|
||
## 使用方法
|
||
|
||
### 1. 导入配置
|
||
|
||
```javascript
|
||
import { API_BASE, API_ENDPOINTS, buildURL, request, uploadFile } from '@/config/api.js';
|
||
```
|
||
|
||
### 2. 使用API基础地址
|
||
|
||
```javascript
|
||
export default {
|
||
data() {
|
||
return {
|
||
API_BASE // 自动获取当前环境的API地址
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### 3. 使用API端点
|
||
|
||
```javascript
|
||
// 获取视频列表
|
||
const url = buildURL(API_ENDPOINTS.revival.getList);
|
||
|
||
// 获取音频文件
|
||
const audioUrl = buildURL(API_ENDPOINTS.conversation.getAudio('filename.mp3'));
|
||
|
||
// 删除视频
|
||
const deleteUrl = buildURL(API_ENDPOINTS.revival.deleteVideo(videoId));
|
||
```
|
||
|
||
### 4. 使用请求方法
|
||
|
||
#### GET 请求
|
||
|
||
```javascript
|
||
import { request, API_ENDPOINTS } from '@/config/api.js';
|
||
|
||
// 获取数据
|
||
const data = await request({
|
||
url: API_ENDPOINTS.revival.getList,
|
||
method: 'GET'
|
||
});
|
||
```
|
||
|
||
#### POST 请求
|
||
|
||
```javascript
|
||
import { request, API_ENDPOINTS } from '@/config/api.js';
|
||
|
||
// 发送数据
|
||
const result = await request({
|
||
url: API_ENDPOINTS.conversation.send,
|
||
method: 'POST',
|
||
data: {
|
||
message: 'Hello',
|
||
voiceId: 'xxx'
|
||
}
|
||
});
|
||
```
|
||
|
||
#### 上传文件
|
||
|
||
```javascript
|
||
import { uploadFile, API_ENDPOINTS } from '@/config/api.js';
|
||
|
||
// 上传文件
|
||
const result = await uploadFile({
|
||
url: API_ENDPOINTS.revival.createVideo,
|
||
filePath: tempFilePath,
|
||
name: 'photo',
|
||
formData: {
|
||
voiceId: 'xxx',
|
||
text: 'Hello'
|
||
}
|
||
});
|
||
```
|
||
|
||
## API端点列表
|
||
|
||
### 复活视频相关
|
||
|
||
- `API_ENDPOINTS.revival.getList` - 获取视频列表
|
||
- `API_ENDPOINTS.revival.createVideo` - 创建视频
|
||
- `API_ENDPOINTS.revival.deleteVideo(id)` - 删除视频
|
||
- `API_ENDPOINTS.revival.getDetail(id)` - 获取视频详情
|
||
|
||
### 音色相关
|
||
|
||
- `API_ENDPOINTS.voice.getList` - 获取音色列表
|
||
- `API_ENDPOINTS.voice.create` - 创建音色
|
||
- `API_ENDPOINTS.voice.delete(id)` - 删除音色
|
||
|
||
### 对话相关
|
||
|
||
- `API_ENDPOINTS.conversation.send` - 发送对话
|
||
- `API_ENDPOINTS.conversation.getAudio(filename)` - 获取音频文件
|
||
- `API_ENDPOINTS.conversation.clearHistory` - 清空历史
|
||
|
||
### 静态资源
|
||
|
||
- `API_ENDPOINTS.static.video(filename)` - 视频文件
|
||
- `API_ENDPOINTS.static.image(filename)` - 图片文件
|
||
|
||
## 已更新的页面
|
||
|
||
以下页面已经更新为使用统一的API配置:
|
||
|
||
1. ✅ `pages/video-call-new/video-call-new.vue`
|
||
2. ✅ `pages/phone-call/phone-call.vue`
|
||
3. ✅ `pages/video-call/video-call.vue`
|
||
4. ✅ `pages/revival/revival.vue`
|
||
5. ✅ `pages/revival/revival-original.vue`
|
||
6. ✅ `pages/revival/revival-history.vue`
|
||
7. ✅ `pages/my-works/my-works.vue`
|
||
8. ✅ `pages/history-record/history-record.vue`
|
||
|
||
## 优势
|
||
|
||
1. **集中管理**: 所有API配置在一个文件中,易于维护
|
||
2. **环境切换**: 一键切换开发/生产环境
|
||
3. **类型安全**: 使用预定义的端点,减少拼写错误
|
||
4. **代码复用**: 统一的请求方法,减少重复代码
|
||
5. **易于扩展**: 新增API只需在配置文件中添加
|
||
|
||
## 注意事项
|
||
|
||
1. 切换环境后需要重新编译项目
|
||
2. 所有新页面都应该使用这个配置文件
|
||
3. 不要在页面中硬编码API地址
|
||
4. 如需添加新的API端点,请在 `API_ENDPOINTS` 中添加
|