75 lines
2.4 KiB
TypeScript
75 lines
2.4 KiB
TypeScript
|
||
import { ProcessorModule, StepControllerProcessor } from "../../src/device";
|
||
import { RectOptimizeMachineModule } from "../moduleManager/module1";
|
||
/**
|
||
* demo 开料机处理器
|
||
*
|
||
*
|
||
*/
|
||
export class demoHandleGroupCutting {
|
||
processorName = "cutting"
|
||
processor: StepControllerProcessor<any, any>
|
||
constructor() {
|
||
|
||
const callbackStyleModule: ProcessorModule<any, any> = {
|
||
moduleName: "callbackStyle",
|
||
process(input, next, context) {
|
||
|
||
console.log("做优化");
|
||
const _input = input
|
||
const _next = next
|
||
const _context = context
|
||
// 可以在这里调用异步操作
|
||
|
||
Reflect.set(context, 'CallBack', callBack1)
|
||
// 决定是否调用 next
|
||
|
||
function callBack1(v) {
|
||
console.log('接收到其它模块回传的数据', v);
|
||
}
|
||
// 调用 next 继续流程
|
||
return next(input);
|
||
}
|
||
};
|
||
const demoModule: ProcessorModule<string, string> = {
|
||
moduleName: "demoModule",
|
||
|
||
process(input, next, context) {
|
||
// 写入上下文
|
||
context.processedAt = new Date().toLocaleString();
|
||
context.originalLength = input.length;
|
||
// 设置下一步需要的上下文
|
||
context.previousStep = "demoModule";
|
||
if (context.CallBack) {
|
||
context.CallBack("demoModule end and callback")
|
||
}
|
||
return next(input);
|
||
}
|
||
};
|
||
|
||
this.processor = new StepControllerProcessor<any, any>();
|
||
this.processor.use([
|
||
{
|
||
moduleName: "traditional",
|
||
handle(input, next) {
|
||
// 第一个流程
|
||
console.log(`第一个模块功能:有${input?.blockList.length}片小板,可以做些计算`)
|
||
return next ? next(input) : input;
|
||
}
|
||
},
|
||
callbackStyleModule,
|
||
demoModule,
|
||
RectOptimizeMachineModule,
|
||
{
|
||
moduleName: "final",
|
||
process(input, next) {
|
||
// 不调用 next,终止流程
|
||
console.log('结束了')
|
||
return next(input);
|
||
}
|
||
}
|
||
])
|
||
|
||
}
|
||
|
||
} |