添加华为交互数字人前后端项目的详细README文档,包含项目说明、功能说明、环境配置、快速开始指南、目录结构、配置选项、事件监听、调试技巧和注意事项等内容,帮助开发者快速了解和使用项目
126 lines
2.6 KiB
Markdown
126 lines
2.6 KiB
Markdown
# 华为交互数字人后端服务
|
||
|
||
> **项目说明**:本项目是华为交互数字人 HwICSUiSdk 标准集成项目的定制化开发版本,专为**安特威**公司打造,由**江苏云上企数字科技有限公司**研发。
|
||
|
||
## 功能说明
|
||
|
||
后端服务主要为前端提供以下功能:
|
||
|
||
1. **获取授权码** - 调用华为云 MetaStudio API 获取一次性授权码,用于前端 SDK 初始化
|
||
|
||
## 环境配置
|
||
|
||
### 1. 配置环境变量
|
||
|
||
复制 `.env.example` 文件为 `.env`:
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
```
|
||
|
||
编辑 `.env` 文件,填入您的华为云凭证:
|
||
|
||
```env
|
||
HUAWEI_AK=your_access_key_here
|
||
HUAWEI_SK=your_secret_key_here
|
||
HUAWEI_PROJECT_ID=your_project_id_here
|
||
```
|
||
|
||
### 2. 获取华为云凭证
|
||
|
||
#### AK/SK(推荐)
|
||
|
||
1. 登录 [华为云控制台](https://console.huaweicloud.com)
|
||
2. 进入 "我的凭证" > "访问密钥"
|
||
3. 创建或下载访问密钥
|
||
|
||
#### 项目 ID
|
||
|
||
1. 登录华为云控制台
|
||
2. 进入 "我的凭证" > "项目 ID"
|
||
3. 或访问 [获取项目ID](https://support.huaweicloud.com/api-metastudio/metastudio_02_0006.html)
|
||
|
||
## 启动服务
|
||
|
||
### 安装依赖
|
||
|
||
```bash
|
||
npm install
|
||
```
|
||
|
||
### 启动服务
|
||
|
||
```bash
|
||
npm start
|
||
```
|
||
|
||
服务将在 `http://localhost:3001` 启动。
|
||
|
||
## API 接口
|
||
|
||
### 获取授权码
|
||
|
||
```
|
||
POST /api/once-code
|
||
```
|
||
|
||
请求示例:
|
||
```bash
|
||
curl -X POST http://localhost:3001/api/once-code
|
||
```
|
||
|
||
响应示例:
|
||
```json
|
||
{
|
||
"once_code": "OATAXWpTNDPGjVyzxNLKvumcv297Q7uUz5CCltLtFDE1uqnPAPmS4jm61XnMQGuV"
|
||
}
|
||
```
|
||
|
||
错误响应:
|
||
```json
|
||
{
|
||
"error_code": "INTERNAL_ERROR",
|
||
"error_msg": "请配置环境变量: HUAWEI_AK 和 HUAWEI_SK"
|
||
}
|
||
```
|
||
|
||
### 健康检查
|
||
|
||
```
|
||
GET /health
|
||
```
|
||
|
||
响应示例:
|
||
```json
|
||
{
|
||
"status": "ok"
|
||
}
|
||
```
|
||
|
||
## 技术栈
|
||
|
||
- **Express** - Node.js Web 框架
|
||
- **CORS** - 跨域资源共享
|
||
- **dotenv** - 环境变量管理
|
||
- **APIGW-javascript-sdk** - 华为云 API 签名认证
|
||
|
||
## 目录结构
|
||
|
||
```
|
||
backend/server/
|
||
├── index.js # 服务入口
|
||
├── package.json # 依赖配置
|
||
├── .env # 环境变量(不提交到版本库)
|
||
├── .env.example # 环境变量示例
|
||
└── APIGW-javascript-sdk-2.0.6/ # 华为云签名SDK
|
||
├── signer.js # 签名认证
|
||
├── node_demo.js # 示例代码
|
||
└── licenses/ # 许可证
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
1. **安全性** - 请勿将 `.env` 文件提交到版本库
|
||
2. **凭证保护** - 生产环境请使用更安全的方式管理凭证
|
||
3. **跨域** - 默认允许所有来源跨域,生产环境请限制来源
|