Kauth网络验证系统Kauth网络验证系统
首页
HTTP API文档
作者|代理后台
首页
HTTP API文档
作者|代理后台
  • Kaut介绍

    • 验证系统
    • 相关知识
    • 防破要诀
  • 网络验证

    • 数据安全
    • 心跳守护
    • 对接说明
    • C语言接口
  • 对接文档

    • HTTP对接
    • 懒人对接
    • AutoJs对接
    • EasyClick对接
    • Java对接
    • Python对接
    • 按键精灵

EasyClick对接

本文档介绍如何在 EasyClick 环境中使用 VerifyHub SDK 实现网络验证功能。

1. 准备工作

重要提示 首先下载SDK文件: 网盘下载

1.1 获取必要的参数

在使用 SDK 之前,你需要从 Kauth 管理后台获取以下信息:

  • API 域名(paramApiDomain):验证服务器地址
  • 程序ID(paramProgramId):登录后在"程序管理->程序列表"中查看
  • 程序密钥(paramProgramSecret):登录后在"程序管理->程序列表"中查看
  • 商户公钥(paramMerchantPublicKey):登录后在"系统配置"中查看,需要复制 RSA 密钥,注意使用 PKCS#8 格式

1.2 签名类型

EasyClick SDK 目前只支持 RSA 签名算法,如需其他签名算法可自行扩展。

2. 初始化配置

在使用任何功能之前,必须先初始化 SDK 配置:

// 卡密服务器地址,如果是独立部署版本,请更换为你的服务器地址
var paramApiDomain = "https://verifyhub.cn"

// 程序ID,登录系统后在程序管理->程序列表中查看
var paramProgramId = "1959821336266936321"

// 程序密钥,登录系统后在程序管理 -> 程序列表中查看
var paramProgramSecret = "F77VzI7UWAElpWrz="

// 商户密钥,登录系统后在系统配置中查看,请复制RSA密钥,注意复制PKCS#8格式的密钥
var paramMerchantPublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCDmTDsasTz60Fej0J+hUEOlQCvpQkYE/COoKQbtKXNlgHNosaL/6V7oVwrcIpeb4j0FrKy6/Zwr7X0q3yTIVH0Mz+aBPEwPmrBRQfIwo2F03Cj66CM5mdMtIAELMuQteuZX9xYi1bQCBQ6OTj/n720/qo5IgdKe8mLaxNvUvLN6wIDAQAB"

// EasyClick暂时只支持RSA签名算法,如有其他需要可自行扩展
var paramKauthSignType = "RSA"

// 当前平台-适用于多平台的脚本开发者通过卡密控制支持多平台
var platformType = "easyclick_mobile"

// 初始化配置
VerifyHub.initConfig(
    paramApiDomain,      // API域名
    paramProgramId,      // 程序ID
    paramMerchantPublicKey,  // 商户公钥
    paramProgramSecret,  // 程序密钥
    paramKauthSignType   // 签名类型
);

3. 登录功能

3.1 卡密登录

使用卡密进行登录:

var loginResp = VerifyHub.kaLogin("卡密", platformType, "", "");
console.log("卡密登录结果:", JSON.stringify(loginResp));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "userId": "1981588535438028801",  // 用户Id
//     "nickName": "卡密用户"             // 用户昵称
// }

3.2 账号密码登录

使用用户名和密码进行登录:

var loginResult = VerifyHub.pwdLogin("用户名", "密码", "", "");
console.log("账号密码登录结果:", JSON.stringify(loginResult));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "userId": "1973207649463582721",  // 用户Id
//     "nickName": "用户名"              // 用户昵称
// }

3.3 试用登录

使用试用功能登录:

var trialLoginResult = VerifyHub.trialLogin();
console.log("试用登录结果:", JSON.stringify(trialLoginResult));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "userId": "1981588535438028801",  // 用户Id
//     "nickName": "卡密用户"             // 用户昵称
// }

3.4 退出登录

退出当前登录状态:

// 需要先登录
var loginoutResult = VerifyHub.loginOut();
console.log("退出登录结果:", JSON.stringify(loginoutResult));

// 返回结果:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true
// }

4. 用户管理

4.1 用户注册

注册新用户:

var registerResult = VerifyHub.register(
    "用户名",           // 用户名
    "密码",             // 密码
    "用户昵称",         // 昵称
    "卡密",             // 注册卡密(可选)
    "",                 // 验证码ID
    ""                  // 验证码答案
);
console.log("用户注册结果:", JSON.stringify(registerResult));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "userId": "1981589810535804929",  // 用户Id
//     "nickName": "用户昵称",           // 用户昵称
//     "loginName": "用户名"             // 登录账号
// }

4.2 修改密码

修改用户密码:

var changePasswordResult = VerifyHub.changePassword(
    "用户名",           // 用户名
    "旧密码",           // 旧密码
    "新密码",           // 新密码
    "新密码",           // 确认新密码
    "",                 // 验证码ID
    ""                  // 验证码答案
);
console.log("修改密码结果:", JSON.stringify(changePasswordResult));

4.3 获取用户信息

获取当前登录用户的信息:

var userInfoResult = VerifyHub.userInfo();
console.log("用户信息:", JSON.stringify(userInfoResult));

// 时间卡用户信息示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "userId": "1973207649463582721",              // 用户Id
//     "serverExpireTime": "2025-10-25 13:11:50",   // 服务截止时间
//     "serverRemainNum": null,                      // 剩余次数(时间卡为null)
//     "serverType": "time",                         // 服务类型: time(时间)、ci(次数)
//     "trial": false                                // 是否是试用
// }

// 次卡用户信息示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "userId": "1981588535438028801",             // 用户Id
//     "serverExpireTime": null,                    // 服务截止时间(次卡为null)
//     "serverRemainNum": "8",                       // 剩余服务次数
//     "serverType": "ci",                          // 服务类型: time(时间)、ci(次数)
//     "trial": false                                // 是否是试用
// }

5. 充值功能

5.1 账号充值

使用卡密为账号充值:

var rechargeResult = VerifyHub.recharge(
    "用户名",           // 用户名
    "充值卡密",         // 卡密
    "",                 // 验证码ID
    ""                  // 验证码答案
);
console.log("账号充值结果:", JSON.stringify(rechargeResult));

// 返回结果:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true
// }

5.2 以卡充卡

使用卡密A为卡密B充值:

var rechargeKaResult = VerifyHub.rechargeKa(
    "卡密A",            // 源卡密
    "卡密B"             // 目标卡密
);
console.log("以卡充卡结果:", JSON.stringify(rechargeKaResult));

// 返回结果:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true
// }

6. 程序信息

6.1 获取程序详情

获取程序的详细信息(无需登录):

var detail = VerifyHub.getProgramDetail();
console.log("程序详情:", JSON.stringify(detail));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "programId": "1959821336266936321",      // 程序Id
//     "name": "第一个程序",                   // 程序名称
//     "forceUpdateDict": true,                // 是否强制更新
//     "status": true,                         // 程序启用状态
//     "enableRegisterDict": true,              // 是否开启注册
//     "notice": "测试账号:test 密码:123456",  // 程序公告
//     "currentVersion": {
//         "versionNo": 1,                     // 最新版本号
//         "versionName": "1.0.1",             // 最新版本名称
//         "versionDesc": "1.0.1",             // 最新版本描述
//         "versionDownUrl": "https://www.baidu.com"  // 最新版本下载地址
//     }
// }

6.2 获取服务器时间

获取服务器当前时间(无需登录):

var serverTime = VerifyHub.getServerTime();
console.log("服务器时间:", JSON.stringify(serverTime));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "serverTimeStr": "2025-10-24 13:05:34",    // 服务器时间(字符串)
//     "serverTimeMill": "1761282334046",         // 服务器时间(毫秒)
//     "serverTimeSec": "1761282334"              // 服务器时间(秒)
// }

6.3 获取验证码

获取登录验证码(无需登录):

var captcheResult = VerifyHub.getCaptcha(VerifyHub.generateUUID());
console.log("获取验证码结果:", JSON.stringify(captcheResult));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "captchaBase64": "iVBORw0KGgo...",  // 图片base64格式
//     "uuid": "f94d7f3a-e738-4b3d-9464-6255c083a6b0"  // 验证码ID
// }

7. 设备管理

7.1 解绑登录中的设备

解除绑定当前登录的设备(需要先登录):

var unBindResult = VerifyHub.unBindLoginDevice();
console.log("解绑设备结果:", JSON.stringify(unBindResult));

// 返回结果:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true
// }

7.2 解绑设备(非登录状态)

在未登录状态下解绑设备:

var unbindDeviceResult = VerifyHub.unbindDevice(
    "用户名",           // 用户名
    "密码",             // 密码
    "",                 // 验证码ID
    ""                  // 验证码答案
);
console.log("解绑设备结果:", JSON.stringify(unbindDeviceResult));

8. 配置管理

8.1 卡密配置

卡密用户可以保存自定义配置数据:

// 修改卡密配置
var updateResult = VerifyHub.updateKaConfig("张三:18岁");
console.log("修改卡密配置结果:", JSON.stringify(updateResult));

// 查询卡密配置
var kaConfigResult = VerifyHub.getKaConfig();
console.log("查询卡密配置结果:", JSON.stringify(kaConfigResult));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "config": "张三:18岁"
// }

8.2 用户配置

注册用户可以保存自定义配置数据:

// 修改用户配置
var updateResult = VerifyHub.updateUserConfig("李四:21岁");
console.log("修改用户配置结果:", JSON.stringify(updateResult));

// 查询用户配置
var userConfigResult = VerifyHub.getUserConfig();
console.log("查询用户配置结果:", JSON.stringify(userConfigResult));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "config": "李四:21岁"
// }

9. 远程数据管理

远程数据管理功能允许用户存储和管理自定义数据。

9.1 添加远程数据

var addResult = VerifyHub.addRemoteData("user_config_1", "张三");
console.log("添加远程数据结果:", JSON.stringify(addResult));

9.2 获取远程数据

var getResult = VerifyHub.getRemoteData("user_config_1");
console.log("查询远程数据结果:", JSON.stringify(getResult));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "value": "张三"
// }

9.3 更新远程数据

var updateResult = VerifyHub.updateRemoteData("user_config_1", "李四");
console.log("更新远程数据结果:", JSON.stringify(updateResult));

9.4 删除远程数据

var deleteResult = VerifyHub.deleteRemoteData("user_config_1");
console.log("删除远程数据结果:", JSON.stringify(deleteResult));

10. 远程变量

获取远程变量(无需登录):

var remoteVarResult = VerifyHub.getRemoteVar("test_var_to_get");
console.log("获取远程变量结果:", JSON.stringify(remoteVarResult));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "value": "123213123123"  // 远程变量的数据
// }

11. 远程函数

调用远程函数(需要登录):

// 定义函数参数
var functionParams = [
    {
        paramName: "param1",  // 变量名
        paramValue: "12"      // 变量值
    },
    {
        paramName: "param2",
        paramValue: "24"
    }
];

// 调用远程函数
var functionResult = VerifyHub.callFunction("function_1", functionParams);
console.log("调用远程函数结果:", JSON.stringify(functionResult));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "result": "36.0"  // 函数执行结果
// }

12. 脚本更新

获取并更新最新脚本:

// 查询最新的脚本
var newestResult = VerifyHub.getNewestScript("test_script");
console.log("查询最新脚本结果:", JSON.stringify(newestResult));

// 返回结果示例:
// {
//     "code": 200,
//     "msg": "操作成功",
//     "success": true,
//     "scriptName": "test_script",
//     "versionNumber": "1.0.1",
//     "versionDescription": "新版本1.0.1",
//     "scriptType": "TEXT",
//     "scriptReleaseTime": "2025-10-01 18:43:21"
// }

if (newestResult && newestResult.success && newestResult.versionNumber) {
    // 查询脚本的临时下载地址
    var scriptDownloadResult = VerifyHub.getScriptDownload(
        "test_script", 
        newestResult.versionNumber
    );
    console.log("脚本下载地址:", JSON.stringify(scriptDownloadResult));

    // 在EasyClick中,使用http模块下载文件
    if (scriptDownloadResult && scriptDownloadResult.success && scriptDownloadResult.downloadUrl) {
        try {
            var response = http.request({
                url: scriptDownloadResult.downloadUrl,
                method: "GET"
            });
            console.log("响应码 = " + response.statusCode);
            console.log("脚本内容 = " + response.body);
        } catch (e) {
            console.error("下载脚本失败:", e);
        }
    }
}

13. 完整示例

// 1. 初始化配置
var paramApiDomain = "https://verifyhub.cn";
var paramProgramId = "你的程序ID";
var paramProgramSecret = "你的程序密钥";
var paramMerchantPublicKey = "你的商户公钥";
var paramKauthSignType = "RSA";
var platformType = "easyclick_mobile";

VerifyHub.initConfig(
    paramApiDomain,
    paramProgramId,
    paramMerchantPublicKey,
    paramProgramSecret,
    paramKauthSignType
);

// 2. 卡密登录
var loginResp = VerifyHub.kaLogin("你的卡密", platformType, "", "");
if (loginResp && loginResp.success) {
    console.log("登录成功,用户ID:", loginResp.userId);
    
    // 3. 获取用户信息
    var userInfo = VerifyHub.userInfo();
    console.log("用户类型:", userInfo.serverType);
    console.log("剩余次数:", userInfo.serverRemainNum);
    console.log("到期时间:", userInfo.serverExpireTime);
    
    // 4. 使用远程数据
    VerifyHub.addRemoteData("my_data", "Hello World");
    var data = VerifyHub.getRemoteData("my_data");
    console.log("远程数据:", data.value);
    
    // 5. 退出登录
    VerifyHub.loginOut();
}

14. 注意事项

  1. 所有需要登录的功能,必须先调用登录接口
  2. 卡密配置和用户配置是分别独立的存储空间
  3. 远程函数和远程数据需要登录后才能使用
  4. 脚本更新功能可以用于实现脚本在线更新
  5. 验证码用于某些安全操作,如注册、修改密码等

15. 错误处理

所有 API 调用都会返回统一格式的响应:

{
    "code": 200,           // 状态码,200表示成功
    "msg": "操作成功",      // 提示信息
    "success": true,       // 是否成功
    // ... 其他数据字段
}

建议在实际使用时检查 success 字段:

var result = VerifyHub.kaLogin("卡密", platformType, "", "");
if (result && result.success) {
    // 登录成功
    console.log("用户ID:", result.userId);
} else {
    // 登录失败
    console.error("登录失败:", result.msg);
}

16. 更多信息

  • 更多 API 接口说明请参考 API 文档
  • 如有问题,请联系技术支持:admin@verifyhub.cn 或 QQ: 5027954
最近更新:: 2025/12/4 12:54
Contributors: SongLongKuan
Prev
AutoJs对接
Next
Java对接