Commit Graph

441 Commits

Author SHA1 Message Date
Abner
8a22b1bf32 feat(netlify/functions): 实现 Giffgaff GraphQL API 的自动刷新令牌功能
- 在请求体中添加 cookie 参数
- 当遇到 401 错误时,尝试使用 cookie 刷新访问令牌
- 刷新成功后重新尝试 GraphQL 请求
- 更新前端 API 管理器以发送 cookie 信息
2025-08-10 21:38:40 +08:00
Abner
048008445d feat(auto-activate-esim): 实现 eSIM 激活的完整流程
- 新增 Cookie 和 AccessToken 参数,以支持不同的认证方式
- 实现了从激活码验证到 SIM 替换确认的完整流程
- 优化了请求头,以提高请求成功率和避免潜在的封禁风险
- 更新了前端激活流程的说明文档
2025-08-10 21:36:38 +08:00
Abner
129456f8d1 refactor(giffgaff): 优化 eSIM 激活页面和登录流程
- 修改 MFA 挑战和验证失败时的错误处理,提示用户重新登录
- 优化 eSIM 激活码和 SSN 的显示样式,增加复制功能
- 调整工具提示位置,使其更贴近触发元素
- 优化复制到剪贴板功能,改为从 code 元素提取文本
- 更新 API 错误处理,对需要重新登录的错误进行特殊处理
2025-08-10 21:19:39 +08:00
Abner
27d3494961 feat(netlify): 为 reserveESim 操作添加设备元数据头
- 在 GraphQL 请求中检测 reserveESim 操作
- 添加必要的设备元数据头,包括操作系统、版本、设备制造商和型号
- 允许通过环境变量覆盖默认的设备元数据值
2025-08-10 21:04:31 +08:00
Abner
4c00cb42cb feat(giffgaff): 实现访问令牌自动刷新机制
- 在 MFA 挑战和验证过程中添加令牌过期检查
- 使用 cookie 自动刷新过期的访问令牌
- 更新前端 API 调用,附带 cookie 以便后端刷新令牌
- 优化 verify-cookie 函数的调用方式,避免硬编码域名
2025-08-10 20:51:34 +08:00
Abner
5d65ffe8bb feat(cors): 放宽跨域访问限制
- 将 Access-Control-Allow-Origin 从特定域名修改为允许所有域名
- 移除了对请求来源的校验逻辑
- 此修改适用于 /api/simyo/*、/api/giffgaff/*、/api/giffgaff-id/*、/api/giffgaff-public/*、giffgaff-graphql、giffgaff-mfa-challenge、giffgaff-mfa-validation 和 verify-cookie 函数
2025-08-10 20:42:58 +08:00
Abner
e8adcf798c feat(netlify): 增加 cookie 验证以获取访问令牌
- 在 giffgaff-mfa-challenge 和 giffgaff-mfa-validation 函数中添加了 cookie 验证逻辑
- 如果提供 cookie 但没有访问令牌,会尝试使用 cookie 获取访问令牌
- 更新了日志输出,增加了对 cookie 和访问令牌长度的记录
- 修改了 giffgaff-token-exchange 函数,使用 Authorization 头发送客户端凭据
2025-08-10 20:39:25 +08:00
Abner
be9d1941a1 feat(giffgaff): 实现令牌自动刷新功能
- 添加客户端密钥格式检查和修正,确保包含等号
- 实现令牌刷新逻辑,使用cookie重新验证过期令牌
- 更新前端逻辑,保存cookie并处理令牌刷新
- 优化后端处理流程,适应令牌刷新场景
2025-08-10 20:22:08 +08:00
Abner
771eb47469 fix(netlify): 修复 GiffGaff 授权中的编码问题
- 清理客户端密钥中可能存在的百分号
- 尝试解码授权码,避免多次编码导致的问题
- 更新相关日志输出以反映新的处理流程
2025-08-10 19:57:27 +08:00
Abner
be626414fd refactor(netlify/functions/giffgaff-token-exchange): 优化 Giffgaff 令牌交换流程
- 更新 tokenUrl 默认值为正确的 OAuth 令牌端点
- 移除客户端密钥解码逻辑,直接使用环境变量中的值
- 添加客户端 ID 和密钥长度的日志输出,便于调试
- 尝试使用表单参数方式发送客户端凭据,而不是通过 Authorization 头
- 优化请求参数和头部的日志输出,隐藏敏感信息
2025-08-10 19:50:47 +08:00
Abner
65254c4f68 refactor(giffgaff): 优化令牌交换流程和错误处理
- 更新令牌端点 URL
- 添加客户端密钥解码逻辑
- 增加调试和错误日志
- 改进错误处理和响应
2025-08-10 19:38:12 +08:00
Abner
ee034d3cb9 feat(giffgaff): 支持 PKCE 公有客户端和机密客户端的 OAuth 令牌交换
- 新增 giffgaff-token-exchange.js 函数处理 OAuth 令牌交换
- 增加对 PKCE 公有客户端和机密客户端的支持
- 优化令牌交换流程,支持可选的 Basic 认证
- 更新前端和后端的 OAuth 配置
2025-08-10 19:23:20 +08:00
Abner
f7d7c5375d refactor(src): 优化服务时间检查逻辑
- 更新服务时间检查函数,确保使用英国伦敦时区
- 调整服务时间范围为 04:30–21:30
- 优化时间计算方法,避免本地/夏令时偏差
- 统一时间判断逻辑,提高代码可维护性
2025-08-10 11:43:38 +08:00
Abner
fdd5602012 docs(README): 更新功能特性描述并精简文档链接
- 移除 README.md 中的冗余信息和不必要的文档链接
- 删除 DEPLOYMENT_GUIDE.md 的引用
- 精简 SERVICE_TIME_CHECK.md 和 ICON_FIX.md 的内容
- 移除 CORS_SOLUTION.md 中的其他解决方案部分
2025-08-09 23:19:01 +08:00
Abner
86dd8a2f3f feat(pwa): 添加进行时网页应用(PWA)支持
- 在 index.html 中添加 manifest 引用和主题颜色
- 新增 manifest.webmanifest 文件,定义 PWA 相关配置
- 在 giffgaff 和 simyo 的 HTML 文件中添加 PWA 支持
- 新增 pwa.js 脚本,处理 PWA 安装提示
- 在 netlify.toml 中添加 Content-Security-Policy 配置
- 添加 favicon 和 PWA 图标
2025-08-09 18:19:37 +08:00
Abner
251da627ad docs(security): 更新内容安全策略并移除冗余代码
- 更新内容安全策略以允许 Google Tag Manager
- 移除 verify_cookie.php 文件
- 优化 Service Worker 注册和缓存逻辑
- 更新时间检查逻辑以使用国际时区
- 调整 OAuth 2.0 PKCE 配置,移除前端的 clientSecret
2025-08-09 17:43:44 +08:00
Abner
f97d8339e4 feat(auth): 增加 OAuth 2.0 PKCE 令牌交换功能
- 新增 giffgaff-token-exchange.js 函数,用于交换 authorization code 和 access token
- 更新 verify-cookie.js 函数,增加对 cookie 中 access token 的提取和验证
- 修改 giffgaff-graphql.js、giffgaff-mfa-challenge.js 和 giffgaff-mfa-validation.js 函数,支持使用 access token 或 cookie 进行身份验证
- 更新 README.md 和 COOKIE_LOGIN_SETUP.md 文档,说明新的身份验证流程和安全注意事项
2025-08-09 14:39:29 +08:00
Abner
1f4dbfce83 docs(README): 更新项目徽标和信息 badges
- 添加项目徽标图片
- 增加 GitHub forks、issues、license、code size 和 last commit 等信息 badges
- 优化 README.md 的布局和视觉效果
2025-08-08 22:32:56 +08:00
Abner
d3efeb1bce refactor(giffgaff): 移除 eSIM 页面中的测试代码
- 删除了 giffgaff_complete_esim.html 文件中用于测试徽章显示的代码片段
- 优化了页面加载后的逻辑,提高了用户体验
2025-08-07 22:59:22 +08:00
Abner
e1e6f3ec58 fix(giffgaff): 优化服务时间判断逻辑
- 重新定义服务不可用时间范围:04:30-12:30
- 改进时间判断逻辑,提高准确性和可读性
- 增加边界情况测试,确保时间判断的精确性
- 用户报告晚上10:40无法使用,修正后应恢复正常
2025-08-07 22:48:32 +08:00
Abner
ce5390b5b6 feat(giffgaff): 添加 Giffgaff eSIM 功能模块
- 新增 Giffgaff eSIM 主应用控制器和相关模块
- 实现 OAuth 登录、Cookie 验证、邮件验证码发送和验证等功能
- 添加会员信息获取、eSIM 预订和下载信息获取等核心功能
- 开发响应式 UI 和状态显示逻辑
- 集成 Jest 测试框架并配置相关测试命令
2025-08-07 22:21:45 +08:00
Abner
158e579c66 refactor(service-time): 优化服务时间提示文案
- 将"可以申请eSIM"改为"当前时间可以申请eSIM"
- 将"不能申请eSIM"改为"当前时间不能申请eSIM"
- 更新相关文档和代码中的文案
2025-08-06 10:48:11 +08:00
Abner
6fda26ba8b refactor(giffgaff): 优化 eSIM 服务时间提示的视觉效果
- 为警告和成功状态的图标添加额外的样式类
- 调整服务时间提示的布局和样式
- 优化 eSIM 申请状态的显示效果
- 新增呼吸灯动画效果
2025-08-06 10:42:55 +08:00
Abner
72e27ce208 style(giffgaff): 调整时间卡片标签样式
- 将字体大小从 13px 增加到 18px
- 字体粗细从 600 调整到 700
- 字母间距从 0.3px 调整到 0.2px
2025-08-06 10:30:54 +08:00
Abner
feebcf9670 style(giffgaff): 优化 eSIM 页面样式
- 调整服务时间布局,使图标在左侧垂直居中
- 优化 CSS 样式,提高代码可读性和可维护性
- 移除不必要的样式规则,简化结构
2025-08-06 10:28:09 +08:00
Abner
8c6e3d992d refactor(giffgaff): 更新服务时间提醒信息
- 在服务时间提醒部分添加具体的时间信息
- 提醒用户当前时间可能在 Giffgaff 服务时间之外
- 明确 Giffgaff 官方在凌晨 04:30 至 12:30 之间不提供 SIM 卡交换服务
2025-08-06 10:24:32 +08:00
Abner
c3e686866e refactor(giffgaff): 优化服务时间布局的 CSS 样式
- 将服务时间布局从 flex 改为 grid
- 调整图标部分和内容部分的样式,提高布局的灵活性
- 移除多余的 padding 和 flex 属性,简化样式
2025-08-06 10:20:24 +08:00
Abner
2721d86790 style(giffgaff): 调整服务时间布局的样式
- 将 service-time-layout 的 gap 从 32px 调整为 16px
- 将 service-time-start 的宽度
2025-08-06 10:17:28 +08:00
Abner
759a6c39c0 refactor(giffgaff): 优化服务时间图标样式
- 将 flexbox 布局改为 grid 布局
- 使用 place-items 属性简化居中样式
- 移除多余的 align-items 和 justify-content 属性
2025-08-06 10:13:00 +08:00
Abner
4ad5106f2a refactor(giffgaff): 调整服务时间模块间距与对齐
扩大整体gap、为图标区设定固定宽度并在移动端恢复自适应,同时为内容区添加左右内边距与居中样式,提升可读性与一致性
2025-08-06 10:10:02 +08:00
Abner
a6eb6a78f8 refactor(giffgaff): 重构服务时间提醒布局与动效
调整结构为icon与内容分区,统一左对齐与间距;移除冗余header行;新增“呼吸”动效(橙/紫)提升视觉反馈与可读性;优化响应式细节以确保一致的布局体验。此变更不影响功能,仅改善UI一致性与可用性。
2025-08-06 09:58:35 +08:00
Abner
1fc61da47e refactor(giffgaff): 优化服务时间提醒模块布局和样式
- 调整服务时间提醒模块的整体布局结构
- 优化图标、标题和内容的排版方式
- 统一不同屏幕尺寸下的样式
- 简化 CSS 样式,提高可维护性
2025-08-06 09:48:01 +08:00
Abner
d998c4beec refactor(giffgaff): 优化服务时间提醒模块布局和样式
- 重构服务时间提醒模块的 HTML 结构,提高可维护性
- 调整 CSS 样式,提升视觉效果和用户体验
- 添加测试代码,确保徽章正确显示
- 优化响应式布局,确保在不同屏幕尺寸下良好显示
2025-08-06 09:38:20 +08:00
Abner
4e60b28a41 refactor(giffgaff): 优化服务时间提醒模块布局和样式
- 调整服务时间提醒模块的整体布局,使内容居中显示
- 修改图标和标题的位置,使其在同一行显示
- 更新警告徽章的样式,增加阴影和对齐方式
- 调整文本样式,包括对齐方式、字体大小等
- 优化移动端布局,确保内容在小屏幕上也能正确显示
2025-08-06 09:21:45 +08:00
Abner
3678f343fa refactor(giffgaff): 优化服务时间提醒布局和样式
- 调整服务时间提醒的布局,使其更加居中和清晰
- 修改服务时间标题的样式,增加对齐和间距
- 调整服务时间消息的文本对齐方式
- 优化服务时间警告徽章的样式,增加粗体字重和修改颜色
- 移除调试代码,清理无用的脚本
2025-08-06 09:13:15 +08:00
Abner
3a29d76734 feat(giffgaff): 增加服务时间检查和警告功能
- 在关键操作步骤中添加服务时间检查,包括 Cookie 验证、OAuth 登录、发送邮件验证码和预订 eSIM
- 实现服务时间检查函数和显示警告对话框的功能
- 在页面加载时更新服务时间状态,并在调试模式下强制显示徽章以测试布局
2025-08-06 09:07:17 +08:00
Abner
dbf3054358 refactor(giffgaff): 优化服务时间提醒模块布局和样式
- 调整服务时间提醒模块的头部布局,增加图标和标题的独立容器
- 添加操作提示徽章,根据服务时间显示不同状态
- 优化图标样式,统一设置对齐方式
- 更新警告和成功状态的样式,增加背景色和边框
- 调整响应式布局,确保在不同屏幕尺寸下良好显示
2025-08-06 09:01:19 +08:00
Abner
81d9866d80 style(giffgaff): 优化 eSIM 页面样式
- 调整服务时间图标和文本样式,增加视觉对比度
- 放大时间卡片图标和数值,提升可读性
- 优化响应式布局,确保在不同屏幕尺寸下的良好显示效果
2025-08-06 01:00:20 +08:00
Abner
14b576ee9f refactor: 移除 Netlify 部署相关文件和配置
- 删除了 deployment-manifest.json 文件
- 删除了 DEPLOYMENT.md 和 DEPLOYMENT_FIX.md 文档
- 更新了 netlify.toml 配置,简化为基本设置
- 移除了 deploy-prepare.js 和 test-deploy-config.js 脚本

这些更改移除了与 Netlify 部署相关的复杂配置和文档,简化了项目结构。
2025-08-06 00:55:48 +08:00
Abner
d9de45745b fix(deployment): 修复Netlify部署配置并优化性能
- 移除了不支持的配置项,简化了netlify.toml文件结构
- 添加了配置测试脚本,提高了部署的可靠性和稳定性
- 优化了部署流程,大幅减少了部署大小和提高了部署速度
- 调整了服务时间卡片的样式,使布局更加居中和美观
2025-08-06 00:46:34 +08:00
Abner
dd77aabd63 docs(deployment): 添加 Netlify 部署配置和优化指南
- 新增 DEPLOYMENT.md 文件,详细说明 Netlify 部署配置和优化策略
- 更新 .netlifyignore 文件,排除非必要文件以提高部署效率
- 修改 netlify.toml 文件,启用资源压缩和缓存控制
- 添加部署分析脚本,生成部署清单和统计信息
- 优化 package.json,增加部署相关命令
2025-08-06 00:41:33 +08:00
Abner
52f0a3da7e feat(giffgaff): 优化服务时间提醒布局与样式
- 重新设计了服务时间提醒的布局结构,采用网格系统进行响应式布局
- 增加了更多视觉元素,如图标、渐变色背景等,提升用户体验
- 优化了时间显示样式,增加了动画效果,使信息展示更生动
- 调整了字体样式和颜色,提高了可读性和视觉一致性
- 添加了自适应样式,确保在不同屏幕尺寸下都有良好的显示效果
2025-08-06 00:34:24 +08:00
Abner
37a8407349 style(giffgaff): 优化服务时间提醒模块样式
- 调整服务时间图标大小和位置
- 增加当前时间显示的样式
- 优化服务时间提醒信息的排版
- 调整服务时间消息框的样式
2025-08-06 00:28:59 +08:00
Abner
8c3564d40a refactor(giffgaff): 重构服务时间提醒模块
- 调整服务时间提醒的 HTML 结构,提高可读性和可维护性
- 优化服务时间提醒的样式,提升用户体验
- 更新服务时间提醒的消息内容,使其更加清晰
- 调整当前时间显示的样式,增加视觉吸引力
- 将 SECURITY.md 文件移动到 docs 目录
2025-08-06 00:20:47 +08:00
Abner
3e06202664 feat(giffgaff): 添加服务时间检查功能并优化性能
- 为 Giffgaff eSIM 申请工具添加实时时间检查功能
- 根据当前时间动态显示服务状态提醒
- 优化页面加载性能
- 更新相关文档
2025-08-06 00:12:02 +08:00
Abner
b3c28ded9b feat(giffgaff): 添加实时服务时间检查功能
- 在 eSIM 申请页面加入动态服务时间提醒
- 根据当前时间显示不同提示信息和图标
- 实现每分钟自动更新时间状态
- 优化用户体验,明确指示服务可用性
2025-08-05 23:57:44 +08:00
Abner
274fa6ffad ci: 移除 CodeQL 高级配置工作流 2025-08-05 23:50:12 +08:00
Abner
b7bb30afcf Merge branch 'main' of https://github.com/Silentely/esim-tools 2025-08-05 23:46:14 +08:00
Abner
7713365039 style(giffgaff): 优化移动端头部按钮布局
- 调整按钮布局为垂直方向,对齐方式为右对齐
- 设置按钮宽度为 fit-content 以适应内容宽度
2025-08-05 23:46:09 +08:00
Abner
cd9734a00c Create codeql.yml 2025-08-05 23:45:11 +08:00