diff --git a/src/lib/initDB.ts b/src/lib/initDB.ts index 96c2c03..999d12e 100644 --- a/src/lib/initDB.ts +++ b/src/lib/initDB.ts @@ -206,6 +206,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise => table.text("describe"); table.string("state"); table.integer("startTime"); + table.string("reason"); table.primary(["id"]); table.unique(["id"]); }, @@ -1183,7 +1184,7 @@ export default async (knex: Knex, forceInit: boolean = false): Promise => }, { id: 54, - manufacturer: "grsai", + manufacturer: "grsai", model: "veo3.1-fast-4k", durationResolutionMap: JSON.stringify([]), aspectRatio: JSON.stringify(["16:9", "9:16"]), diff --git a/src/types/database.d.ts b/src/types/database.d.ts index de87fc0..d50396d 100644 --- a/src/types/database.d.ts +++ b/src/types/database.d.ts @@ -1,4 +1,4 @@ -// @db-hash dc7a91d1bfdbd1024a03543cfd93dfb9 +// @db-hash 8171d26b6ac1f411a6ec46a0381b821a //该文件由脚本自动生成,请勿手动修改 export interface t_aiModelMap { @@ -69,6 +69,7 @@ export interface t_myTasks { 'id'?: number; 'model'?: string | null; 'projectId'?: number | null; + 'reason'?: string | null; 'relatedObjects'?: string | null; 'startTime'?: number | null; 'state'?: string | null; diff --git a/src/utils/ai/image/index.ts b/src/utils/ai/image/index.ts index e978263..e49cd84 100644 --- a/src/utils/ai/image/index.ts +++ b/src/utils/ai/image/index.ts @@ -86,9 +86,10 @@ export default async (input: ImageConfig, config: AIConfig) => { state: "已完成", }); return imageUrl; - } catch (error) { + } catch (error: any) { await u.db("t_myTasks").where("id", taskId).update({ state: "生成失败", + reason: error.message, }); throw error; } diff --git a/src/utils/ai/video/index.ts b/src/utils/ai/video/index.ts index c88e4a0..04e4f16 100644 --- a/src/utils/ai/video/index.ts +++ b/src/utils/ai/video/index.ts @@ -75,9 +75,10 @@ export default async (input: VideoConfig, config?: AIConfig) => { state: "已完成", }); return input.savePath; - } catch (err) { + } catch (err: any) { await u.db("t_myTasks").where("id", taskId).update({ state: "生成失败", + reason: err.message, }); return videoUrl; }