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