30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
# 登录异常居中吐司
|
|
|
|
## 目标
|
|
|
|
- 将上一版认证异常 AlertDialog 替换为无交互的屏幕居中吐司。
|
|
- 吐司淡入展示约 2 秒后自动淡出,不遮罩、不拦截手势。
|
|
- 同一时刻只存在一个吐司,新消息替换旧消息。
|
|
|
|
## 实施步骤
|
|
|
|
1. 删除 `centered_error_dialog.dart`,新增 `centered_toast.dart`。
|
|
2. 认证页和手机号弹窗异常路径改用 `showCenteredToast`,保留 busy 复位和成功 SnackBar。
|
|
3. 清理不再使用的认证错误标题与确认按钮 l10n 键,重新生成 AppLocalizations。
|
|
4. 更新认证测试为吐司断言,并补单例替换、自动消失测试。
|
|
5. 执行 `dart analyze lib test` 与 `flutter test --no-pub`,回填 PROGRESS 后提交合并。
|
|
|
|
## 风险 / 待确认
|
|
|
|
- 吐司使用 root Overlay,认证路由退出时仍会按自身计时器自动清理。
|
|
- 测试必须 pump 超过展示和淡出时长,确保不遗留 Timer 或 OverlayEntry。
|
|
|
|
## 执行结果
|
|
|
|
- 已删除 AlertDialog 组件,新增 OverlayEntry 居中吐司。
|
|
- 邮箱和手机号异常改用吐司;busy 复位、成功 SnackBar 和本地内联校验保持不变。
|
|
- 已清理三个不再使用的 l10n 键并重新生成 AppLocalizations。
|
|
- 覆盖单例替换、点击穿透、自动消失、接口异常和本地校验不弹吐司。
|
|
- `dart analyze lib test` 零告警,`flutter test --no-pub` 573 项全过。
|
|
- 未启停服务,未操作真机。
|