Commit Graph

19 Commits

Author SHA1 Message Date
Abner
4a7e842d40 🐛 fix: 修复 giffgaff session 恢复后 LPA 和二维码不显示的问题(Issue #75)
- `showESimResult` 中移除 `!state.lpaString` 的提前返回,即使 lpaString 为空也显示结果容器,确保用户看到明确的错误提示和可能的排查信息
- 在 session 恢复流程(`giffgaff-app.js`)中显式调用 `uiController.showESimResult()`,使刷新页面后能正确显示二维码和 LPA 字符串,而不再跳过关键渲染步骤
- 为 `showESimResult` 添加完整的 try-catch 包裹及防御性 DOM 元素校验,在二维码生成失败时降级显示错误提示,避免页面静默失败
- 新增 i18n 键 `giffgaff.app.error.lpaStringMissing`(中英文),用于替代硬编码的错误文案,保持国际化一致性
- 新增 `tests/giffgaff/session-restore-lpa.test.js`,覆盖正常 LPA 展示、空 lpaString 错误降级、二维码生成、状态不一致降级以及延迟显示等场景
2026-06-12 23:54:05 +08:00
Abner
e669b96f28 📝 docs: 完善 CLAUDE.md 检索指南并更新激活方式描述文案
- 在 CLAUDE.md 中新增基础检索章节,明确交叉验证策略、工具调用顺序、使用场景优先级及参数调优指南
- 新增网络检索章节,定义 smart-search-cli 工具路由矩阵、执行策略、错误恢复机制和核心约束
- 更新手动激活和短信验证码激活的中文及英文描述文案,明确说明适用场景为实体卡转 eSIM 或设备更换
- 同步更新 i18n-data.js 和 giffgaff_modular.html 中的对应文案,保持中英文翻译一致
2026-06-08 18:11:16 +08:00
Abner
274d825ae8 🔧 chore: 更新 AI 使用指引的上下文检索要求
- 将任务开始前的检索要求调整为必须同时调用 `mcp__ace-tool__search_context` 和 `mcp__fast-context__fast_context_search`,提升上下文确认的可靠性
- 明确两个检索工具需要交叉对比结果并取交集作为有效上下文,减少单一检索带来的偏差
- 补充当两边结果不一致时的处理方式,要求进一步加深检索或调整查询词重新搜索
- 保留并顺延原有的 Giffgaff OAuth 说明,避免前端跳转地址与服务端环境变量的职责混淆
2026-06-05 17:08:51 +08:00
Abner
8e6227e746 📝 docs: 为 giffgaff 和 simyo 模块新增 CLAUDE.md 文档并更新根目录索引
- 新增 `src/giffgaff/CLAUDE.md`(151 行),完整记录 Giffgaff 模块职责、模块结构、对外接口、OAuth PKCE 和 eSIM 激活数据模型、配置与状态结构
- 新增 `src/simyo/CLAUDE.md`(154 行),完整记录 Simyo 模块职责、模块结构、登录与设备更换流程、与 Giffgaff 模块的差异对比、配置与状态结构
- 更新根目录 `CLAUDE.md` 变更记录,新增 2026-06-02 增量扫描条目,修正构建脚本数量从 23 更新为 22
- 修复模块结构图中 giffgaff 和 simyo 节点的 click 链接,从 `MODULE_ARCHITECTURE.md` 重定向到新建的 `CLAUDE.md`
2026-06-02 23:06:48 +08:00
Abner
00a0e58d81 📝 docs: 更新架构与安全文档并扩展测试模块清单
- 更新 CLAUDE.md、docs/ARCHITECTURE.md 中的模块与阶段状态,补充 verify-cookie/health/public-config/notifications 等新节点,并将基础设施阶段由规划中标注为进行中
- 完善 docs/SECURITY.md 的 BFF 代理层与 withAuth 中间件说明,明确 x-esim-key 注入、函数白名单校验以及 CORS/体验验证的统一错误格式化策略
- 更新 src/giffgaff/MODULE_ARCHITECTURE.md 的安全考虑条目,补充 cookie 有效性检查间隔、CSP/Helmet 策略、HTML sanitization(escapeHtml/escapeAttr)以及通过 BFF 代理转发的传输层防护细则
- 扩展 tests/CLAUDE.md 测试范围与表格结构,新增 modules、giffgaff、security 三类的独立测试文件清单,并补充 tests/setup.js 的全局初始化说明
- 调整脚本与模块文档:scripts/CLAUDE.md 新增部署与构建相关脚本清单;src/js/modules/CLAUDE.md 更新 CaptchaManager 集成说明与模块覆盖状态,补充 notification-service/browser-utils 等相关条目
2026-06-02 22:50:26 +08:00
Abner
df2b6ca814 🐛 fix(auth): 收紧 BFF 鉴权并修复内部调用链路 2026-05-31 19:25:23 +08:00
Abner
b815225845 🐛 fix(auth): 收紧 BFF 鉴权并保持内部路由兼容 2026-05-31 18:15:45 +08:00
Abner
defcea2160 🔥 chore: 清理 Legacy 冻结校验工具链及相关残留配置
- 删除 `scripts/verify-legacy-frozen.js` 及 `scripts/legacy-freeze.json`,移除 legacy 文件冻结校验能力
- 删除 `package.json` 中 `verify:legacy` 和 `verify:legacy:update` 两个 npm scripts
- 删除 `build-static.js` 中移除 legacy HTML 文件的构建时清理逻辑
- 移除 `server.js` 中已废弃的 `/simyo-static` 路由及其兼容静态路径
- 更新 CLAUDE.md、scripts/CLAUDE.md 及两个业务模块架构文档,将"Legacy 架构"表述统一改为"原生 ES6 模块"
2026-05-25 20:34:53 +08:00
Abner
2eab92a20f 📝 docs: 更新项目文档并添加 .context 目录管理规则
- 在 CLAUDE.md 中添加 `.context/` 目录的项目上下文说明,明确其用于管理开发决策
- 规定编码规范、工作流规则和决策历史的文件路径:`prefs/coding-style.md`、`prefs/workflow.md` 和 `history/commits.md`
- 添加核心规则:修改代码前必须阅读 prefs/ 相关文档,做重要决策时需按 workflow.md 要求记录变更日志
- 在 .gitignore 中忽略 `.context/` 目录,避免将内部决策记录提交到版本库
2026-05-19 22:07:18 +08:00
Abner
ad16472fad 📝 docs: 全面审查并修复项目文档质量
- 重构 ARCHITECTURE.md,拆分未来架构到独立文件,修复 TypeScript 伪代码
- 修正 CLAUDE.md 模块结构图路径与实际代码一致
- 统一 README 中英文版快速开始步骤,补充环境变量配置
- 修复 TOKEN_REFRESH_FIX.md 未声明变量错误
- 统一修复文档格式模板,更新 reference 文件引用路径
- 优化 CORS_SOLUTION.md 标题语义和安全建议
- 补充 SECURITY.md CSP 配置上下文说明
- 调整 User_Guide.md 视频位置,补充扫码安装步骤
2026-05-19 19:30:37 +08:00
Abner
fe28aec804 📝 docs: 修复 bot 审查发现的文档一致性问题
- 更新 tests/CLAUDE.md:移除已删除的 giffgaff 测试文件引用
- 更新 src/simyo/MODULE_ARCHITECTURE.md:移除对已删除目录的引用
- 更新 CLAUDE.md:修正 Webpack 相关描述,移除已废弃的别名说明

所有测试通过,文档与代码保持一致。
2026-05-18 22:23:10 +08:00
Abner
404fc88332 🧹 chore(cleanup): 移除未使用的模块化版本并修复文档问题
- 删除 src/js/modules/giffgaff/ 和 src/js/modules/simyo/ 目录(未完成的重构尝试)
- 移除 webpack.config.js 中未使用的别名配置和入口文件
- 修复文档错链:移除对不存在的 DEVELOPMENT_GUIDE.md 引用
- 修复文档错链:将 CORS_SOLUTION.md 中的 simyo_proxy_server.js 更正为 server.js
- 更新 tests/CLAUDE.md 中 Jest 版本为 30.3.0
- 移除 src/simyo/MODULE_ARCHITECTURE.md 中过时的重构计划
- 精简 docs/reference/ 下的技术文档,移除与根 README 重复的内容
- 删除已弃用的 .serena/ 工具目录
- 更新根 CLAUDE.md 反映清理后的新目录结构
- 删除 3 个引用已删除模块的测试文件

所有测试通过,构建成功,质量检查和安全检查均通过。
2026-05-18 21:58:42 +08:00
Abner
319c7da15f 📝 docs: 同步文档和日志规范
- Logger.env() 添加 isDev 门禁,生产环境不再打印 UA 信息
- 更新 CLAUDE.md 移除 Turnstile 验证码描述
- 更新 edge-functions/CLAUDE.md 简化 BFF 职责说明
- 更新 functions/CLAUDE.md 移除 turnstileToken 字段
2026-05-18 20:31:06 +08:00
Abner
c3926b14eb 📝 docs: 修正误导性描述,明确工具仅支持已有用户 eSIM 设备更换 2026-05-17 21:57:13 +08:00
Abner
14e2500a85 📝 docs: 更新项目文档和配置说明
- 更新 Jest 版本从 29.7.0 到 30.3.0,保持测试框架最新状态
- 修正文档链接,将性能说明指向 ARCHITECTURE.md 替代已废弃的 PERFORMANCE.md
- 新增 docs/CLAUDE.md 文档模块说明文件,明确文档结构和规范要求
- 删除过时的 REFACTORING_COMPLETE.md 文档,避免信息冗余
- 统一服务时间描述为英国时间 04:30–21:30,修正多处时间范围表述错误
2026-05-03 22:26:23 +08:00
Abner
8f9bd3a6be 📝 docs: 新增模块化文档文件并更新主文档索引
- 新增 `src/js/modules/CLAUDE.md`,详细描述通用工具模块的职责、接口和使用方式
- 新增 `netlify/functions/CLAUDE.md`,系统化说明 11 个 Serverless 函数的功能和中间件架构
- 新增 `netlify/edge-functions/CLAUDE.md`,明确 BFF 代理层的验证码校验规则和转发流程
- 新增 `scripts/CLAUDE.md`,梳理 22 个构建和质量检查脚本的用途和执行命令
- 新增 `tests/CLAUDE.md`,说明 Jest 测试框架配置、覆盖率要求和各模块测试文件
- 更新根目录 `CLAUDE.md`,精简内容并添加模块结构图和详细索引导航
2026-04-28 20:14:59 +08:00
Abner
188d4af85a feat: 实现多提供商验证码系统,支持 Cloudflare Turnstile 和 Google reCAPTCHA
- 新增 CaptchaManager 类,统一管理 Turnstile 和 reCAPTCHA 验证码的初始化和 token 管理
- 扩展 BFF 代理支持多验证码提供商,根据配置自动切换验证逻辑
- 新增公共配置端点,动态下发验证码提供商配置到前端
- 重构 API 管理器,统一处理验证码 token 的头部和载荷注入
- 更新 CSP 策略,支持两种验证码服务的域名和资源
- 保留原有 Turnstile 功能的同时,支持 reCAPTCHA 作为备选方案
- 提供灵活的配置选项,可通过环境变量控制提供商开关和强制验证
2025-11-24 19:03:43 +08:00
Abner
05318df88a feat: 为 Turnstile 验证添加强制执行控制功能
- 新增 TURNSTILE_ENFORCE 环境变量,可在紧急情况下跳过 BFF Turnstile 验证
- 在 CLAUDE.md 和 env.example 中添加完整的 Turnstile 配置说明
- 修改 BFF 代理逻辑,仅在启用强制执行时进行 Turnstile 验证
- 优化前端 JavaScript 代码,移除冗余的验证状态变量
- 在跳过验证时输出警告日志,便于调试和监控
2025-11-24 17:38:12 +08:00
Abner
cde5a0af1d 新增 CLAUDE.md 项目指导文件,包含完整的项目架构、技术栈和开发规范
- 详细说明项目架构模式:无框架设计、Serverless优先、BFF模式
- 定义文件结构和模块划分,包括前端模块、Netlify Functions和构建脚本
- 制定代码风格规范:命名约定、导入规则、日志规范、异常处理和参数校验
- 包含测试策略、构建部署流程和Git工作流程说明
- 提供安全规范、性能优化指南和故障排查方案
- 统一项目文档标准和维护要求
2025-11-24 00:42:17 +08:00