ai-clone/frontend-ai/config/README.md

159 lines
3.5 KiB
Markdown
Raw Permalink Normal View History

2026-03-05 14:29:21 +08:00
# 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` 中添加