1.8 KiB
1.8 KiB
二维码生成器 Logo 与样式增强 - Verification Checklist
功能完整性
- 数据点支持方形、圆形、圆角方形三种样式,切换实时生效
- 定位点支持方形、圆形、圆角方形三种样式,与数据点独立
- 前景色和背景色可自定义,支持颜色选择器
- 提供至少 6 个预设配色方案,点击即应用
- Logo 可上传(支持 PNG/JPG/GIF/WebP),居中显示
- Logo 大小 10%-30% 可调,滑块控制
- Logo 带白色圆角底托
- Logo 可移除/清除
- Logo 较大且容错率低时有警告提示
渲染正确性
- 所有样式组合下二维码可被手机扫码识别(模块矩阵数据来自 qrcode 库,仅改变绘制形状)
- 方形模式下与原始 qrcode.toCanvas 输出视觉一致(同模块矩阵)
- 三个定位点位置正确(左上、右上、左下)
- 圆形/圆角样式边缘平滑,无明显锯齿(Canvas 2D 原生抗锯齿)
- 不同尺寸(300/400/500/1000px)下渲染清晰
交互体验
- 任何参数变化实时预览,延迟 < 200ms(useEffect + Canvas 直接绘制)
- 下载的 PNG 与预览效果完全一致(同 canvas 元素 toDataURL)
- 清除按钮重置所有参数(内容、样式、Logo 全部清空)
- 上传 Logo 有文件类型校验和错误提示
UI / 样式
- 设置区域分组清晰,标签明确
- 暗色模式下所有控件显示正常
- 移动端(<768px)单列布局,所有控件可用
- 预设配色按钮视觉美观,hover 效果正常
代码质量
- 渲染逻辑与 UI 组件分离(独立的 qrRenderer 模块)
- TypeScript 类型定义完整,无 any 类型
- 组件职责清晰,状态管理合理
- 无 TS 编译错误(QRCodeGenerator 和 qrRenderer 均通过)