sync from local backup

This commit is contained in:
chunyu
2026-08-05 23:59:22 +08:00
commit a59f46b894
409 changed files with 166027 additions and 0 deletions
@@ -0,0 +1,72 @@
# 二维码生成器更多定位图案 Spec
## Why
当前二维码生成器已有9种定位图案样式,用户希望添加更多独特的定位图案选项,以提升二维码的视觉多样性和美观度。
## What Changes
- 添加8种新的定位图案样式:心形、十字形、三角形、加号形、花形、盾牌形、八边形、环形点
- 每种定位图案保持三层结构(外框、内框、中心点),确保可扫描性
- 更新 qrRenderer.ts 添加新的绘制函数
- 更新 QRCodeGenerator.tsx 添加新的选项
## Impact
- Affected specs: qrcode-logo-and-styles, qrcode-fixes-and-improvements
- Affected code: `src/utils/qrRenderer.ts`, `src/pages/QRCodeGenerator/QRCodeGenerator.tsx`
## ADDED Requirements
### Requirement: 心形定位图案
系统 SHALL 提供心形(heart)定位图案样式,三层结构均为心形形状。
#### Scenario: 心形定位图案渲染
- **WHEN** 用户选择心形定位图案
- **THEN** 三个定位点应渲染为心形形状,外框大心形、内框镂空、中心小心形
### Requirement: 十字形定位图案
系统 SHALL 提供十字形(cross)定位图案样式,三层结构均为十字形状。
#### Scenario: 十字形定位图案渲染
- **WHEN** 用户选择十字形定位图案
- **THEN** 三个定位点应渲染为十字形状
### Requirement: 三角形定位图案
系统 SHALL 提供三角形(triangle)定位图案样式,三层结构均为三角形状。
#### Scenario: 三角形定位图案渲染
- **WHEN** 用户选择三角形定位图案
- **THEN** 三个定位点应渲染为等边三角形形状
### Requirement: 花形定位图案
系统 SHALL 提供花形(flower)定位图案样式,花瓣状外层。
#### Scenario: 花形定位图案渲染
- **WHEN** 用户选择花形定位图案
- **THEN** 三个定位点应渲染为花形/玫瑰形状
### Requirement: 盾牌形定位图案
系统 SHALL 提供盾牌形(shield)定位图案样式。
#### Scenario: 盾牌形定位图案渲染
- **WHEN** 用户选择盾牌形定位图案
- **THEN** 三个定位点应渲染为盾牌形状
### Requirement: 八边形定位图案
系统 SHALL 提供八边形(octagon)定位图案样式。
#### Scenario: 八边形定位图案渲染
- **WHEN** 用户选择八边形定位图案
- **THEN** 三个定位点应渲染为八边形形状
### Requirement: 环形点定位图案
系统 SHALL 提供环形点(ring-dot)定位图案样式,同心圆结构。
#### Scenario: 环形点定位图案渲染
- **WHEN** 用户选择环形点定位图案
- **THEN** 三个定位点应渲染为同心圆点形状
### Requirement: 加号形定位图案
系统 SHALL 提供加号形(plus)定位图案样式。
#### Scenario: 加号形定位图案渲染
- **WHEN** 用户选择加号形定位图案
- **THEN** 三个定位点应渲染为加号/十字形状
@@ -0,0 +1,81 @@
# 二维码生成器更多定位图案 - 任务列表
## [x] Task 1: 更新 FinderStyle 类型定义
- **Priority**: high
- **Depends On**: None
- **Description**:
- 在 qrRenderer.ts 中添加新的 FinderStyle 类型:heart, cross, triangle, plus, flower, shield, octagon, ring-dot
- **Acceptance Criteria**: 类型定义编译通过
- **Test Requirements**: `typecheck`
## [x] Task 2: 添加心形定位图案绘制函数
- **Priority**: high
- **Depends On**: Task 1
- **Description**:
- 添加 drawHeart 辅助函数绘制心形路径
- 在 drawFinderPattern 函数中添加 heart 样式的渲染逻辑
- **Acceptance Criteria**: 心形定位图案正确渲染为三层结构
## [x] Task 3: 添加十字形定位图案绘制函数
- **Priority**: high
- **Depends On**: Task 1
- **Description**:
- 添加 drawCross 辅助函数绘制十字路径
- 在 drawFinderPattern 函数中添加 cross 样式的渲染逻辑
- **Acceptance Criteria**: 十字形定位图案正确渲染
## [x] Task 4: 添加三角形定位图案绘制函数
- **Priority**: high
- **Depends On**: Task 1
- **Description**:
- 添加 drawTriangle 辅助函数绘制三角形路径
- 在 drawFinderPattern 函数中添加 triangle 样式的渲染逻辑
- **Acceptance Criteria**: 三角形定位图案正确渲染
## [x] Task 5: 添加花形定位图案绘制函数
- **Priority**: high
- **Depends On**: Task 1
- **Description**:
- 添加 drawFlower 辅助函数绘制花形路径
- 在 drawFinderPattern 函数中添加 flower 样式的渲染逻辑
- **Acceptance Criteria**: 花形定位图案正确渲染
## [x] Task 6: 添加盾牌形定位图案绘制函数
- **Priority**: high
- **Depends On**: Task 1
- **Description**:
- 添加 drawShield 辅助函数绘制盾牌路径
- 在 drawFinderPattern 函数中添加 shield 样式的渲染逻辑
- **Acceptance Criteria**: 盾牌形定位图案正确渲染
## [x] Task 7: 添加八边形定位图案绘制函数
- **Priority**: high
- **Depends On**: Task 1
- **Description**:
- 添加 drawOctagon 辅助函数绘制八边形路径
- 在 drawFinderPattern 函数中添加 octagon 样式的渲染逻辑
- **Acceptance Criteria**: 八边形定位图案正确渲染
## [x] Task 8: 添加环形点定位图案绘制函数
- **Priority**: high
- **Depends On**: Task 1
- **Description**:
- 在 drawFinderPattern 函数中添加 ring-dot 样式的渲染逻辑(同心圆结构)
- **Acceptance Criteria**: 环形点定位图案正确渲染
## [x] Task 9: 添加加号形定位图案绘制函数
- **Priority**: high
- **Depends On**: Task 1
- **Description**:
- 在 drawFinderPattern 函数中添加 plus 样式的渲染逻辑
- **Acceptance Criteria**: 加号形定位图案正确渲染
## [x] Task 10: 更新 QRCodeGenerator.tsx 选项
- **Priority**: high
- **Depends On**: Task 1
- **Description**:
- 在 QRCodeGenerator.tsx 的 finderStyleOptions 数组中添加8种新选项
- **Acceptance Criteria**: 下拉菜单显示所有17种定位图案选项
# Task Dependencies
- Task 2-10 依赖 Task 1