12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- // 任务步骤初始化参数
- interface AgentTaskStepOptions{
- title:string
- shareData?:any
- handle?():{():Promise<any>}
- }
- export class AgentTaskStep{
- // 任务名称
- title:string = ""
- // 任务数据 共享数据(整个任务集共享传递的数据)
- shareData:any = {}
- // 任务数据 私有数据(当前任务私有的处理数据)
- data:any = {}
- // 父级组件:任务集组件
- // @example 当前子任务未完成,且当前任务是必须时,需要在当前任务中,终止整个程序
- parentComp:any|undefined
- // 当前任务在任务集数组中的项目
- parentIndex:number|undefined
- /**
- * 任务生命周期
- * @constructor // 构造时执行一次
- * @onInit // 初始化后执行一次
- * @onProgress // 进度变化时执行一次
- * @onComplete // 完成前执行一次
- */
- constructor(metaData:AgentTaskStepOptions){
- this.title = metaData.title
- this.shareData = metaData.shareData
- if(metaData.handle){
- this.handle = metaData.handle
- }
- this.init(metaData)
- }
- onInit(step:AgentTaskStep){
- this.isInit = true;
- }
- beforeHandle(step:AgentTaskStep){
- }
- afterHandle(step:AgentTaskStep){
- }
- onProgress(step:AgentTaskStep,progress:number){
- }
- onComplete(step:AgentTaskStep){
- }
- onError(step:AgentTaskStep){
- }
- /**
- * 任务初始化函数
- */
- async init(metaData:AgentTaskStepOptions){
- }
- isInit:boolean = false; // 是否初始化
- /**
- * 任务执行函数
- * @desc 函数内必须有明确的完成、结束情形,函数内必须有进度的变化指示 progress从0.00 - 1.00
- */
- progress:number = 0;
- // get progress(){
- // return this._progress
- // }
- // set progress(v:number){
- // this._progress = v
- // this.onProgress(this,this.progress)
- // }
- handle():Promise<any>|any{
- this.beforeHandle(this)
- this.onComplete(this)
- this.onError(this)
- return true
- }
- /**
- * 任务错误提示
- */
- error:string = "" // 错误原因
- }
|