Abner
|
093310d25e
|
♻️ refactor: 优化通知与性能监控模块,加固通知消息 XSS 防护
- 通知服务新增页面可见性监听:标签页隐藏时暂停轮询,回到前台后恢复定时,离开期间超过检查周期则立即补查,节省 Netlify Function 配额
- 性能监控改为批量缓冲写入 sessionStorage,达到 1 秒间隔或 20 条上限自动落盘,并在页面隐藏/卸载时冲刷剩余缓冲,避免逐条读写开销
- 通知管理器改用原生 DOM API 构建节点并以 textContent 渲染消息,移除 innerHTML 与 escapeHtml 方法,从结构上杜绝 XSS 注入
- 新增 notification-service、notification-manager、performance-monitor 三组单元测试,覆盖后台暂停恢复、缓冲落盘、XSS 防护与空消息容错等场景
- 合并共享 Toast 样式至 design-system.css 并支持主题色定制,入场动画改为渐进增强,清理废弃请求日志中间件、SW 预缓存路径等冗余代码
|
2026-08-09 18:33:34 +08:00 |
|
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 |
|
Abner
|
2eda195a89
|
✅ test: 补充诊断导出与帮助弹窗防护用例
同步更新 AuthHandler 断言与模块文档说明。
|
2026-07-17 20:53:32 +08:00 |
|
Abner
|
890e05f27f
|
✅ test: 补充 OAuth、登录、剪贴板与反馈相关单测
修复 sentry-feedback 与 qrcode 断言,新增 clipboard/PKCE/OAuth 回调/AuthHandler/showToast 覆盖。
|
2026-07-17 20:49:10 +08:00 |
|
Abner
|
59a7a97c29
|
✨ feat: CORS 多源支持 + Simyo 代理修复 + API 响应处理重构
- CORS 支持逗号分隔多源列表和通配符,新增 isAllowedOrigin/resolveCorsOrigin
- Simyo 代理路径从 req.path 改为 req.originalUrl,修复查询参数丢失
- Simyo 客户端配置提取为常量,支持环境变量覆盖
- API 端点检测浏览器协议,HTTP 访问时使用相对路径
- handleApiResponse 重构:content-type 检查、HTTP 错误优先、兼容三种响应格式
- 新增 X-Session-Token 头透传
- Logger 简化,移除前端模块依赖
- 同步更新测试 mock 以匹配新接口契约
|
2026-05-24 20:36:05 +08:00 |
|
Abner
|
ae7e30b5b1
|
✨ feat: 添加手机浏览器环境检测与警告功能
- 新增 browser-utils.js 模块,提供 isMobileBrowser 检测和 showMobileWarning 警告功能
- 实现会话级去重机制,避免重复显示手机环境警告通知
- 在 SimyoApp 的登录和设备更换流程中添加手机环境检测逻辑
- 在 GiffgaffApp 的 OAuth 登录流程中添加手机环境检测逻辑
- 添加多语言翻译支持,包括中文和英文版本的环境警告提示文本
|
2026-05-19 23:15:55 +08:00 |
|
Abner
|
6282507d12
|
♻️ refactor(simyo): 移除模块化流程的 sendSmsCode 路径
|
2026-04-18 22:25:45 +08:00 |
|
Abner
|
f7151c9283
|
♻️ refactor: 优化设备更换验证码流程并添加相关测试
- 修改中英文帮助文档,将“获取或接收验证码”调整为更准确的“发送与接收验证码”
- 简化 `device-change-handler.js` 中的验证码发送逻辑,移除冗余的错误处理,统一回退机制
- 当新版流程仅支持邮箱验证时,即使短信接口不可用也返回成功提示,提升用户体验
- 新增 `device-change-handler.test.js` 测试文件,覆盖 `applyNewEsim`、`verifyCode` 和 `sendSmsCode` 方法的正常与异常场景
- 新增 `simyo-app-device-change.test.js` 测试文件,验证主流程中设备更换的自动化操作和UI交互逻辑
|
2026-04-18 22:08:35 +08:00 |
|
Abner
|
1f48e0fd9e
|
fix(simyo): close help removes overlay
|
2025-12-31 11:29:37 +08:00 |
|