From 20496c3cc86aedf79f5edaed1989521a4389b5ab Mon Sep 17 00:00:00 2001 From: R524809 Date: Tue, 23 Dec 2025 13:35:19 +0800 Subject: [PATCH] =?UTF-8?q?feat:2.6.1=E5=A2=9E=E5=8A=A0=20=E6=95=B0?= =?UTF-8?q?=E7=89=A9=E5=AF=B9=E5=BA=94=20=E5=92=8C=20=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E9=A2=9C=E8=89=B2=E7=94=BB=E5=9B=BE=E5=BD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/app.json | 6 +- .../focusEntrance/color-shape-match.png | Bin 0 -> 20763 bytes .../mathEntrance/number-object-match.png | Bin 0 -> 53006 bytes miniprogram/constants/colors.ts | 22 ++ miniprogram/constants/focusFunctions.ts | 24 +- miniprogram/constants/mathFunctions.ts | 9 + .../colorShapeMatch/colorShapeMatch.json | 13 + .../colorShapeMatch/colorShapeMatch.ts | 132 +++++++++ .../colorShapeMatch/colorShapeMatch.wxml | 6 + .../colorShapeMatch/colorShapeMatch.wxss | 1 + .../focusPages/gridDrawing/gridDrawing.wxml | 11 +- .../gridReasoning/gridReasoning.wxml | 11 +- .../shared/service/colorShapeMatchDraw.ts | 158 +++++++++++ .../shared/shapes/shapeSymbolShapes.ts | 28 +- miniprogram/mathPages/addition/addition.wxml | 36 +-- miniprogram/mathPages/compare/compare.wxml | 42 +-- .../mathPages/countMatch/countMatch.wxml | 36 +-- .../countingSelect/countingSelect.wxml | 42 +-- .../missingNumber/missingNumber.wxml | 36 +-- .../numberDecompose/numberDecompose.wxml | 36 +-- .../numberObjectMatch/numberObjectMatch.json | 13 + .../numberObjectMatch/numberObjectMatch.ts | 145 ++++++++++ .../numberObjectMatch/numberObjectMatch.wxml | 6 + .../numberObjectMatch/numberObjectMatch.wxss | 1 + .../mathPages/numberSort/numberSort.wxml | 42 +-- .../shared/service/numberObjectMatchDraw.ts | 265 ++++++++++++++++++ .../templates/canvas-page-template.wxml | 78 ++++++ project.private.config.json | 18 +- 28 files changed, 940 insertions(+), 277 deletions(-) create mode 100644 miniprogram/assets/focusEntrance/color-shape-match.png create mode 100644 miniprogram/assets/mathEntrance/number-object-match.png create mode 100644 miniprogram/focusPages/colorShapeMatch/colorShapeMatch.json create mode 100644 miniprogram/focusPages/colorShapeMatch/colorShapeMatch.ts create mode 100644 miniprogram/focusPages/colorShapeMatch/colorShapeMatch.wxml create mode 100644 miniprogram/focusPages/colorShapeMatch/colorShapeMatch.wxss create mode 100644 miniprogram/focusPages/shared/service/colorShapeMatchDraw.ts create mode 100644 miniprogram/mathPages/numberObjectMatch/numberObjectMatch.json create mode 100644 miniprogram/mathPages/numberObjectMatch/numberObjectMatch.ts create mode 100644 miniprogram/mathPages/numberObjectMatch/numberObjectMatch.wxml create mode 100644 miniprogram/mathPages/numberObjectMatch/numberObjectMatch.wxss create mode 100644 miniprogram/mathPages/shared/service/numberObjectMatchDraw.ts create mode 100644 miniprogram/mathPages/shared/templates/canvas-page-template.wxml diff --git a/miniprogram/app.json b/miniprogram/app.json index 019b315..d8f7bd5 100644 --- a/miniprogram/app.json +++ b/miniprogram/app.json @@ -18,7 +18,8 @@ "compare/compare", "countingSelect/countingSelect", "numberDecompose/numberDecompose", - "numberSort/numberSort" + "numberSort/numberSort", + "numberObjectMatch/numberObjectMatch" ], "independent": false }, @@ -34,7 +35,8 @@ "matchConnect/matchConnect", "lineRecognition/lineRecognition", "gridReasoning/gridReasoning", - "codeConnect/codeConnect" + "codeConnect/codeConnect", + "colorShapeMatch/colorShapeMatch" ], "independent": false } diff --git a/miniprogram/assets/focusEntrance/color-shape-match.png b/miniprogram/assets/focusEntrance/color-shape-match.png new file mode 100644 index 0000000000000000000000000000000000000000..0edd7842898a2b028c0d7eeea5bed0bbc41ba667 GIT binary patch literal 20763 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 z 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 SR>Bl?9i#Seh~- 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 X;9xaEyy1LC0ve}0{ZBNzpUeIm$Ue= allColors.length) { + // 如果需要的数量大于等于总数,返回打乱后的所有颜色 + return [...allColors].sort(() => Math.random() - 0.5); + } + + // 使用 Set 确保不重复 + const selectedColors = new Set(); + while (selectedColors.size < count) { + const randomIndex = Math.floor(Math.random() * allColors.length); + selectedColors.add(allColors[randomIndex]); + } + + return Array.from(selectedColors); +} + export const PAPER_SIZE = { A4: { // width: 2480, diff --git a/miniprogram/constants/focusFunctions.ts b/miniprogram/constants/focusFunctions.ts index c78488a..439234c 100644 --- a/miniprogram/constants/focusFunctions.ts +++ b/miniprogram/constants/focusFunctions.ts @@ -9,14 +9,14 @@ export interface FocusFunctionType { } export const FOCUS_FUNCTION_TYPES: FocusFunctionType[] = [ - // 形状识别 + // 根据颜色画图形 { - id: 'shape-recognition', - page: 'shape', - title: '识别形状', - desc: '识别形状,涂一涂', - icon: '🔍', - img: '/assets/focusEntrance/shape-recognition.png', + id: 'color-shape-match', + page: 'colorShapeMatch', + title: '根据颜色画图形', + desc: '根据颜色画出对应的图形', + icon: '🎯', + img: '/assets/focusEntrance/color-shape-match.png', }, // 图形符号配对 { @@ -27,6 +27,15 @@ export const FOCUS_FUNCTION_TYPES: FocusFunctionType[] = [ icon: '🔗', img: '/assets/focusEntrance/shape-symbol.png', }, + // 形状识别 + { + id: 'shape-recognition', + page: 'shape', + title: '识别形状', + desc: '识别形状,涂一涂', + icon: '🔍', + img: '/assets/focusEntrance/shape-recognition.png', + }, // 方位涂涂乐 { id: 'position-coloring', @@ -54,6 +63,7 @@ export const FOCUS_FUNCTION_TYPES: FocusFunctionType[] = [ icon: '🔗', img: '/assets/focusEntrance/match-connect.png', }, + // 线条识别 { id: 'line-recognition', diff --git a/miniprogram/constants/mathFunctions.ts b/miniprogram/constants/mathFunctions.ts index 9073806..987e9c7 100644 --- a/miniprogram/constants/mathFunctions.ts +++ b/miniprogram/constants/mathFunctions.ts @@ -42,6 +42,15 @@ export const MATH_FUNCTION_TYPES: MathFunctionType[] = [ icon: '🔗', img: '/assets/mathEntrance/count-match.png', }, + // 数物对应 + { + id: 'number-object-match', + page: 'numberObjectMatch', + title: '数物对应', + desc: '连线相同数量的物品和数字', + icon: '🔗', + img: '/assets/mathEntrance/number-object-match.png', + }, { id: 'counting-select', page: 'countingSelect', diff --git a/miniprogram/focusPages/colorShapeMatch/colorShapeMatch.json b/miniprogram/focusPages/colorShapeMatch/colorShapeMatch.json new file mode 100644 index 0000000..64af3d7 --- /dev/null +++ b/miniprogram/focusPages/colorShapeMatch/colorShapeMatch.json @@ -0,0 +1,13 @@ +{ + "navigationBarTitleText": "根据颜色画图形", + "navigationBarBackgroundColor": "#FFD719", + "homeButton": true, + "backgroundColor": "#F6F6F6", + "enablePullDownRefresh": false, + "usingComponents": { + "toy-button": "../../ui/button/button", + "share-guide-popup": "../../components/share-guide-popup/share-guide-popup", + "math-bottom-buttons": "../../components/math-bottom-buttons/math-bottom-buttons", + "draw-ad": "../../components/draw-ad/draw-ad" + } +} diff --git a/miniprogram/focusPages/colorShapeMatch/colorShapeMatch.ts b/miniprogram/focusPages/colorShapeMatch/colorShapeMatch.ts new file mode 100644 index 0000000..c7bf2c5 --- /dev/null +++ b/miniprogram/focusPages/colorShapeMatch/colorShapeMatch.ts @@ -0,0 +1,132 @@ +import ColorShapeMatchDraw from '../shared/service/colorShapeMatchDraw'; +import { createFocusPage } from '../shared/common/focusPageMixin'; +import { ColorShapeMatchData } from '../shared/service/colorShapeMatchDraw'; +import { SHAPE_SYMBOL_SHAPES } from '../shared/shapes/shapeSymbolShapes'; +import { getRandomUniqueNumberColors } from '../../constants/colors'; + +createFocusPage({ + canvas: null as Canvas | null, + ctx: null as RenderingContext | null, + boxHeight: 0, + boxWidth: 0, + drawService: null as ColorShapeMatchDraw | null, + gridData: null as ColorShapeMatchData | null, + + data: { + pageTitle: '根据颜色画图形', + functionId: '', + hasContent: false, + showShareDialog: false, + }, + + onLoad(options: { id?: string }) { + const functionId = options.id || 'color-shape-match'; + this.setData({ + functionId, + }); + this.initPageInfo(functionId, '根据颜色画图形'); + }, + + onReady() { + this.initCanvas({ + createDrawService: ( + canvas: Canvas, + ctx: RenderingContext, + options?: Record, + ) => { + return new ColorShapeMatchDraw(canvas, ctx, options); + }, + drawServiceOptions: { + title: this.data.pageTitle, + subTitle: '根据颜色画出对应的图形', + functionId: this.data.functionId, + }, + onCanvasReady: () => { + // 初始随机生成 + this.onRandom(); + }, + }); + }, + + /** + * 绘制Canvas内容 + */ + async drawCanvas() { + if (!this.ctx || !this.drawService || !this.gridData) { + return; + } + + try { + await this.drawService.draw(this.gridData); + this.setData({ hasContent: true }); + } catch (error) { + console.error('绘制失败:', error); + this.setData({ hasContent: false }); + } + }, + + /** + * 随机生成 + */ + onRandom() { + // 从所有图形中随机选择4个 + const shapes = [...SHAPE_SYMBOL_SHAPES].filter( + (shape) => shape.id !== 'cross', + ); + const selectedShapes = shapes + .sort(() => Math.random() - 0.5) + .slice(0, 4); + + // 获取4个不重复的颜色 + const colors = getRandomUniqueNumberColors(4); + + // 创建阅览区域的数据,过滤掉 cross + const legendItems = selectedShapes.map((shape, index) => ({ + shapeId: shape.id, + color: colors[index], + })); + + // 创建练习区域的数据(5行5列,共25个格子) + // 随机填充这4种颜色,确保每种颜色至少出现一次 + const practiceGrid: Array> = []; + const allColors: (string | null)[] = new Array(25).fill(null); + + // 先随机选择4个位置,每个位置分配一种颜色(确保每种颜色至少出现一次) + const positions: number[] = []; + for (let i = 0; i < 25; i++) { + positions.push(i); + } + const shuffledPositions = [...positions].sort( + () => Math.random() - 0.5, + ); + + // 前4个位置分配4种颜色 + for (let i = 0; i < 4; i++) { + allColors[shuffledPositions[i]] = colors[i]; + } + + // 剩余21个位置随机分配这4种颜色 + for (let i = 4; i < 25; i++) { + const randomColor = + colors[Math.floor(Math.random() * colors.length)]; + allColors[shuffledPositions[i]] = randomColor; + } + + // 转换为5x5的二维数组 + for (let row = 0; row < 5; row++) { + const practiceRow: Array = []; + for (let col = 0; col < 5; col++) { + const index = row * 5 + col; + practiceRow.push(allColors[index]); + } + practiceGrid.push(practiceRow); + } + + this.gridData = { + legendItems, + practiceGrid, + }; + + this.drawCanvas(); + }, +}); diff --git a/miniprogram/focusPages/colorShapeMatch/colorShapeMatch.wxml b/miniprogram/focusPages/colorShapeMatch/colorShapeMatch.wxml new file mode 100644 index 0000000..3b70e13 --- /dev/null +++ b/miniprogram/focusPages/colorShapeMatch/colorShapeMatch.wxml @@ -0,0 +1,6 @@ + + + +