Files
eSIM-Tools/docs/reference/README_simyo_esim.md
Abner d9dfc73986 📝 docs: 全面更新和完善项目文档内容
- 简化 README.md 的标题和章节样式,移除冗余 emoji 图标,添加原生 ES6 模块架构说明,调整描述文字使其更简洁清晰
- 优化了四个语言版本的 QR Code API 文档(中英文 Giffgaff 和 Simyo),将原来的简单描述更新为详细的三级回退链说明,包含每个服务商的 5 超时机制和 LPA 字符串降级方案
- 在 docs/ARCHITECTURE.md 中新增模块依赖关系图和关键设计决策说明,补充 BFF 模式、无框架设计、中间件统一等架构要点
- 将英文用户指南中的视频和提示信息移至附录章节,改进文档阅读体验;删除中英文用户指南顶部的视频占位内容
- 修正 CORS_SOLUTION.md 中的脚本路径引用,添加 `scripts/` 前缀使其与实际文件结构一致
- 清理 SECURITY.md 中重复的 CSP 说明,精简为单条以 server.js 为基准的说明;在通知系统文档顶部增加快速摘要说明;在 CLAUDE.md 中补充缺失的 `cors.js` 相关文件引用
2026-06-02 00:03:12 +08:00

3.3 KiB
Raw Blame History

Simyo NL eSIM 工具 - 技术参考

基于 Simyo ESIM V2.postman_collection.json Postman 脚本构建的完整 eSIM 设备更换网页工具。

📁 文件说明

主要文件

  • src/simyo/simyo_modular.html - Simyo eSIM 设备更换工具(生产版本,模块化架构)
  • tests/test_simyo_esim.html - 综合测试页面(开发/测试版本)

🔧 技术架构

前端技术栈

  • HTML5 - 语义化结构
  • CSS3 - 响应式设计,Bootstrap 5.3.0,Simyo 品牌配色
  • JavaScript (ES6+) - 现代 JavaScript 特性
  • Font Awesome 6.0.0 - 图标库

API 集成

  • Simyo Sessions API - 用户认证和会话管理
  • Simyo eSIM API - eSIM 配置获取和管理
  • QR Code API - 二维码生成服务,三级回退链:qrcode.show → quickchart.io → api.qrserver.com,单服务 5 秒超时,全部失败时显示 LPA 字符串供用户手动复制

关键 API 端点

const apiEndpoints = {
    login: "https://appapi.simyo.nl/simyoapi/api/v1/sessions",
    getEsim: "https://appapi.simyo.nl/simyoapi/api/v1/esim/get-by-customer",
    confirmInstall: "https://appapi.simyo.nl/simyoapi/api/v1/esim/reorder-profile-installed",
    qrcode: "https://qrcode.show/"
};

💰 保号服务

Simyo 提供保号服务,详细信息:

  • 收款人: ING BANK N.V.
  • IBAN: NL19INGB0007811670
  • 金额: 10 欧元起
  • 备注: 您的 Simyo 号码(06 开头的完整号码)

📝 开发说明

核心组件架构

// 全局状态管理
const appState = {
    sessionToken: "",      // Simyo 会话令牌
    activationCode: "",    // eSIM 激活码
    phoneNumber: "",       // 用户手机号
    password: "",          // 用户密码
    currentStep: 1         // 当前步骤
};

主要函数说明

  • mockValidatePhoneNumber() - 验证荷兰手机号格式
  • createHeaders() - 生成 Simyo API 请求头
  • showSection(stepNumber) - 显示指定步骤
  • showStatus(element, message, type) - 显示状态信息
  • generateQRCode(data) - 生成 eSIM 二维码,内部维护三级服务商回退链(qrcode.show → quickchart.io → api.qrserver.com),每个服务商 5 秒超时,回退时重置计时器,全部失败时展示 LPA 字符串供用户手动复制

API 调用示例

// 登录 Simyo 账户
const response = await fetch('https://appapi.simyo.nl/simyoapi/api/v1/sessions', {
    method: 'POST',
    headers: createHeaders(false),
    body: JSON.stringify({
        phoneNumber: '0613123712',
        password: 'your_password'
    })
});

// 获取 eSIM 信息
const esimResponse = await fetch('https://appapi.simyo.nl/simyoapi/api/v1/esim/get-by-customer', {
    method: 'GET',
    headers: createHeaders(true) // 包含会话令牌
});

🔄 与 Giffgaff 工具的差异

特性 Simyo eSIM Giffgaff eSIM
认证方式 用户名密码登录 OAuth 2.0 PKCE
MFA 验证 无需额外验证 邮件验证码
API 复杂度 相对简单 GraphQL + REST
步骤数量 4 步流程 5 步流程
设备更换 支持专门流程 通过 SIM 交换
保号成本 10 欧元起 按正常套餐

文档版本: 1.1.0 最后更新: 2026-05-18 维护者: eSIM Tools Team