# 🧰 NetKit 模块说明

`NetKit` 是一个网络接口相关工具模块，涵盖心跳、登录、网络核心、数据打点及数据结构等功能。

------

## 🚀 快速开始

1. **初始化网络组件**

   ```csharp
   NetKit.Instance.Init();
   ```

2. **执行登录请求**

   ```csharp
   LoginKit.Instance.LoginRequest(channel, haveSimCard, (success, loginModel) => {
       if (success) {
           // 登录成功逻辑
       } else {
           // 登录失败逻辑
       }
   });
   ```

3. **发送事件打点**

   ```csharp
   TrackKit.SendEvent(ADEventTrack.Event, ADEventTrack.Property.fail_click);
   ```

4. **开启心跳**

   ```csharp
   HeartbeatKit.Instance.StartHeartbeat();
   ```

------

## 📦 模块介绍

| 模块名         | 功能描述                              |
| -------------- | ------------------------------------- |
| `Model`        | 📄 请求与响应数据模型定义              |
| `Core/NetKit`  | ⚙️ 网络请求核心，管理请求与 Token      |
| `Track`        | 📊 事件与属性注册及数据打点            |
| `ErrorLogKit`  | 🛠️ 异常日志收集及去重上报              |
| `HeartbeatKit` | ❤️ 心跳管理，确保连接持续活跃          |
| `LoginKit`     | 🔐 登录请求、认证及状态管理            |
| `NetGmTool`    | 🛠️ 本地调试辅助，支持 Token 和状态测试 |

------

## 📖 说明

- **NetKit** 负责所有网络通信，自动处理数据加解密和 Token 刷新。
- **TrackKit** 提供强大的事件打点功能，支持静态及动态事件注册。
- **ErrorLogKit** 实现错误日志的收集、去重与上传，方便问题排查。
- **HeartbeatKit** 管理心跳发送，支持应用前后台切换时的状态保存与恢复。
- **LoginKit** 负责用户登录流程与自动重新认证逻辑。
- **NetGmTool** 为游戏调试提供实用工具，方便状态和 Token 测试。