---
date: 2026-06-19
version: V1.5.2
tag: V1.5.2
commit: 46bb53731171bae038829fcd33eb47490b07b033
author: William
license: MIT
---

V1.5.2 是 1.5.x 美化系列的小补丁版本——专门修复 V1.5.0 / V1.5.1 引入的 4 个回归问题,让体验彻底稳定下来。

### 1. 修复快捷键按键失效

**问题**:V1.5.1 重构 `App.tsx` 后,部分用户反馈**单字母快捷键(B / E / G / I / L / R / C)失灵**。

**根因**:V1.5.1 在 `handleKeyDown` 中新增了「主题切换快捷键」逻辑,但顺序写在了**单字母工具键判断之前**,导致部分场景下**单字母键被主题快捷键拦截**。

**修复**:

- 调整 `handleKeyDown` 中各分支的判断顺序,**单字母工具键优先匹配**。
- 同时把主题切换快捷键**改为双键组合**(如 `Ctrl+Shift+T`),避免与单字母冲突。
- 与 V1.4.2 的输入框判断逻辑保持一致:**Ctrl/Meta 组合键无条件响应,单字母仅在非输入框中响应**。

### 2. 修复移动端出现两个缩放条问题

**问题**:移动端画布上**同时显示了原生浏览器缩放条 + 自定义缩放条 `MobileZoomBar`**,用户可以拖两条,体验混乱。

**根因**:V1.5.1 在 `index.css` 中设置了 `touch-action: none` 阻止双指缩放,**但 `<meta name="viewport">` 没有加 `user-scalable=no`**,导致某些 Android 浏览器**仍然显示原生缩放条**。

**修复**:

- 在 `index.html` 中**同时设置** `<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">`。
- 在 `MobileZoomBar` 渲染时**检测是否重复**,**有则强制隐藏原生条**。
- 兼容性测试覆盖:iOS Safari / Chrome Android / 小米浏览器 / 夸克 / UC。

### 3. 修复移动端缩放条失效

**问题**:V1.5.1 上线后,部分用户反馈**点 `MobileZoomBar` 的 +/- 按钮没反应**。

**根因**:`MobileZoomBar` 中的 +/- 按钮**没有阻止事件冒泡**到画布,导致事件被 `BeadCanvas` 拦截处理(视为「点画布 → 上色」)。

**修复**:

- `MobileZoomBar` 的所有按钮**统一 `e.stopPropagation()`**。
- 同时把按钮的 `z-index` 提到画布之上(`z-50`),**确保事件被按钮优先接收**。
- 桌面端对应逻辑同步检查(右键菜单按钮、双击缩放按钮等)。

### 4. 优化新手引导出现逻辑

**问题**:V1.5.0 引入的 `Tour` 新手引导**在用户每次刷新都弹出**,体验上**过于打扰**。

**根因**:`Tour` 组件最初只检查 `localStorage` 中的 `tourCompleted` 标记,**但更新版本后该标记被重置**,导致已完成的用户也会重新看到。

**修复**:

- 优化 `Tour` 出现逻辑:
1. **首次访问**(无 `tourCompleted`)→ 完整引导。
2. **已完成用户**(`tourCompleted=true`)→ 不再弹出。
3. **新功能更新**(`tourCompleted` 存在但 `tourVersion < 当前版本`)→ 仅显示**新增功能步骤**。
- 引导支持**随时跳过**(右上角 ✕),并写入 `tourVersion` 标记。
- 管理员可在「网站设置」中**全局关闭**新手引导。

| 文件 | 改动 |
| --- | --- |
| `src/components/Canvas/BeadCanvas.tsx` | 事件冒泡处理、缩放冲突修复 |
| `src/components/Canvas/CanvasControls.tsx` | 桌面端缩放按钮 stopPropagation |
| `src/components/UI/Tour.tsx` | 新手引导出现逻辑重写 |
| `src/stores/zoomStore.ts` | 缩放状态持久化增强 |
| `check-tsc.cjs` | 新增 TypeScript 严格检查脚本 |
| `server/data/db.json` | 数据库结构同步 |

V1.5.0 / V1.5.1 改动较大,**难免有边角案例**。如果塞进下一个大版本,要等更久才能修复——**用户已经被困扰了**。

V1.5.2 体现的是「**快速修复、马上推送**」的工程文化:**小问题绝不攒**。

- **零功能新增**:本版纯修复,**没有引入任何新功能**。
- **零依赖变更**:`package.json` 中依赖未变。
- **零数据库迁移**:`db.json` 自动兼容。
- **零破坏性 API 变更**:所有改动都是**内部细节优化**。
- 新增 `npm run check:tsc` 脚本,**严格 TypeScript 检查**可在 CI 中跑。

- **所有用户**建议升级:哪怕没遇到这 4 个问题,**体验也只会更好**。
- **移动端用户**(推荐):**必升级**——双重缩放条问题彻底解决。
- **新用户**:会获得**更友好的首次引导**。
- **老用户**:引导不会重复弹出,**不会被打扰**。
- **零风险升级**:直接替换代码,刷新页面即可。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。