feat(qml): task #13 登录页接 AuthBridge 真 db 认证
LoginScreen.qml wiring 改造:
- appState.login → auth.login (走 DatabaseManager.authenticate / pymysql)
- 删 || "demo" 兜底,密码空时 UI 阻断
- submitting 状态:登录中 username/password/checkbox/button 全 disabled,按钮文字 "登录中…"
- 监听 auth.loginFailed → errorLabel 红字展示后端返回的具体原因
("用户名或密码错误" / "无法连接到服务器" 等,DatabaseManager 已统一中文化)
- usernameField 不再硬编码 "chaijin",改 placeholder
冒烟测试(直接调 Python 测真 db):
- chaijin/wrongpwd → False,loginFailed 信号"用户名或密码错误"
- chaijin/a160827 → True,loggedIn=True,currentUser='chaijin'
QML 启动登录页渲染正常(task13_login.png 已验证)。
注:
- "记住用户名/密码" checkbox UI 保留但暂未持久化,task #18 系统集成时接 config_util 落盘
- pymysql 同步阻塞主线程最多 5s(connect_timeout),暂不影响 UX;
若 db 慢成痛点 task #18 时再改 worker 异步
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Showing
1 changed file
with
44 additions
and
13 deletions
-
Please register or sign in to post a comment