Commit Graph

12 Commits

Author SHA1 Message Date
qzl 0661016827 feat(auth): transition from email to phone-based OTP authentication
- Replace Email+Password login with Phone+OTP flow
- Remove RegisterCubit and registration screens (email verification)
- Remove ResetPasswordCubit and reset password screens
- Add phone normalization and international dial code support
- Update LoginCubit with sendCode/resend cooldown logic
- Add new widgets: phone prefix selector, confirm sheet
- Update all auth API endpoints: /otp/send, /phone-session
- Update form inputs: Email -> Phone with E.164 validation
- Update tests for new auth flow
2026-03-19 18:42:05 +08:00
qzl b34697660d feat: 实现 Auth 全局状态机与 401 统一处理机制
- 新增 AuthSessionInvalidated 事件处理 token 失效场景
- ApiInterceptor 新增 authFailureCallback 单飞机制
- AuthBloc 区分 manual logout 与 auto expiry 语义
- 新增 startup recovery fallback 防止启动卡死

feat: 重构 Calendar DayWeek 视图事件布局引擎

- 新增 DayEventLayoutEngine 解耦事件计算与渲染
- 新增 DayTimelineMetrics 统一时间轴常量
- 新增 DayViewScale 支持捏合缩放

feat: 新增 Settings 页面共享 UI 组件

- 新增 BackTitlePageHeader 统一页面 header
- 新增 DetailHeaderActionMenu 统一操作菜单
- 新增 DestructiveActionSheet 统一删除确认
- 新增 AppToggleSwitch 统一开关组件

feat: Chat UI Schema 支持导航操作

- 支持 navigation 类型 action 触发内部路由跳转
- 新增路径验证与参数处理

chore: 更新相关测试覆盖 auth 失效路径
2026-03-18 13:35:25 +08:00
qzl e4e995854d feat: 实现密码重置功能与用户搜索API,优化注册登录流程
- 新增忘记密码页面与重置密码确认流程(前端+后端)
- 修复注册验证码页登录跳转路由
- 新增用户搜索API(按邮箱查询)
- 简化infra脚本,统一为app.sh
- 补充密码重置与用户API测试覆盖
- 更新runtime文档与AGENTS配置
2026-02-27 15:22:42 +08:00
qzl d635d9a5e0 refactor(frontend): adapt to RESTful API routes 2026-02-26 14:28:58 +08:00
qzl cc7a70d793 fix(auth): correct resend response type and improve error messages 2026-02-26 12:13:50 +08:00
qzl 4f9889bb3f fix(auth): set failure status on sendCodeSilently error 2026-02-26 11:25:51 +08:00
qzl 8235ac5cd9 fix(auth): improve resendCode with status tracking and return value 2026-02-26 11:12:04 +08:00
qzl 8e8bcfa4f5 fix(auth): prevent concurrent sendCodeSilently and add edge case tests 2026-02-26 10:46:16 +08:00
qzl 175da2a8b7 feat(auth): add sendCodeSilently with isSending state 2026-02-26 10:37:02 +08:00
qzl c9195b81b6 feat(apps): add LoginCubit for login form 2026-02-25 15:09:29 +08:00
qzl 89d2722241 feat(apps): add RegisterCubit for signup form 2026-02-25 15:05:29 +08:00
qzl 9b51c8b293 feat(apps): add AuthBloc for global auth state 2026-02-25 14:59:20 +08:00