feat:架构代码优化

This commit is contained in:
R524809
2025-12-11 13:02:44 +08:00
parent 2c32235568
commit 3c0e2af10d
89 changed files with 2774 additions and 2816 deletions
@@ -0,0 +1,64 @@
import { BaseDrawService } from '../../../service/baseDraw';
import { drawMissingNumberContent } from './missingNumberContentDraw';
/**
* 填上缺少的数字绘制服务
* 组合使用基础绘制服务和内容区域绘制服务
*/
class MissingNumberDraw extends BaseDrawService {
missingNumberData: {
grids: Array<{
numbers: (number | null)[];
colors: (string | null)[];
}>;
maxNumber: number;
} | null;
constructor(
canvas: Canvas,
ctx: RenderingContext,
options?: Record<string, any>,
) {
super(canvas, ctx, options);
this.missingNumberData = null;
}
async draw(
missingNumberData: {
grids: Array<{
numbers: (number | null)[];
colors: (string | null)[];
}>;
maxNumber: number;
},
rangeType: string = 'within-10',
) {
if (!missingNumberData || !missingNumberData.grids) {
return;
}
this.setPrintConfig();
this.missingNumberData = missingNumberData;
this.clear();
this.setPaper();
// 绘制Header
if (this.headerType !== 'minimal') {
await this.drawHeader();
} else {
this.drawMiniHeader();
}
// 绘制内容区域(填上缺少的数字)
this.drawDivider();
await drawMissingNumberContent({
canvas: this.canvas,
ctx: this.ctx,
missingNumberData: this.missingNumberData,
canvasWidth: this.canvasWidth,
startY: this.currentY,
});
}
}
export default MissingNumberDraw;