按键精灵 快速接入
华网网络验证提供了官方的 按键精灵手机版 封装库,方便 按键精灵手机版 开发者接入。
接入须知
获取方式
下载地址:https://wwds.lanzouq.com/b058uzv4j 密码:f0v5
或者加群839808671在群文件下载SDK,有问题也可在此群交流。
使用方式
将压缩包解压出来后 把 HWSDK.info、HWSDK.luae 、HWSDK.html 导入到 按键精灵目录的 Plugin 下
一个示例:
Import "HWSDK.luae"
HWSDK.debugLog (true)
//初始化
Dim appKey=""
Dim appSecret=""
HWSDK.init appKey, appSecret
Thread.GetShareVar("HRETCODE") //按键精灵特殊性 lua线程开启要调用下 此行删除则心跳线程无效!!!
//回调函数
Function onHeartbeatFailed(hret)
TracePrint "验证异常信息:", hret["code"]
TracePrint "验证异常信息:", hret["message"]
If hret["code"] = 10207 then
ExitScript
Delay 2000
End If
TracePrint"心跳失败,2s后尝试重登..."
Delay 2000
Dim ret=HWSDK.cardLogin()
If ret["code"]<>0 then
TracePrint ret["message"]
ShowMessage ret["message"]
ExitScript
End If
TracePrint "重登成功"
End Function
HWSDK.onHeartbeatFailed (onHeartbeatFailed)//设置回调函数
//按键精灵 结束回调函数
Function OnScriptExit()
TracePrint "脚本已经停止!"
ShowMessage "脚本已经停止!"
HWSDK.cardLogout
End Function
// 卡密登录
// 登录成功后将自动启动一个线程发送心跳包,细节无需关心
// 开发者只需在自己的脚本中调用 HWSDK.getHeartbeatResult() 获取心跳结果
Dim 卡密=""
HWSDK.setCard(卡密)
Dim ret=HWSDK.cardLogin()
If ret["code"]<>0 then
TracePrint "登录失败 失败信息",ret["message"]
ShowMessage "登录失败 失败信息"&ret["message"]
ExitScript
End If
TracePrint "卡密卡类",ret["data"]["cardType"]
TracePrint "卡密到期时间",ret["data"]["expires"]
//hold主线程不要退出,记得删除,后面是你的代码
Do
Delay 1000
Dim hret=HWSDK.GetHeartbeatResult()
TracePrint "心跳结果",hret["code"]
Loop
初始化
init
语法
HWSDK.init("AppKey","AppSecret")
初始化卡密
语法
HWSDK.setCard(card)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
card | 是 | string | 用户填写的卡密(长度不超过45位) |
初始化用户账号
语法
HWSDK.setUser(username, password)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
username | 是 | string | 用户名(长度1-20位) |
password | 是 | string | 用户密码(长度6-30位) |
获取时间戳(网络时间)
语法
let timestamp = hw.getTimestamp()
参数
无
返回值
数字类型,例:1703870486
获取心跳结果
语法
let ret = hw.getHeartbeatResult()
参数
无
返回值
Object类型,例:{"code": 0, "message": "","data":null}
获取剩余时长
语法
Dim ret = HWSDK.getTimeRemaining()
参数
无
返回值
数字类型,剩余多少秒,例:9000
卡密登录
:::tip
注意
调用此接口前需调用 HWSDK.setCard(card) 初始化卡密
登录成功后将自动启动一个线程发送心跳包,开发者就无需关注发送心跳包的细节。
开发者只需在自己的脚本中通过调用 HWSDK.getHeartbeatResult() 获取当前心跳结果。
:::
语法
Dim ret = HWSDK.CardLogin()
参数
无
返回值
Object类型,例:参考接口返回
卡密退出登录
语法
Dim ret = HWSDK.cardLogout()
参数
无
返回值
英文:Object类型,例:{"code": 0, "message": "OK"}
卡密解绑设备
:::tip
注意
请先进入开发者后台软件管理页面,配置软件开启设备绑定且可解除绑定。
该接口只能在卡密登录后调用。更多说明
:::
语法
Dim ret = HWSDK.cardUnbindDevice()
参数
无
返回值
Object类型,例:{"code": 0, "message": "OK"}
卡密设置解绑密码
:::tip
说明
请先进入开发者后台软件管理页面,配置软件开启设备绑定且可解除绑定。
该密码用于绑定设备丢失或者其它原因导致无法在老设备登录时解绑设备。
:::
语法
Dim ret = HWSDK.setCardUnbindPassword(password)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
password | 是 | string | 解绑密码(6-10位数字和字母组合的字符串) |
返回值
Object类型,例:{"code": 0, "message": "OK"}
卡密通过密码解绑设备
:::tip
说明
请先进入开发者后台软件管理页面,配置软件开启设备绑定且可解除绑定。
该接口用于绑定设备丢失或者其它原因导致无法在老设备登录时,通过解绑密码解绑设备。
:::
语法
Dim ret = HWSDK.cardUnbindDeviceByPassword(password)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
password | 是 | string | 解绑密码(6-10位数字和字母组合的字符串) |
返回值
Object类型,例:{"code": 0, "message": "OK"}
卡密充值(以卡密充卡密)
语法
Dim ret = HWSDK.cardRecharge(card, useCard)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
card | 是 | string | 被充值的卡密(长度不超过45位) |
useCard | 是 | string | 充值使用的卡密(长度不超过45位) |
返回值
Object类型,例:{"code": 0, "message": "OK"}
用户注册(通过卡密)
语法
Dim ret = HWSDK.userRegister(username, password, card)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
username | 是 | string | 用户名(长度不能超过20位) |
password | 是 | string | 用户密码(长度6-30位) |
card | 是 | string | 注册使用的卡密(长度不超过45位) |
返回值
Object类型,例:{"code": 0, "message": "ok"}
用户登录
:::tip
注意
调用此接口前需调用 HWSDK.setUser(username, password) 初始化用户账号密码
登录成功后将自动启动一个线程发送心跳包,开发者就无需关注发送心跳包的细节。
开发者只需在自己的脚本中通过调用 HWSDK.getHeartbeatResult() 获取当前心跳结果。
:::
语法
Dim ret = HWSDK.userLogin()
参数
无
返回值
Object类型,例:参考接口返回
用户退出登录
语法
Dim ret = HWSDK.userLogout()
参数
无
返回值
Object类型,例:{"code": 0, "message": "OK"}
中文:bool类型 返回 treu 或 fasle
用户修改密码
语法
Dim ret = HWSDK.userChangePassword(username, password, newPassword)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
username | 是 | string | 用户名(长度不能超过20位) |
password | 是 | string | 当前密码(长度6-30位) |
newPassword | 是 | string | 新密码(长度6-30位) |
返回值
Object类型,例:{"code": 0, "message": "OK"}
中文:bool类型 返回 treu 或 fasle
用户充值(通过卡密)
语法
Dim ret = HWSDK.userRecharge(username, card)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
username | 是 | string | 用户名(长度不能超过20位) |
card | 是 | string | 充值使用的卡密(长度不超过45位) |
返回值
Object类型,例:{"code": 0, "message": "OK"}
试用登录
:::tip
注意
登录成功后将自动启动一个线程发送心跳包,开发者就无需关注发送心跳包的细节。
只需在自己的脚本中通过调用 HWSDK.getHeartbeatResult() 获取当前心跳结果。
:::
语法
Dim ret = HWSDK.trialLogin()
参数
无
返回值
Object类型,例:参考接口返回
试用退出登录
语法
Dim ret = HWSDK.trialLogout()
参数
无
返回值
Object类型,例:{"code": 0, "message": "OK"}
获取卡密配置
:::tip
注意
调用此接口前需调用 HWSDK.setCard(card) 初始化卡密
:::
语法
Dim ret = HWSDK.getCardConfig()
参数
无
返回值
Object类型,例:参考接口返回
更改卡密配置
:::tip
注意
调用此接口前需调用 HWSDK.setCard(card) 初始化卡密
:::
语法
Dim ret = HWSDK.updateCardConfig(config)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
config | 是 | string | 自定义配置(长度不能超过512位) |
返回值
Object类型,例:{"code": 0, "message": "OK"}
获取用户配置
:::tip
注意
调用此接口前需调用 HWSDK.setUser(username, password) 初始化用户账号密码
:::
语法
Dim ret = HWSDK.getUserConfig()
参数
无
返回值
Object类型,例:参考接口返回
更改用户配置
注意
调用此接口前需调用 HWSDK.setUser(username, password) 初始化用户账号密码
语法
Dim ret = HWSDK.updateUserConfig(config)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
config | 是 | string | 自定义配置(长度不能超过512位) |
返回值
Object类型,例:{"code": 0, "message": "OK"}
获取软件配置
语法
Dim ret = HWSDK.getSoftwareConfig()
参数
无
返回值
Object类型,例:参考接口返回
中文:返回字符串
获取软件公告
语法
Dim ret = HWSDK.getSoftwareNotice()
参数
无
返回值
Object类型,例:参考接口返回
获取软件最新版本
语法
Dim ret = HWSDK.getSoftwareLatestVersion(current_ver)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
current_ver | 否 | string | 当前本地的版本(长度不能超过30位)空默认返回 发布版本 |
返回值
Object类型,例:参考接口返回
远程变量
获取远程变量
语法
Dim ret = HWSDK.getRemoteVar(key)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
key | 是 | string | 远程变量名(长度不能超过64位) |
返回值
Object类型,例:参考接口返回
设置远程变量
语法
Dim ret = HWSDK.updateRemoteVar(key, value)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
key | 是 | string | 远程变量名key(长度不能超过64位) |
value | 是 | string | 远程变量值value(长度不能超过60000位) |
返回值
Object类型,例:{"code": 0, "message": "OK"}
中文:bool类型 返回 treu 或 fasle
创建远程变量
语法
Dim ret = HWSDK.createRemoteVar(key,value)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
key | 是 | string | 远程变量名key(长度不能超过64位) |
value | 是 | string | 远程变量值value(长度不能超过60000位) |
返回值
Object类型,例:参考接口返回
删除远程变量
语法
Dim ret = HWSDK.deDimeRemoteVar(key)
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
key | 是 | string | 远程变量名key(长度不能超过64位) |
返回值
Object类型,例:{"code": 0, "message": "OK"}
调用远程函数
语法
Dim ret = HWSDK.callRemoteFunc(funName, params)
示例
远程函数为:
function add(a, b) {
return a + b;
}
脚本中调用:
Dim ret = HWSDK.callRemoteFunc("add", Array(1, 2))
if (ret["code"] == 0) {
TracePrint ret["data"]["result"];
} else {
TracePrint ret.message;
}
参数
参数名 | 必传 | 类型 | 参数说明 |
---|---|---|---|
funName | 是 | string | 远程函数名(长度不能超过64位) |
params | 是 | array | 参数列表,例:Array(1, 2) |
返回值
Object类型,例:{"code": 0, "message": "OK", "data": {"result": 3}}
其他功能
获取模块版本
语法
Dim ret = HWSDK.getSdkVersion()
返回值
字符串 例:v1.0.0
输出调试信息
语法
HWSDK.debugLog(true)//bool型,默认为true,开启后会在控制台输出每次请求的详细信息,方便调试
获取机器码
语法
Dim deviceId=HWSDK.getDeviceId() // string型,设备号默认会自动获取,不建议修改。如果你有更好的一机一码的生成方案,可在初始化后修改该值
设置机器码
语法
Dim deviceId="asdc123456"//设置的机器码
HWSDK.setDeviceId(deviceId)
关闭自动心跳
语法
HWSDK.setAutoHeartbeat(false) //true 为开启 false 为关闭
设置心跳周期
语法
HWSDK.setHeartbeatGap(120) //默认 120秒 请勿低于60s一次!