插件 api 范例文件
- lua 返回一个 table,每个 key 为 api 函数名,value 为入口函数
- 每个 api 函数的一个参数为运行上下文(task),后面的参数为调用参数,可以是多个,也可以没有
- api 函数可以进行阻塞操作,比如等待一个时间再返回,但必须在可能阻塞的代码调用 task.sleep(100)
- api 函数,可以通过 task.deviceid 和 task.tspid 获取调用者的设备号和运行的脚本 id
local api = {}
--取当前时间
function api.current_time(task)
return os.time()
end
--计算乘积
function api.multiplication(task,a,b)
return a*b
end
--多参数示例
function api.multi_param(task,p1,p2,p3,p4)
return p1,p2,p3,p4
end
--阻塞 api 示例
local 退出条件 = false
function api.block(task)
while true do
if 退出条件 then
break
end
--在可能阻塞的代码段,必须调用 task.sleep(x),其中 x 为等待 x 毫秒
task.sleep(100)
end
end
--获取设备号和脚本 id 示例
function api.get_device(task)
return task.deviceid
end
function api.get_tspid(task)
return task.tspid
end
return api