Skip to content

cosimawei/web3toolspwa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

多资产价格追踪 PWA

实时追踪虚拟币、股市、贵金属价格的PWA应用,支持移动端使用。

功能特性

  • 虚拟币价格追踪(Binance/OKX/Bitget/MEXC)
  • Binance Alpha代币支持
  • MEME币支持(BSC/ETH/SOL/Base)
  • A股/港股/美股行情
  • 贵金属价格(黄金/白银)
  • 响应式设计适配移动端
  • PWA支持离线访问
  • 配置导入导出
  • 云端同步(规划中)

云端同步方案

架构图

┌─────────────────────────────────────────────────────────────────────┐
│                           用户设备                                   │
├──────────────────────────┬──────────────────────────────────────────┤
│     Chrome插件           │              PWA网页                      │
│  ┌─────────────────┐     │     ┌─────────────────┐                  │
│  │ 本地存储        │     │     │ localStorage    │                  │
│  │ (Chrome Storage)│     │     │                 │                  │
│  └────────┬────────┘     │     └────────┬────────┘                  │
│           │              │              │                            │
│  ┌────────▼────────┐     │     ┌────────▼────────┐                  │
│  │ 导入/导出JSON   │     │     │ 导入/导出JSON   │  ← 现有功能保留   │
│  └────────┬────────┘     │     └────────┬────────┘                  │
│           │              │              │                            │
│  ┌────────▼──────────────┴──────────────▼────────┐                  │
│  │            云同步模块(新增)                   │                  │
│  │  ┌─────────┐  ┌─────────┐  ┌─────────┐       │                  │
│  │  │同步密码 │  │拉取云端 │  │推送云端 │       │                  │
│  │  └─────────┘  └─────────┘  └─────────┘       │                  │
│  └────────────────────┬─────────────────────────┘                  │
└───────────────────────┼─────────────────────────────────────────────┘
                        │ HTTPS (密码验证)
                        ▼
┌───────────────────────────────────────────────────────────────────┐
│                    Cloudflare Workers                              │
│  ┌─────────────────────────────────────────────────────────────┐  │
│  │  环境变量(安全存储,前端不可见)                             │  │
│  │  - USER_PASSWORD: "你设置的同步密码"                         │  │
│  │  - GITHUB_TOKEN: "ghp_xxxxxxxxxxxx"                         │  │
│  │  - GITHUB_REPO: "cosimawei/my-private-config"               │  │
│  └─────────────────────────────────────────────────────────────┘  │
│                                                                    │
│  API端点:                                                         │
│  GET  /sync?pwd=xxx  → 获取配置                                   │
│  POST /sync?pwd=xxx  → 更新配置                                   │
└──────────────────────────┬────────────────────────────────────────┘
                           │ GitHub API
                           ▼
┌───────────────────────────────────────────────────────────────────┐
│                GitHub 私有仓库                                      │
│  cosimawei/my-private-config (Private)                            │
│  └── config.json                                                   │
│      {                                                             │
│        "version": "1.0",                                          │
│        "lastUpdate": "2025-12-03T10:00:00Z",                      │
│        "data": { ... }                                            │
│      }                                                             │
└───────────────────────────────────────────────────────────────────┘

设置界面

现有设置(保留):

┌─────────────────────────────────────┐
│ 💾 配置备份与恢复                    │
│                                     │
│ [📤 导出配置]  [📥 导入配置]         │  ← 保留,用于本地备份
└─────────────────────────────────────┘

新增设置:

┌─────────────────────────────────────┐
│ ☁️ 云端同步                          │
│                                     │
│ 同步密码: [**********]              │
│ 同步地址: [https://xxx.workers.dev] │
│                                     │
│ [保存配置]                           │
│                                     │
│ 状态: ✅ 已连接 / ❌ 未配置          │
│ 上次同步: 2025-12-03 10:00:00       │
│                                     │
│ [⬇️ 拉取云端]  [⬆️ 推送云端]         │
│                                     │
│ ⚠️ 拉取会覆盖本地,推送会覆盖云端    │
└─────────────────────────────────────┘

首次配置流程

步骤1: 创建GitHub私有仓库

  1. 访问 https://github.com/new
  2. 仓库名称: my-private-config
  3. 选择 Private
  4. 创建仓库

步骤2: 生成GitHub Token

  1. 访问 GitHub Settings → Developer settings → Personal access tokens
  2. Generate new token (classic)
  3. 勾选 repo 权限
  4. 复制生成的 ghp_xxxxxxxx

步骤3: 部署Cloudflare Workers

  1. 登录 Cloudflare Dashboard
  2. 创建新的 Worker
  3. 部署提供的 Worker 代码
  4. 设置环境变量:
    • USER_PASSWORD: 你的同步密码(自己设置)
    • GITHUB_TOKEN: ghp_xxxxxxxx
    • GITHUB_REPO: 你的用户名/my-private-config

步骤4: 在插件/网页中配置

  1. 打开设置 → 云端同步
  2. 填入同步密码
  3. 填入同步地址: https://xxx.workers.dev
  4. 点击保存

日常使用

场景 操作
添加了新代币想同步 点击 [⬆️ 推送云端]
在其他设备想获取最新配置 点击 [⬇️ 拉取云端]
换新电脑/重装插件 填入密码和地址 → 点击 [⬇️ 拉取云端]

API设计

获取配置

GET /sync?pwd=你的密码

Response:
{
  "success": true,
  "data": {
    "version": "1.0",
    "lastUpdate": "2025-12-03T10:00:00Z",
    "data": { ... }
  }
}

更新配置

POST /sync?pwd=你的密码
Content-Type: application/json

Body:
{
  "version": "1.0",
  "lastUpdate": "2025-12-03T10:00:00Z",
  "data": { ... }
}

Response:
{
  "success": true,
  "message": "配置已更新"
}

安全性说明

敏感信息 存储位置 是否暴露给前端
GitHub Token CF Workers环境变量 ❌ 不暴露
同步密码 CF Workers环境变量 + 用户本地 用户自己知道
配置内容 GitHub私有仓库 仅通过密码验证后可访问

配置管理关系

┌─────────────────────────────────────────────────────────┐
│                    配置管理                              │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  本地存储 ←──读写──→ 插件/网页运行时                     │
│     │                                                   │
│     ├──── 导出 ────→ JSON文件(下载到本地)  [现有功能] │
│     │                                                   │
│     ├──── 导入 ←──── JSON文件(从本地选择)  [现有功能] │
│     │                                                   │
│     ├──── 推送 ────→ 云端GitHub仓库         [新增功能] │
│     │                                                   │
│     └──── 拉取 ←──── 云端GitHub仓库         [新增功能] │
│                                                         │
└─────────────────────────────────────────────────────────┘

三种方式互不冲突:

  • 只用本地导入导出(离线备份)
  • 只用云端同步(多设备同步)
  • 两者结合使用

部署

部署到 Cloudflare Pages

  1. Fork 本仓库
  2. 在 Cloudflare Pages 创建新项目
  3. 连接 GitHub 仓库
  4. 部署

部署到 GitHub Pages

  1. Fork 本仓库
  2. 启用 GitHub Pages
  3. 选择 main 分支

本地开发

# 克隆仓库
git clone https://github.com/cosimawei/web3toolspwa.git

# 使用任意 HTTP 服务器运行
npx serve .
#
python -m http.server 8080

文件结构

├── index.html      # 主页面
├── app.js          # 应用逻辑
├── styles.css      # 样式
├── manifest.json   # PWA配置
├── sw.js           # Service Worker
└── icons/          # 图标

License

MIT

About

pwa网页版本工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors