rwadurian/frontend/mobile-app/lib/core
hailin a38aac5581 feat(email): 实现邮箱绑定/解绑功能
后端:
- 新增 EmailService 邮件发送服务,支持 Gmail SMTP
- 新增 EmailCode 数据模型用于存储邮箱验证码
- UserAccount 添加 email 字段
- 新增 API 接口:
  - GET /user/email-status 获取邮箱绑定状态
  - POST /user/send-email-code 发送邮箱验证码
  - POST /user/bind-email 绑定邮箱
  - POST /user/unbind-email 解绑邮箱
- 新增 DTOs: SendEmailCodeDto, BindEmailDto, UnbindEmailDto
- 新增 Commands: SendEmailCodeCommand, BindEmailCommand, UnbindEmailCommand

前端:
- account_service 新增邮箱相关方法和 EmailStatus 类
- bind_email_page 更新为使用真实 API:
  - 绑定/更换邮箱功能
  - 独立的解绑验证码输入和倒计时
  - 解绑确认对话框

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 20:53:20 -08:00
..
config refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
constants feat: integrate real API for authorization apply page 2025-12-21 22:01:28 -08:00
di chore: 提交所有未提交的修改 2025-12-19 06:09:43 -08:00
errors refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
extensions refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
network feat(auth): 实现修改密码API和Token过期自动跳转登录 2025-12-23 20:25:56 -08:00
sentry fix(sentry): 修复 Flutter 代码分析错误 2025-12-15 11:04:28 -08:00
services feat(email): 实现邮箱绑定/解绑功能 2025-12-23 20:53:20 -08:00
storage chore: 提交所有未提交的修改 2025-12-19 06:09:43 -08:00
telemetry feat(telemetry): 将userId改为userSerialNum字符串格式并完善遥测追踪 2025-12-15 06:55:25 -08:00
theme refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
updater refactor: 更换包名和签名证书以绕过华为风险软件检测 2025-12-17 00:24:22 -08:00
usecases refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
utils feat(frontend): 前端时间显示统一转换为本地时间 2025-12-23 19:45:51 -08:00
widgets feat(profile): 添加懒加载、防抖和失败重试机制 2025-12-15 20:50:27 -08:00