数字人项目迁移

This commit is contained in:
2026-04-27 11:07:21 +08:00
parent ba360bc89b
commit 995e038541
38 changed files with 4844 additions and 0 deletions

View File

@@ -0,0 +1,131 @@
package dto
import (
"digital-human/consts"
"gitea.com/red-future/common/beans"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
// CreateVideoReq 创建视频请求
type CreateVideoReq struct {
g.Meta `path:"/createVideo" method:"post" tags:"视频管理" summary:"创建视频" dc:"创建新的视频任务"`
// 基础信息
Name string `json:"name" v:"required" dc:"视频名称"`
Description string `json:"description" dc:"视频描述"`
DigitalHumanID int64 `json:"digitalHumanId" v:"required" dc:"数字人形象ID"`
AudioID int64 `json:"audioId" v:"required" dc:"音频ID"`
Resolution consts.Resolution `json:"resolution" dc:"分辨率480p/720p/1080p/2k/4k/8k"`
}
// CreateVideoRes 创建视频响应
type CreateVideoRes struct {
Id int64 `json:"id" dc:"视频ID"`
}
// ListVideoReq 获取视频列表请求
type ListVideoReq struct {
g.Meta `path:"/listVideos" method:"get" tags:"视频管理" summary:"获取视频列表" dc:"分页查询视频列表,支持多条件筛选"`
*beans.Page
Status consts.VideoStatus `json:"status" dc:"状态0生成中/1成功/2失败"`
DigitalHumanID int64 `json:"digitalHumanId" dc:"数字人形象ID"`
Keyword string `json:"keyword" dc:"关键词搜索"`
}
// ListVideoRes 获取视频列表响应
type ListVideoRes struct {
List []*VideoListItem `json:"list" dc:"视频列表"`
Total int64 `json:"total" dc:"总数"`
}
// VideoListItem 视频列表项
type VideoListItem struct {
ID int64 `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
DigitalHumanID int64 `json:"digitalHumanId"`
DigitalHumanName string `json:"digitalHumanName"`
AudioID int64 `json:"audioId"`
AudioURL string `json:"audioUrl"`
VideoURL string `json:"videoUrl"`
Status consts.VideoStatus `json:"status"`
ErrorMsg string `json:"errorMsg"`
Duration int `json:"duration"`
Resolution consts.Resolution `json:"resolution"`
ThumbnailURL string `json:"thumbnailUrl"`
CreatedAt *gtime.Time `json:"createdAt"`
UpdatedAt *gtime.Time `json:"updatedAt"`
}
// GetVideoReq 获取视频详情请求
type GetVideoReq struct {
g.Meta `path:"/getVideo" method:"get" tags:"视频管理" summary:"获取视频详情" dc:"获取视频详情"`
ID int64 `json:"id" v:"required" dc:"视频ID"`
}
// GetVideoRes 获取视频详情响应
type GetVideoRes struct {
ID int64 `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
DigitalHumanID int64 `json:"digitalHumanId"`
DigitalHumanName string `json:"digitalHumanName"`
AudioID int64 `json:"audioId"`
AudioURL string `json:"audioUrl"`
VideoURL string `json:"videoUrl"`
Status consts.VideoStatus `json:"status"`
ErrorMsg string `json:"errorMsg"`
Duration int `json:"duration"`
Resolution consts.Resolution `json:"resolution"`
ThumbnailURL string `json:"thumbnailUrl"`
ExternalTaskID string `json:"externalTaskId"`
CreatedAt *gtime.Time `json:"createdAt"`
UpdatedAt *gtime.Time `json:"updatedAt"`
}
// UpdateVideoReq 更新视频请求
type UpdateVideoReq struct {
g.Meta `path:"/updateVideo" method:"put" tags:"视频管理" summary:"更新视频" dc:"更新视频信息"`
ID int64 `json:"id" v:"required" dc:"视频ID"`
// 基础信息
Name string `json:"name" dc:"视频名称"`
Description string `json:"description" dc:"视频描述"`
}
// DeleteVideoReq 删除视频请求
type DeleteVideoReq struct {
g.Meta `path:"/deleteVideo" method:"delete" tags:"视频管理" summary:"删除视频" dc:"删除视频"`
ID int64 `json:"id" v:"required" dc:"视频ID"`
}
// GenerateVideoReq 生成视频请求
type GenerateVideoReq struct {
g.Meta `path:"/generateVideo" method:"post" tags:"视频管理" summary:"生成视频" dc:"选择数字人,选择已生成的音频,调用数字人形象与音频合成形成视频"`
ID int64 `json:"id" v:"required" dc:"视频ID"`
}
// GenerateVideoRes 生成视频响应
type GenerateVideoRes struct {
TaskID string `json:"taskId" dc:"任务ID"`
}
// GetVideoStatusOptionsReq 获取视频状态选项请求
type GetVideoStatusOptionsReq struct {
g.Meta `path:"/getVideoStatusOptions" method:"get" tags:"视频管理" summary:"获取视频状态选项" dc:"获取所有视频状态的选项列表"`
}
// GetVideoStatusOptionsRes 获取视频状态选项响应
type GetVideoStatusOptionsRes struct {
Options []consts.VideoStatusKeyValue `json:"options" dc:"视频状态选项列表"`
}
// GetResolutionOptionsReq 获取分辨率选项请求
type GetResolutionOptionsReq struct {
g.Meta `path:"/getResolutionOptions" method:"get" tags:"视频管理" summary:"获取分辨率选项" dc:"获取所有分辨率的选项列表"`
}
// GetResolutionOptionsRes 获取分辨率选项响应
type GetResolutionOptionsRes struct {
Options []consts.ResolutionKeyValue `json:"options" dc:"分辨率选项列表"`
}