Import "Cjson.lua"
Import "ShanHai.lua"
Thread.SetShareVar "请求地址", "https://api.yankami.cn/"
Thread.SetShareVar "项目ID", ""
Thread.SetShareVar "项目秘钥", ""
远程变量添加("","","")
Function 远程变量添加(name,value,notes)
Dim timeStamp = Time()
Dim sign = Encode.Md5(Thread.GetShareVar("项目ID")&Thread.GetShareVar("项目秘钥")&timeStamp)
Dim 请求返回 = URL.Get(Thread.GetShareVar("请求地址")&"remoteVariablesAddSubmit?xmid="&Thread.GetShareVar("项目ID")&"&name="&name&"&value="&value&"¬es="¬es&"&timeStamp="&timeStamp&"&sign="&sign,5)
TracePrint "远程变量添加:"&请求返回
Dim json
If InStr(1, 请求返回, "code") <> 0 Then
json = Cjson.Decode(请求返回)
End If
If json And json["code"] = 200 Then
TracePrint "远程变量添加成功"
Else
TracePrint "远程变量添加失败"
End If
EndScript//停止辅助
End Function
Dim 项目ID,项目秘钥
项目ID = ""
项目秘钥 = ""
Call 远程变量添加("","","")
Function 远程变量添加(name,value,notes)
Dim timeStamp,sign,请求地址,请求URL,响应内容,状态
timeStamp = getTime()
sign = Plugin.Encrypt.Md5String(项目ID&项目秘钥&timeStamp)
请求地址 = "http://api.yankami.cn/remoteVariablesAddSubmit"
请求URL = 请求地址&"?xmid="&项目ID&"&name="&URLEncode(name)&"&value="&URLEncode(value)&"¬es="&URLEncode(notes)&"&timeStamp="&timeStamp&"&sign="&sign
TracePrint "远程变量添加 URL:"&请求URL
响应内容 = Lib.网络.获得网页源文件_增强版(请求URL,"utf-8")
TracePrint "响应内容:"&响应内容
If InStr(1, 响应内容, "{") <> 1 or InStr(1, 响应内容, "code") = 0 Then
TracePrint "添加失败"
Else
状态 = json解析(响应内容, "code")
TracePrint "状态:"&状态
If 状态 <> 200 Then
TracePrint "添加失败"
Else
TracePrint "添加成功"
End If
End If
ExitScript//停止辅助
End Function
Function URLEncode(str)
Set sc = CreateObject("ScriptControl")
sc.Language = "JScript"
URLEncode = sc.Eval("encodeURIComponent('" & str & "')")
End Function
Function json解析(resp,json路径)
Set sc = CreateObject("MSScriptControl.ScriptControl")
sc.Language = "JScript"
sc.AddCode "var tmp = " & resp & ";"
json解析 = sc.Eval("tmp." & json路径)
End Function
Function getTime()
' 核心功能:获取当前系统时间 → 转换为秒数(基准:1970-01-01 08:00:00 北京时间)
Dim 基准时间, 当前时间
基准时间 = DateSerial(1970, 1, 1) + TimeSerial(8, 0, 0) ' 设定基准时间
当前时间 = Now()' 获取系统当前时间(北京时间)
TracePrint 当前时间
getTime = DateDiff("s", 基准时间, 当前时间) ' 计算时间差(单位:秒)
End Function
local 请求地址 = "https://api.yankami.cn/"
local 项目ID = ""
local 项目秘钥 = ""
function 远程变量添加(name, value, notes)
local timeout = 5
local headers = {}
local timeStamp = os.time()
local sign = MD5(项目ID .. 项目秘钥 .. timeStamp);
local url = 请求地址 .. "remoteVariablesAddSubmit" .. "?xmid=" .. 项目ID .. "&name=" .. name .. "&value=" .. value .. "¬es=" .. notes .. "&timeStamp=" .. timeStamp .. "&sign=" .. sign
local ret = LuaEngine.httpGet(url, headers, timeout)
if ret ~= nil and utf8.mid(ret, 1, 1) == "{" and utf8.mid(ret, utf8.length(ret), 1) == "}" then
local ret = jsonLib.decode(ret)
print(ret)
print(ret.code)
if ret.code ~= 200 then
print("远程变量添加 错误code:" .. ret.code)
else
print("远程变量添加成功")
end
else
print("远程变量添加 错误:nil")
end
end
远程变量添加("", "", "")
var 请求地址 = "https://api.yankami.cn/"
var 项目ID = ""
var 项目秘钥 = ""
远程变量添加("", "", "")
function 远程变量添加(name, value, notes) {
var timeStamp = parseInt(new Date().getTime() / 1000)
console.log("远程变量添加 timeStamp:" + timeStamp)
var sign = UtilsWrapper.prototype.dataMd5(项目ID + 项目秘钥 + timeStamp)
var 请求返回 = sendGet(请求地址 + "remoteVariablesAddSubmit?xmid=" + 项目ID + "&name=" + name + "&value=" + value + "¬es=" + notes + "&timeStamp=" + timeStamp + "&sign=" + sign)
console.log("远程变量添加:" + 请求返回)
if (!请求返回.startsWith("{") || !请求返回.endsWith("}")) {
console.log("远程变量添加 失败!")
toast("远程变量添加 失败!")
} else {
//解析JSON
var json = JSON.parse(请求返回)
if (json["code"] != 200) {
console.log("远程变量添加 错误code:" + json["code"])
toast("错误code:" + json["code"])
} else {
console.log("远程变量添加 成功")
}
}
}
//发送Get请求
function sendGet(target) {
return "" + HttpWrapper.prototype.httpGet(target, null, 30000, null)
}