mirror of
https://github.com/Silentely/eSIM-Tools.git
synced 2026-09-03 06:24:20 +08:00
- 删除 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 个引用已删除模块的测试文件 所有测试通过,构建成功,质量检查和安全检查均通过。
3.3 KiB
3.3 KiB
Simyo NL eSIM Tool - Technical Reference
A complete eSIM device change web tool built based on the Simyo ESIM V2.postman_collection.json Postman script.
📁 File Description
Main Files
simyo_modular.html- Simyo eSIM Device Change Tool (Production Version, Modular Architecture)tests/test_simyo_esim.html- Comprehensive Test Page (Development/Test Version)Simyo ESIM V2.postman_collection.json- Original Postman Script (Reference Document)simyo.html- Original Simplified Version (Reference)
🔧 Technical Architecture
Frontend Technology Stack
- HTML5 - Semantic Structure
- CSS3 - Responsive Design, Bootstrap 5.3.0, Simyo Brand Colors
- JavaScript (ES6+) - Modern JavaScript Features
- Font Awesome 6.0.0 - Icon Library
API Integration
- Simyo Sessions API - User Authentication and Session Management
- Simyo eSIM API - eSIM Configuration Retrieval and Management
- QR Code API - QR Code Generation Service
Key API Endpoints
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/"
};
💰 Number Preservation Service
Simyo offers number preservation service with details:
- Payee: ING BANK N.V.
- IBAN:
NL19INGB0007811670 - Amount: 10 Euro minimum
- Remarks: Your Simyo number (complete number starting with 06)
📝 Development Instructions
Core Component Architecture
// Global State Management
const appState = {
sessionToken: "", // Simyo session token
activationCode: "", // eSIM activation code
phoneNumber: "", // User phone number
password: "", // User password
currentStep: 1 // Current step
};
Main Function Description
mockValidatePhoneNumber()- Validate Dutch phone number formatcreateHeaders()- Generate Simyo API request headersshowSection(stepNumber)- Show specified stepshowStatus(element, message, type)- Show status informationgenerateQRCode(data)- Generate eSIM QR code
API Call Example
// Login Simyo Account
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'
})
});
// Get eSIM Information
const esimResponse = await fetch('https://appapi.simyo.nl/simyoapi/api/v1/esim/get-by-customer', {
method: 'GET',
headers: createHeaders(true) // Include session token
});
🔄 Differences from Giffgaff Tool
| Feature | Simyo eSIM | Giffgaff eSIM |
|---|---|---|
| Authentication Method | Username/password login | OAuth 2.0 PKCE |
| MFA Verification | No additional verification | Email verification code |
| API Complexity | Relatively simple | GraphQL + REST |
| Number of Steps | 4-step process | 5-step process |
| Device Replacement | Dedicated process support | Through SIM swap |
| Number Preservation | 10 Euro minimum | According to normal plan |
Document Version: 1.1.0 Last Updated: 2026-05-18 Maintainer: eSIM Tools Team