Files
ReelShort/docs/plans/2026-10-22-login-error-center-toast.md
T

1.4 KiB

登录异常居中吐司

目标

  • 将上一版认证异常 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 项全过。
  • 未启停服务,未操作真机。