This commit is contained in:
X1627315083@163.com
2026-03-12 17:07:04 +08:00
parent deff3410bf
commit 01a843e71f
14 changed files with 328 additions and 61 deletions

View File

@@ -1,15 +1,10 @@
import { getTaskidResult } from '@/api/flow-canvas'
interface NodeOptions {
id?: string
position?: { x: number, y: number }
positionX?: number
positionY?: number
component?: any
}
// interface NodeOptions {
// }
export class GenerateManager {
stateManager: any
taskIds: string[] = []
getTaskIdsImgTime: any
constructor(options) {
this.stateManager = options.stateManager;
}
@@ -19,19 +14,58 @@ export class GenerateManager {
}
/** 添加taskId */
addTaskId(TaskId: any) {
this.stateManager.addTaskId(TaskId)
addTaskId(generateData: any,nodeId: string) {
this.taskIds.push({
...generateData,
nodeId,
})
this.getTasksIdImg()
}
/** 添加taskId */
async getTasksIdImg(list) {
let taskIds = list.map((item)=>item.taskId)
getTaskidResult({taskIds}).then((rv)=>{
console.log(rv)
})
async getTasksIdImg() {
clearInterval(this.getTaskIdsImgTime)
this.getTaskIdsImgTime = setInterval(()=>{
let taskIds = this.taskIds.map((item)=>item.taskId)
getTaskidResult({taskIds}).then((rv:any)=>{
//找出成功的
let returnedTasks = rv.filter((item)=>item.status == 'RETURNED')
if(returnedTasks.length == 0)return
//剔除调成功的
let taskIds_ = JSON.parse(JSON.stringify(this.taskIds))
this.taskIds = taskIds_.filter(itemA =>
!returnedTasks.some(itemB => itemB.taskId === itemA.taskId)
)
//把成功的提取出来并且更新到node中
const result = returnedTasks.filter(itemA =>
taskIds_.some(itemB => {
itemA.nodeId = itemB.nodeId
return itemB.taskId === itemA.taskId
})
)
result.forEach(item => {
this.stateManager.getNodeById(item.nodeId).data.data.imageProcessTasks.forEach((nodeDataItem:any)=>{
if(item.taskId == nodeDataItem.taskId){
nodeDataItem.url = item.url
nodeDataItem.createTime = item.createTime
nodeDataItem.status = item.status
}
})
})
if(this.taskIds.length == 0)clearInterval(this.getTaskIdsImgTime)
}).catch(()=>{
clearInterval(this.getTaskIdsImgTime)
console.warn('获取taskId图片失败')
})
}, 3000)
}
/** 更新taskId */
updateTaskId(taskId: string) {
this.stateManager.getNodeById()
}
dispose() {
this.taskIds = []
clearInterval(this.getTaskIdsImgTime)
}
}