docs(plans): K6 增加点击震动反馈要求
This commit is contained in:
1 parent
79a1194257
commit
93af19e548
1 file changed
+17
-2
+17
-2
@@ -44,7 +44,7 @@
|
||||
- 现有 Key:`home-tabs-bar`、`tab-discover`、`tab-home`、`tab-my-list`、`tab-my`,**测试依赖,不得改名**。
|
||||
- 播放沉浸模式(`videoImmersive`)下隐藏导航,需保留。
|
||||
|
||||
### 二、本批范围(2 块,按顺序做)
|
||||
### 二、本批范围(3 块 + 测试验收,按顺序做)
|
||||
|
||||
#### K6-A 登录页 UI 优化
|
||||
|
||||
@@ -65,11 +65,26 @@
|
||||
- **保持**:4 个 tab 的数量、顺序、导航逻辑与全部 Key 不变;播放沉浸模式仍隐藏导航。
|
||||
- **不做**:新增 tab、改信息架构、改页面内容。
|
||||
|
||||
#### K6-C 测试与验收
|
||||
#### K6-C 点击震动反馈
|
||||
|
||||
> specs 无触觉反馈规范;此为用户 2026-10-17 明确指令,按下方口径执行。客户端当前 `HapticFeedback` 调用数为 0。
|
||||
|
||||
- 使用 Flutter 内置 `HapticFeedback`(`package:flutter/services.dart`),**不引入第三方插件**。
|
||||
- 统一封装 `lib/core/platform/haptics.dart`(如 `Haptics` 抽象 + 默认实现),页面通过依赖注入调用,便于 widget 测试替换为 fake;禁止在页面里散落直接调用静态 `HapticFeedback.*`。
|
||||
- 触发范围(克制,只做关键操作):
|
||||
- 底部导航 tab 切换:`selectionClick()`;
|
||||
- 主操作按钮成功触发时:登录/注册提交、收藏/取消收藏、点赞/取消点赞、评论发送、举报提交、下载授权申请:`lightImpact()`;
|
||||
- 危险操作确认(清空观看记录、清空下载、删除记录/授权):`mediumImpact()`。
|
||||
- 不在普通列表项点击、滚动、页面切换上震动;不新增「震动开关」设置项(避免超出本批)。
|
||||
- 调用不阻塞 UI:`unawaited(...)`;异常不得影响业务(触觉不可用时静默忽略,禁止空 catch 之外的吞错写法)。
|
||||
- 真机验收:iPhone 上逐项可感知;iOS 低电量模式会自动禁用触觉,验收时确认未处于低电量模式。
|
||||
|
||||
#### K6-D 测试与验收
|
||||
|
||||
- widget 测试至少覆盖:
|
||||
- 底部导航 4 个 Key 存在、选中态随 tab 切换、沉浸模式下隐藏;
|
||||
- 登录页密码显隐切换、提交中按钮禁用、错误提示展示、键盘 next/done 焦点流转(可用 `tester.testTextInput`);
|
||||
- 震动反馈:用 fake `Haptics` 断言 tab 切换触发 `selectionClick`、主操作触发 `lightImpact`、危险操作确认触发 `mediumImpact`,且普通列表点击不触发;
|
||||
- 无新增硬编码色值(沿用 K5 的扫描测试口径)。
|
||||
- 深色主题、小屏(iPhone SE 级别)、键盘弹出三种场景不溢出。
|
||||
- 真机验收由用户执行:登录页视觉与交互、底部导航选中态与安全区。
|
||||
|
||||
Reference in new issue
Block a user