Yêu cầu người dùng điều khiển từ xa (LCC.assist.request_control)
Khai báo
result, err, task = LCC.assist.request_control(options)
Tham số
- options
Kiểu bảng, cấu hình yêu cầu hỗ trợ thủ công. Xem các trường tại Tham số chung và đối tượng trả về. Hàm này tự động đặttype = "control".
Giá trị trả về
- result
Kiểu bảng hoặcnil; khi thành công, trả về kết quả do người dùng gửi. Nhấp "Hoàn tất" trả về{ kind = "device-control", completed = true }; nếu mở "Gửi thủ công" và gửi JSON hợp lệ, hàm trả về bảng Lua tương ứng với JSON đó; nếu gửi văn bản thuần, hàm trả về{ note = "nội dung văn bản" }. - err
Kiểu chuỗi hoặcnil; khi thất bại, trả về nội dung mô tả lỗi. - task
Kiểu bảng hoặcnil; trạng thái tác vụ gần nhất.
Mô tả
Dùng cho các tình huống mà tập lệnh không nên tiếp tục phỏng đoán, như thanh trượt, xác minh người dùng, đăng nhập, kiểm tra bảo mật, hộp thoại quyền và tương tác phức tạp.
Sau khi người dùng điều khiển từ xa để giải quyết vấn đề và nhấp "Hoàn tất", tập lệnh tiếp tục chạy rồi đánh giá lại màn hình.
Trườngtextcần mô tả rõ người dùng phải hoàn thành việc gì.
"Hoàn tất" và "Gửi thủ công" là hai lối vào khác nhau:
- Nhấp "Hoàn tất": phù hợp khi chỉ cần biểu thị thao tác điều khiển từ xa đã xử lý xong; luôn trả về
{ kind = "device-control", completed = true }. - Nhấp "Gửi" trong "Gửi thủ công": dùng để trả thông tin bổ sung cho tập lệnh. JSON hợp lệ được trả về dưới dạng kết quả có cấu trúc; văn bản không phải JSON được trả về dưới dạng
{ note = "..." }; nội dung rỗng sẽ không được gửi.
Ví dụ
local result, err = LCC.assist.request_control({
title = "Xử lý xác minh thủ công",
text = "Hãy điều khiển thiết bị từ xa để hoàn tất xác minh, sau đó nhấp Hoàn tất",
timeout = 300,
})
if not result then
nLog("Điều khiển từ xa chưa hoàn tất", err)
end
Truyền trực tiếp ảnh chụp hiện tại:
local img = screen.image()
local result, err = LCC.assist.request_control({
title = "Cần xử lý thủ công",
text = "Hãy điều khiển từ xa để hoàn tất xác minh hiện tại, sau đó nhấp Hoàn tất",
screenshotImage = img,
screenshotImageQuality = 0.6,
timeout = 300,
})
if img.destroy then
img:destroy()
end