Merge branch 'develop' of https://github.com/HBAI-Ltd/Toonflow-app into develop

This commit is contained in:
ACT丶流星雨 2026-04-10 11:54:11 +08:00
commit b891abbe93
2 changed files with 59 additions and 12 deletions

View File

@ -18,8 +18,7 @@ export default router.post(
.db("o_assets") .db("o_assets")
.leftJoin("o_image", "o_assets.id", "=", "o_image.assetsId") .leftJoin("o_image", "o_assets.id", "=", "o_image.assetsId")
.where("o_assets.type", "clip") .where("o_assets.type", "clip")
.andWhere("projectId", projectId) .andWhere("o_assets.projectId", projectId)
.andWhere("scriptId", scriptId)
.select("*"); .select("*");
const data = await Promise.all( const data = await Promise.all(
list.map(async (item) => ({ list.map(async (item) => ({
@ -35,16 +34,30 @@ export default router.post(
filePath: ending, filePath: ending,
type: "clip", type: "clip",
}); });
// 查询o_video表 // 查询视频轨道
const videoRows = await u.db("o_video").where("state", "生成成功").andWhere("scriptId", scriptId).andWhere("projectId", projectId).select("*"); const trackRows = await u
// 处理并返回结果 .db("o_videoTrack")
.where("o_videoTrack.scriptId", scriptId)
.andWhere("o_videoTrack.projectId", projectId)
.select("o_videoTrack.id as trackId","o_videoTrack.videoId");
// 按轨道分组处理视频
const video = await Promise.all( const video = await Promise.all(
videoRows.map(async (row) => ({ trackRows.map(async (track) => {
id: row.id, const videoItems = await u.db("o_video").where("o_video.videoTrackId", track.trackId).andWhere("o_video.state", "生成成功").select("*");
filePath: row.filePath ? await u.oss.getFileUrl(row.filePath) : "", const videoList = await Promise.all(
videoTrackId: row.videoTrackId, videoItems.map(async (v) => ({
id: v.id,
filePath: v.filePath ? await u.oss.getFileUrl(v.filePath) : "",
videoTrackId: v.videoTrackId,
})), })),
); );
return {
id: track.trackId,
videoId: track.videoId,
video: videoList,
};
}),
).then((tracks) => tracks.filter((track) => track.video.length > 0));
res.status(200).send(success({ data, video })); res.status(200).send(success({ data, video }));
}, },

View File

@ -1,6 +1,37 @@
// @db-hash 3296433eb24314b094ac5d3839c049c5 // @db-hash 6cd709d9bdfe00c4dc87961a8ebba149
//该文件由脚本自动生成,请勿手动修改 //该文件由脚本自动生成,请勿手动修改
export interface _o_project_old_20260404 {
'artStyle'?: string | null;
'createTime'?: number | null;
'directorManual'?: string | null;
'id'?: number | null;
'imageModel'?: string | null;
'imageQuality'?: string | null;
'intro'?: string | null;
'mode'?: string | null;
'name'?: string | null;
'projectType'?: string | null;
'type'?: string | null;
'userId'?: number | null;
'videoModel'?: string | null;
'videoRatio'?: string | null;
}
export interface _o_prompt_old_20260406 {
'data'?: string | null;
'id'?: number;
'name'?: string | null;
'type'?: string | null;
'useData'?: string | null;
}
export interface _o_prompt_old_20260406_1 {
'data'?: string | null;
'id'?: number;
'name'?: string | null;
'TEXT'?: any | null;
'type'?: string | null;
'useData'?: string | null;
}
export interface memories { export interface memories {
'content': string; 'content': string;
'createTime': number; 'createTime': number;
@ -232,6 +263,9 @@ export interface o_videoTrack {
} }
export interface DB { export interface DB {
"_o_project_old_20260404": _o_project_old_20260404;
"_o_prompt_old_20260406": _o_prompt_old_20260406;
"_o_prompt_old_20260406_1": _o_prompt_old_20260406_1;
"memories": memories; "memories": memories;
"o_agentDeploy": o_agentDeploy; "o_agentDeploy": o_agentDeploy;
"o_agentWorkData": o_agentWorkData; "o_agentWorkData": o_agentWorkData;