调用例子

# 步骤一、快速调用 ### 调试环境: win10 64位 懒人版本≥3.8.6.2 **例子下载地址:http://ssdun.cn/home/API/lanrenV4.5.zip** 1. 将SsdunUtils.apk文件解压出来,然后右键点击你的懒人精灵项目的资源目录》添加》双击资源=>添加文件》找到解压目录选择SsdunUtils.apk。 2. 将Ssdun.luae文件解压出来,然后右键点击你的懒人精灵项目的插件目录》添加》已有项》找到解压目录选择Ssdun.luae。 然后在脚本中通过 require("Ssdun") 引入。 main.lua 是一个示例。 快速调用: ```lua require("Ssdun") --Ssdun.crackDifficulty=3 --发送加密等级 默认3 发送加密+获取本地时间, 2发送加密+获取网络时间 ,1明文发送 +获取网络时间 Ssdun.debug=false;--开启输出调试信息 Ssdun.card="ssdun_t7eF4aKPtm"--设置卡密 --参数 userKey,appsecret,加密模式,加密密钥 Ssdun.初始化("c66f660a1a86e69f4a0c7d0e9db4612a8781558e8b0c5861a539b61dcb77cc6e",7,0,"") --设置心跳回调线程 Ssdun.心跳线程回调(function (statusCode,errorMsg) if statusCode~=10100 then print("心跳错误状态码:"..statusCode); print("心跳错误反馈信息:"..errorMsg); setTimer(exitScript,10) -- 退出脚本 else print("心跳正常 状态码"..statusCode.."信息:"..errorMsg) print() end end) --测试代码因为不同机器码原因 用了密码解除绑定机器码,后面需要删除以下代码 statusCode,data=Ssdun.卡密解绑(nil,nil,nil,"ssdun") if statusCode ~= 200 then toast(data,0,0,12) print(data) else print("卡密解绑成功") end --测试代码结束,后面需要删除 以上代码 sleep(1000) statusCode,data=Ssdun.卡密验证() if statusCode ~= 200 then toast(data,0,0,12) print(data) exitScript(); end print("卡密使用时间:"..data["start_time"]) print("卡密剩余天数:"..data["remaining_days"]) print("卡密过期时间:"..data["end_time"]) sleep(1000) --可选择开不开启心跳 --(参数1: 10分钟心跳一次 ,参数2:1开启网络心跳检测 2卡密心跳检测,参数3:重试次数) Ssdun.开启心跳线程(10,2,0) sleep(1000) --设置脚本停止退出心跳 setStopCallBack(function(error) if error then print("脚本异常结束了!!!") else print("脚本正常结束了!!!") end local SsdunEmpowerHeartbeat=getStringConfig("SsdunEmpowerHeartbeat") if SsdunEmpowerHeartbeat ~= "" and SsdunEmpowerHeartbeat ~= nil then statusCode,data= Ssdun.网络退出心跳验证(SsdunEmpowerHeartbeat) print("网络退出心跳验证:"..statusCode) setStringConfig("SsdunEmpowerHeartbeat","") end local SsdunCardHeartbeat=getStringConfig("SsdunCardHeartbeat") if SsdunCardHeartbeat ~= "" and SsdunCardHeartbeat ~= nil then statusCode,data= Ssdun.卡密退出心跳验证(SsdunCardHeartbeat) print("卡密退出心跳验证:"..statusCode) setStringConfig("SsdunCardHeartbeat","") end end) --此处运行你的脚本 这里只是保持脚本稍等一会退出 加上代码后需要删除此处 for循环 for i=1,10 do print("此处运行你的脚本i:",i) sleep(1000) end ``` # 模块函数 ## 获取北京十位时间戳 ```lua Ssdun.GetTimestamp() ``` ## 获取机器码 ```lua Ssdun.获取机器码() ``` ## 热更新信息 ```lua --[[ url:热更URL ]]-- statusCode,data=Ssdun.获取热更新信息(URL) if statusCode == 200then print("网络版本号.."data["version"]") print("公告:") print(data["msg"]) print("是否强制更新:") print(data["force"]) print("是否弹出公告:") print(data["dialog"]) Ssdun.热更新(data,true) else print("无需更新") end ``` ## 热更新 ```lua --[[ data:热更新信息返回的数据 restartScript:是否重启脚本 downSchedule:下载进度回调 ]]-- statusCode,data=Ssdun.获取热更新信息(URL) if statusCode == 200then print("网络版本号.."data["version"]") print("公告:") print(data["msg"]) print("是否强制更新:") print(data["force"]) print("是否弹出公告:") print(data["dialog"]) Ssdun.热更新(data,true) else print("无需更新") end ``` ``` ## 初始化 ```lua --[[ user_key:平台(控制台)->复制UserKey appSecret :平台(软件列表)->Id encryptionMode: 0,//加密模式选择 0 无加密,1 AES加密 2 RSA加密 key: 加密密钥 字符串形式 AES模式网站获取直接填写上,RSA模式把RSA文件导入资源文件中,填写RSA文件全名,如"2083_RSA_PUBLIC.pem" assets: 字符串形式 AES模式不用填写,可直接 "" 为空 RSA模式文件 文件放在那个 资源文件中,就使用哪个资源文件的名字,如 "main.rc" --]] Ssdun.初始化(user_key,app_secret,encryptionMode,key,assets) ``` ## 卡密验证 ```lua --[[ card:(可空) 生成的卡密 备注(可使用Ssdun.card="卡密" 则可空) machine_code:(可空) 机器码 备注(默认调用 本机设备号) app_secret:(可空) 平台(软件列表)->Id 备注( 默认调用初始化后的app_secret) timestamp:(可空) 北京十位时间戳 备注:默认调用本机时间戳 ]]-- statusCode,data=Ssdun.卡密验证() if statusCode ~= 200 then toast(data,0,0,12) print(data) exitScript(); else -- statusCode 200 执行成功 数据可用 data["xxx"]获取 print(data) end ``` ## 卡密心跳验证 ```lua --[[ token:(可空) 心跳token 备注(若调用过卡密验证后参数可空) timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.卡密心跳验证() if statusCode ~= 10100 then toast(data,0,0,12) print(data) else -- tatusCode 200 执行成功 数据可用 data["xxx"]获取 print("成功") end ``` ## 卡密退出心跳验证 ```lua --[[ token:(可空) 心跳token 备注(若调用过卡密验证后参数可空) timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.卡密退出心跳验证() if statusCode ~= 10101 then toast(data,0,0,12) print(data) else -- tatusCode 200 执行成功 数据可用 data["xxx"]获取 print("成功") end ``` ## 卡密解绑 ```lua --[[ card:(可空) 生成的卡密 备注(可使用Ssdun.card="卡密" 则可空) machine_code:(可空) 机器码 备注(默认调用 本机设备号) deduct:(可空)扣除卡密天数 默认0天 password:(可空)解绑密码 备注(解绑密码优先级比机器码高) app_secret:(可空) 平台(软件列表)->Id 备注( 默认调用初始化后的app_secret) timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.卡密解绑() if statusCode ~= 200 then toast(data,0,0,12) print(data) else -- statusCode 200 执行成功 数据可用 data["xxx"]获取 print("解绑成功") end ``` ## 充值卡密 ```lua --[[ use_card: 充值卡 备注(一张未使用的卡密) card:(可空) 生成的卡密 备注(可使用Ssdun.card="卡密" 则可空) app_secret:(可空) 平台(软件列表)->Id 备注( 默认调用初始化后的app_secret) timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.充值卡密() if statusCode ~= 200 then toast(data,0,0,12) print(data) else -- statusCode 200 执行成功 数据可用 data["xxx"]获取 print("充值成功") end ``` ## 网络验证 ```lua --[[ appSecret:(可空)平台(软件列表)->Id timestamp:(可空)十位北京时间戳 ]]-- statusCode,data=Ssdun.网络验证() if statusCode ~= 200 then toast(data,0,0,12) print(data) exitScript(); else -- statusCode 200 执行成功 数据可用 data["xxx"]获取 print(data) end ``` ## 网络心跳验证 ```lua --[[ token:(可空) 心跳token 备注(若调用过卡密验证后参数可空) timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.网络心跳验证() if statusCode ~= 10100 then toast(data,0,0,12) print(data) else -- tatusCode 200 执行成功 数据可用 data["xxx"]获取 print("成功") end ``` ## 网络退出心跳验证 ```lua --[[ token:(可空) 心跳token 备注(若调用过卡密验证后参数可空) timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.网络退出心跳验证() if statusCode ~= 10101 then toast(data,0,0,12) print(data) else -- tatusCode 200 执行成功 数据可用 data["xxx"]获取 print("成功") end ``` ## 网络退出心跳验证 ```lua --[[ token:(可空) 心跳token 备注(若调用过卡密验证后参数可空) timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.网络退出心跳验证() if statusCode ~= 10101 then toast(data,0,0,12) print(data) else -- tatusCode 200 执行成功 数据可用 data["xxx"]获取 print("成功") end ``` ## 开启心跳线程 ```lua --[[ reqInterval:检测时间 默认10分钟 最短十分钟一次最长不能超过一小时 type:1开启网络心跳检测 2卡密心跳检测 retryCount: 重试次数 ]]-- Ssdun.开启心跳线程(reqInterval,type,retryCount) ``` ## 心跳线程回调 ```lua --[[ statusCode 状态码 可参考:https://doc.ssdun.cn/doc/38382379/b5qyY6IB/7IRAlJwd errorMsg 错误返回信息 ]]-- Ssdun.心跳线程回调(function (statusCode,errorMsg) if statusCode~=10100 then print("心跳错误状态码:"..statusCode); print("心跳错误反馈信息:"..errorMsg); setTimer(exitScript,10) -- 退出脚本 else print("心跳正常 状态码"..statusCode.."信息:"..errorMsg) end end) ``` ## 创建远程变量 ```lua --[[ name:创建变量的昵称 var:变量的数据 timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.创建远程变量("测试创建","创建数据") if statusCode ~= 200 then toast(data,0,0,12) print(data) else -- statusCode 200 执行成功 数据可用 data["xxx"]获取 print("创建后的app_secret:") print(data["app_secret"]) end ``` ## 删除远程变量 ```lua --[[ app_secret:创建的变量的app_secret 备注(是变量列表ID不是软件ID) timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.删除远程变量(app_secret) if statusCode ~= 200 then toast(data,0,0,12) print(data) else -- statusCode 200 执行成功 数据可用 data["xxx"]获取 print("成功") end ``` ## 设置远程变量 ```lua --[[ app_secret:变量appsecret var:变量的数据 timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.设置远程变量(app_secret,var) if statusCode ~= 200 then toast(data,0,0,12) print(data) else -- statusCode 200 执行成功 数据可用 data["xxx"]获取 print("成功") end ``` ## 查询远程变量 ```lua --[[ app_secret:变量appsecret timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.获取远程变量(app_secret) if statusCode ~= 200 then toast(data,0,0,12) print(data) else -- statusCode 执行成功 数据可用 data["xxx"]获取 print("获取数据:") print(data["var"]) end ``` ## 运行远程JS函数 ```lua --[[ app_secret:远程js列表的id funName:函数名 parameters:参数多个以[1,2,3,4]传输 timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.运行远程函数(app_secret,funName,parameters) if statusCode ~= 200 then toast(data,0,0,12) print(data) else -- statusCode 执行成功 数据可用 data["xxx"]获取 print("执行结果:") print(data["result"]) end ``` ## 试用验证 ```lua --[[ machine_code:(可空) 机器码 备注(默认调用 本机设备号) app_secret:(可空) 平台(软件列表)->Id 备注( 默认调用初始化后的app_secret) timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.试用验证() if statusCode ~= 200 then toast(data,0,0,12) print(data) else -- statusCode 200 执行成功 数据可用 data["xxx"]获取 print(data) end ``` ## 试用心跳验证 ```lua --[[ token:(可空) 心跳token 备注(若调用过网络验证后参数可空) timestamp:(可空) 北京十位时间戳 备注(默认调用本机时间戳) ]]-- statusCode,data=Ssdun.试用心跳验证() if statusCode ~= 10100 then toast(data,0,0,12) print(data) else -- statusCode 200 执行成功 数据可用 data["xxx"]获取 print("成功") end ``` ### 获取备用验证地址 ```js Ssdun.updateHost(); ``` ### 设置验证地址 ```js Ssdun.setBackupHosts(hosts); ```