Abner
|
49be510892
|
✨ feat(simyo): 支持登录 MFA 双路径并统一会话守卫
新用户默认 MFA 时经 v2 verifyOTP 换正式会话;老用户未开启 MFA 时跳过步骤 2。
补齐 v2 代理、5 步 UI、i18n 与单元测试,抽取 requireSessionToken 避免业务接口遗漏守卫。
|
2026-07-22 21:12:59 +08:00 |
|
Abner
|
f41b21ab02
|
📝 docs: 规范 Simyo 测试注释表述
统一测试文件中的客户端身份与请求头相关描述。
|
2026-07-22 19:26:13 +08:00 |
|
Abner
|
4c8ab4b916
|
📝 docs: 规范 Simyo 客户端与接口注释表述
将注释与测试描述改为中性技术说明,仅保留接口路径与配置语义。
|
2026-07-22 19:26:13 +08:00 |
|
Abner
|
0a70ce47cb
|
✨ feat(simyo): 完善 eSIM 更换流程(仅 EMAIL)
- 修 handleApiResponse:登录/查询体无 result.success 时正确判定成功
- 设备更换:先 GET settings/simcard,再 POST EMAIL 申请;等待验证码时跳过重复下单
- 登录识别 mfaStatus,未关闭 MFA 时明确阻断
- bad session 单独文案;UA 更新为 iOS 18.2 / iPhone12,8
|
2026-07-22 19:26:12 +08:00 |
|
Abner
|
704d385d8a
|
✨ feat(simyo): 将 HTTP 426 等错误映射为用户可读文案
避免界面直接展示「HTTP 426」「missing X-Device-ID」等原始信息,
按状态码与已知业务短语输出中英文友好提示。
|
2026-07-22 19:26:12 +08:00 |
|
Abner
|
2bbe2f9bc4
|
♻️ refactor(simyo): 统一客户端版本与 User-Agent 配置
抽取 client-identity 作为版本、设备型号与 User-Agent 的单一事实来源;
本地与 Netlify 代理强制使用配置的 User-Agent,不再透传浏览器 UA。
|
2026-07-22 19:26:12 +08:00 |
|
Abner
|
5a65dd3d01
|
🐛 fix(simyo): 补齐请求头 X-Device-ID
Simyo 4.28+ 要求每个请求携带 UUID 形态的 X-Device-ID,
缺失会返回 400 missing X-Device-ID。前端生成并持久化设备 ID,
本地与代理同步转发该请求头,并将上游 API 路径切换为 webapi。
|
2026-07-22 19:26:12 +08:00 |
|