Solicitar control remoto manual (LCC.assist.request_control)
Declaración
result, err, task = LCC.assist.request_control(options)
Parámetros
- options
Tipo table, configuración de la solicitud de asistencia humana. Consulta Parámetros comunes y objetos devueltos. Esta función establece automáticamentetype = "control".
Valores devueltos
- result
Tipo table onil; devuelve el resultado enviado por el usuario cuando tiene éxito. Al hacer clic en «Completado» devuelve{ kind = "device-control", completed = true }; al abrir «Enviar resultado manualmente» y enviar un JSON válido devuelve la tabla Lua correspondiente, y al enviar texto normal devuelve{ note = "Contenido de texto" }. - err
Tipo string onil; devuelve la descripción del error cuando falla. - task
Tipo table onil; estado de la última tarea.
Descripción
Se utiliza para controles deslizantes, verificación CAPTCHA, inicio de sesión, comprobaciones de seguridad, diálogos de permisos e interacciones complejas en las que el script no debería seguir adivinando.
Después de que el usuario resuelva el problema mediante control remoto, hace clic en «Completado»; el script continúa y vuelve a evaluar la pantalla.
textdebe indicar claramente qué debe completar el usuario.
«Completado» y «Enviar resultado manualmente» son dos entradas distintas:
- Hacer clic en «Completado» solo indica que la operación remota ha terminado y devuelve siempre
{ kind = "device-control", completed = true }. - Hacer clic en «Enviar resultado manualmente» y después en «Enviar» sirve para devolver información adicional al script. El JSON válido se devuelve como resultado estructurado; el texto que no sea JSON se devuelve como
{ note = "..." }; el contenido vacío no se envía.
Ejemplo
local result, err = LCC.assist.request_control({
title = "人工处理验证",
text = "请远控设备完成验证后点击已完成",
timeout = 300,
})
if not result then
nLog("远控未完成", err)
end
Pasar directamente la captura actual:
local img = screen.image()
local result, err = LCC.assist.request_control({
title = "需要人工处理",
text = "请远控完成当前验证后点击完成",
screenshotImage = img,
screenshotImageQuality = 0.6,
timeout = 300,
})
if img.destroy then
img:destroy()
end