chenpei d0dc94e36d feat: 将弹幕功能替换为AI聊天助手
新功能:
- 创建AI聊天助手组件(AIChatWidget)
- 支持文字+图片多模态对话
- 集成Gemini AI API
- 支持图片编辑和内容生成
- 实时对话历史管理
- 优雅的UI设计,支持黑夜模式

技术实现:
- 后端API代理Gemini API(/api/ai-chat)
- 支持最多5张图片上传
- 流式响应处理
- 对话历史管理
- Base64图片处理

配置:
- 在.env中添加Gemini API配置
- GEMINI_API_KEY
- GEMINI_API_BASE_URL
- GEMINI_MODEL

替换原弹幕功能,提供更强大的AI助手体验!
2025-10-27 17:45:37 +08:00

53 lines
1.5 KiB
JavaScript
Executable File

import { rtcOpenapi } from "../lib";
import { GetRecordTaskParamsSchemaValidate, StopRecordParamsSchemaValidate, StartRecordParamsSchemaValidate } from "./schema/rtc";
const rtcOpenapiService = rtcOpenapi.defaultService;
test("rtc:StartRecordParams", async () => {
const response = await rtcOpenapiService.StartRecordParams({
AppId : "Your_AppId",
BusinessId : "Your_BusinessId",
RoomId : "Your_RoomId",
TaskId: "Your_TaskId",
RecordMode: 0,
FileFormatConfig: {
FileFormat: ["HLS", "FLV"]
},
FileNameConfig: {
Prefix: ["directory1", "directory2"],
Pattern: ""
},
StorageConfig: {
Type: 0,
TosConfig: {
UserAccountId: "Your_UserAccountId",
Region: "Your_Region",
Bucket: "Your_Bucket"
}
}
});
const validateResult = StartRecordParamsSchemaValidate(response);
expect(validateResult).toBe(true);
});
test("rtc:StopRecord", async () => {
const response = await rtcOpenapiService.StopRecord({
AppId : "Your_AppId",
RoomId : "Your_RoomId",
TaskId: "Your_TaskId"
});
const validateResult = StopRecordParamsSchemaValidate(response);
expect(validateResult).toBe(true);
});
test("rtc:GetRecordTask", async () => {
const response = await rtcOpenapiService.GetRecordTask({
AppId : "Your_AppId",
RoomId : "Your_RoomId",
TaskId: "Your_TaskId"
});
const validateResult = GetRecordTaskParamsSchemaValidate(response);
expect(validateResult).toBe(true);
});