# 验证平台 C++ SDK 用于对接验证平台的C++ SDK库。 ## 依赖 - C++17 或更高版本 - libcurl - nlohmann/json - OpenSSL (可选,用于AES加密) ## 编译 ### 使用 CMake ```bash mkdir build cd build cmake .. make ``` ### 编译选项 - `USE_OPENSSL=ON/OFF` - 启用/禁用 OpenSSL (默认: ON) - `BUILD_TESTS=ON/OFF` - 构建/不构建测试程序 (默认: ON) ### Ubuntu/Debian 依赖安装 ```bash sudo apt-get install libcurl4-openssl-dev libssl-dev nlohmann-json3-dev cmake g++ ``` ### Windows (vcpkg) ```bash vcpkg install curl nlohmann-json openssl cmake -DCMAKE_TOOLCHAIN_FILE=[vcpkg路径]/scripts/buildsystems/vcpkg.cmake .. ``` ## 使用示例 ### 基本用法 ```cpp #include "verify_client.hpp" int main() { // 创建客户端 verify::Client client("https://gendan.xyz", "your_app_key"); // 获取应用信息 auto info = client.getAppInfo(); std::cout << "应用名称: " << info.name << std::endl; // 用户登录 auto loginResult = client.login("username", "password", "device_id"); std::string token = loginResult["token"].get(); std::cout << "Token: " << token << std::endl; // 心跳上报 client.heartbeat(loginResult["user_id"].get(), "device_id", "instance_id"); return 0; } ``` ### 使用加密 ```cpp // 设置AES加密 client.setEncryptType(verify::EncryptType::AES, "your_secret_key_32_bytes_long"); // 设置RC4加密 client.setEncryptType(verify::EncryptType::RC4, "your_secret_key"); ``` ### 设备管理 ```cpp // 获取设备列表 auto devices = client.getDevices(); for (const auto& d : devices) { std::cout << "设备: " << d.deviceName << std::endl; } // 解绑设备 client.unbindDevice(userId, "device_id_to_unbind"); ``` ### 云端数据 ```cpp // 获取云端变量 auto variables = client.getVariables(); std::cout << "变量值: " << variables["key"]["value"] << std::endl; // 更新云端变量 std::map vars = {{"key1", "value1"}, {"key2", "value2"}}; client.updateVariables(vars); // 创建变量记录 json record = {{"field1", "value1"}, {"field2", 123}}; client.createVariableRecord("stream_key", record); ``` ## API 参考 ### Client 类 | 方法 | 说明 | |------|------| | `getAppInfo()` | 获取应用信息 | | `checkUpdate(version)` | 检查更新 | | `getAnnouncements()` | 获取公告列表 | | `registerUser(...)` | 用户注册 | | `login(username, password, deviceId)` | 用户登录 | | `getAccount(userId)` | 获取账户信息 | | `heartbeat(userId, deviceId, instanceId)` | 心跳上报 | | `recharge(username, cardKey, deviceId)` | 卡密充值 | | `getDevices()` | 获取设备列表 | | `unbindDevice(userId, deviceId)` | 解绑设备 | | `getConstants()` | 获取云端常量 | | `getVariables()` | 获取云端变量 | | `updateVariables(vars)` | 更新云端变量 | | `executeDynamicCode(key, params)` | 执行动态代码 | ## 运行测试 ```bash ./verify_test ``` 测试选项: - `--help` 显示帮助 - `--crypto` 仅测试加密 - `--perf` 仅测试性能 ## 许可证 MIT License