add set_args function
This commit is contained in:
@@ -51,6 +51,7 @@ First line<br/>Second line
|
||||
* `aio:remove_widget(string)` - удаляет с экрана встроенный виджет или виджет-скрипт (внимание: доп. виджеты тоже будут удалены);
|
||||
* `aio:is_widget_added(string)` - проверяет, добавлен ли виджет на экран;
|
||||
* `aio:get_args()` - возвращает таблицу аргументов, которые пользователь указал нажав на иконку настроек в режиме редактирования виджета;
|
||||
* `aio:set_args()` - принудительно устанавливает аргументы скрипта (можно использовать для сохранения настроек скрипта - аргументы не стираются при отключении скрипта);
|
||||
|
||||
Если в метаданных виджета есть поле `arguments_help`, его значение будет выведено при редактировании аргументов виджета. Если есть поле `arguments_default` - оно будет использовано для получения дефолтовых аргументов.
|
||||
|
||||
|
||||
13
args-test2.lua
Normal file
13
args-test2.lua
Normal file
@@ -0,0 +1,13 @@
|
||||
-- arguments_help = "The word recorded here will be displayed on the screen."
|
||||
-- arguments_default = "Word"
|
||||
|
||||
function on_resume()
|
||||
aio:set_args({"Word#1", "Word#2"})
|
||||
local args = aio:get_args()
|
||||
|
||||
if args == nil then
|
||||
ui:show_text("args is empty")
|
||||
else
|
||||
ui:show_text("arg1: "..args[1])
|
||||
end
|
||||
end
|
||||
25
ip-location-widget.lua
Normal file
25
ip-location-widget.lua
Normal file
@@ -0,0 +1,25 @@
|
||||
function on_alarm()
|
||||
request_ip()
|
||||
end
|
||||
|
||||
function on_network_result(result, code, id)
|
||||
if id == "ip" then
|
||||
local location = {
|
||||
ajson:get_value(result, "object string:latitude"),
|
||||
ajson:get_value(result, "object string:longitude")
|
||||
}
|
||||
request_addr(location)
|
||||
elseif id == "adr" then
|
||||
local adr = ajson:get_value(result, "object string:display_name")
|
||||
ui:show_text(adr)
|
||||
end
|
||||
end
|
||||
|
||||
function request_ip()
|
||||
http:get("https://freegeoip.app/json/", "ip")
|
||||
end
|
||||
|
||||
function request_addr(location)
|
||||
http:get("https://nominatim.openstreetmap.org/reverse?format=json&lat="..location[1].."&lon=".. location[2].."&addressdetails=1", "adr")
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user