# 登录页视觉对照 ## 本轮修改 来源:`doc/用户端APP-最新参考产品设计/01-登录页.png`。 在内置浏览器以 390×844 核对旧页面,发现登录方式分隔线、输入框和主按钮整体偏下,输入框边框偏淡,主按钮和登录方式文字偏小。 修改 `apps/user_app/lib/ui/features/auth/login_page.dart` 的 `build`、`_modeTab`: - 品牌宽度从 150 调整到 140,缩短品牌到登录方式的垂直间距。 - 标签 14、登录方式 16、主按钮 18 字号;输入区约 50 高,边框改为设计图的浅灰色。 - 主按钮使用更接近来源图的蓝色及五像素圆角。 - 协议说明移回忘记密码下方,保留真实协议查看;注册入口移到其后,未删除原有注册功能。 - 调整协议区域按钮内边距,避免手机宽度下多余换行。 额外修正此前新增设备卡测试中的一处字符串插值 lint,不改变测试行为。 ## 验证 登录页八项现有测试通过,涵盖登录方式切换、凭据和焦点保护、校验、提交及验证码请求关联。 Flutter 静态检查通过。 内置浏览器实际切换到密码登录,并空提交,确认显示手机号和密码必填提示,没有提交登录请求。 390×844 的主布局已实际截图核对,主要控件位置比修改前接近来源图。 ## 验收边界 尚未判定图 01 完全通过:仍需更细的字体与来源图差异核对,以及其他宽度、放大文字、真实登录和协议内容验收。原图没有注册入口,现有注册功能保留在协议区下方,此处是明确保留的功能差异。 短信供应商尚未接入,验证码不能宣称已真实发送。 设备方面,本轮检查 `product_info` 与 `iot_device_message`:前者含钢瓶等实体档案,后者使用厂商 `device_id`,尚未确认可直接用于用户端的可靠映射。没有将产品档案冒充设计图 34 的在线设备列表,控制和遥测继续提示未开放。此前新增归属接口仍未部署到当前运行 API。 ## 最终复核:2026-09-11 17:00后 操作类型:修改、验证 影响模块:登录页视觉、验证码交付状态、视觉验收夹具 - 事实源929×1693保持比例缩放到390像素宽,放入390×844画布;没有再用满高拉伸图判断间距。 - 登录页恢复与事实源一致的紧凑纵向节奏,并修正按钮文字样式继承。视觉夹具中的标签、验证码按钮、登录和忘记密码不再显示方框。 - `UserSession.sendCode`识别服务端`delivery_status=not_sent`,抛出稳定2410提示;页面显示“短信验证码暂未开放”,不启动60秒倒计时。 - 内置浏览器真实验证:Mock验证码请求显示暂未开放;切换密码模式后使用授权测试账号登录成功并进入首页。 - 九项登录页面测试、八组320/360/390/430宽度及1.3倍文字视觉用例、Flutter静态检查和Web Release构建通过;全量Flutter 160项测试通过。 最终共同区域未发现P0、P1或P2布局问题,品牌尺寸、标签分隔线和局部字重存在P3差异。“首次使用?注册账号”按用户明确要求保留,但不在设计源中;真实短信供应商仍未配置,因此图01最终状态为blocked,不能宣称整页严格1:1和完整功能通过。