2024-03-30 10:58:39 +08:00
|
|
|
|
class JavaScriptString {
|
|
|
|
|
|
/// 点击监听
|
2024-03-31 20:15:43 +08:00
|
|
|
|
static String clickEventJSString =
|
2024-03-30 10:58:39 +08:00
|
|
|
|
'''document.addEventListener('click', function(event) {
|
|
|
|
|
|
var x = event.clientX;
|
|
|
|
|
|
var y = event.clientY;
|
|
|
|
|
|
|
|
|
|
|
|
console.log('点击坐标:x=' + x + ', y=' + y);
|
2024-03-31 20:15:43 +08:00
|
|
|
|
window.flutter_inappwebview.callHandler('click', x, y);
|
2024-03-30 10:58:39 +08:00
|
|
|
|
|
|
|
|
|
|
});''';
|
|
|
|
|
|
|
2024-03-31 20:15:43 +08:00
|
|
|
|
/// 触摸监听
|
|
|
|
|
|
static String touchendEventJSString =
|
|
|
|
|
|
'''document.addEventListener('touchend', function(event) {
|
|
|
|
|
|
var x = event.changedTouches[0].clientX;
|
|
|
|
|
|
var y = event.changedTouches[0].clientY;
|
|
|
|
|
|
|
|
|
|
|
|
// 获取目标元素
|
|
|
|
|
|
var target = event.target;
|
|
|
|
|
|
|
|
|
|
|
|
// 获取目标元素的class和id
|
|
|
|
|
|
var targetClass = target.className;
|
|
|
|
|
|
var targetId = target.id;
|
|
|
|
|
|
|
|
|
|
|
|
console.log('Class: ' + targetClass);
|
|
|
|
|
|
console.log('Id: ' + targetId);
|
|
|
|
|
|
|
|
|
|
|
|
console.log('触摸坐标:x=' + x + ', y=' + y);
|
|
|
|
|
|
window.flutter_inappwebview.callHandler('touchend', x, y);
|
|
|
|
|
|
|
|
|
|
|
|
});''';
|
|
|
|
|
|
|
|
|
|
|
|
/// 退出登录
|
|
|
|
|
|
static String loginOutJsString = '''
|
|
|
|
|
|
\$.ajax({
|
|
|
|
|
|
type: "GET",
|
|
|
|
|
|
url: "/api/logout.do",
|
|
|
|
|
|
success: function(t) {
|
|
|
|
|
|
"index.html" != location.pathname ? window.location.href = "index.html" : location.reload()
|
|
|
|
|
|
},
|
|
|
|
|
|
error: function(t) {
|
|
|
|
|
|
var e = \$.parseJSON(t.responseText + "");
|
|
|
|
|
|
alert(e.msg, 2)
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
''';
|
|
|
|
|
|
|
2024-03-30 10:58:39 +08:00
|
|
|
|
/// 模拟点击
|
|
|
|
|
|
static String clickJSString(int x, int y) {
|
|
|
|
|
|
return 'document.elementFromPoint($x, $y).click();';
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-03-31 20:15:43 +08:00
|
|
|
|
/// 模拟触摸
|
|
|
|
|
|
static String touchendJsString(int x, int y) {
|
|
|
|
|
|
return '''
|
|
|
|
|
|
|
|
|
|
|
|
''';
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// 模拟触摸
|
|
|
|
|
|
static String getClassTouchendJsString(int x, int y) {
|
|
|
|
|
|
return '''
|
|
|
|
|
|
try{
|
|
|
|
|
|
// 获取鼠标点击位置的坐标
|
|
|
|
|
|
var x = $x;
|
|
|
|
|
|
var y = $y;
|
|
|
|
|
|
|
|
|
|
|
|
// 创建一个touchstart事件
|
|
|
|
|
|
var touchstartEvent = new TouchEvent('touchstart', {
|
|
|
|
|
|
bubbles: true,
|
|
|
|
|
|
cancelable: true,
|
|
|
|
|
|
view: window,
|
|
|
|
|
|
changedTouches: [new Touch({ identifier: Date.now(), target: document.body, clientX: x, clientY: y })],
|
|
|
|
|
|
targetTouches: [new Touch({ identifier: Date.now(), target: document.body, clientX: x, clientY: y })]
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
// touchstartEvent
|
|
|
|
|
|
document.body.dispatchEvent(touchstartEvent);
|
|
|
|
|
|
|
|
|
|
|
|
// 创建一个touchend事件
|
|
|
|
|
|
var touchendEvent = new TouchEvent('touchend', {
|
|
|
|
|
|
bubbles: true,
|
|
|
|
|
|
cancelable: true,
|
|
|
|
|
|
view: window,
|
|
|
|
|
|
changedTouches: [new Touch({ identifier: Date.now(), target: document.body, clientX: x, clientY: y })],
|
|
|
|
|
|
targetTouches: [new Touch({ identifier: Date.now(), target: document.body, clientX: x, clientY: y })]
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
// 触发touchend事件
|
|
|
|
|
|
document.body.dispatchEvent(touchendEvent);
|
|
|
|
|
|
|
|
|
|
|
|
} catch (t) {
|
|
|
|
|
|
console.log('模拟触摸错误 -- ' + t);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
''';
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2024-03-30 10:58:39 +08:00
|
|
|
|
/// 输入
|
|
|
|
|
|
static String inputJsString(int value) {
|
|
|
|
|
|
return '''
|
|
|
|
|
|
|
|
|
|
|
|
var inputEvent = new Event('input', {
|
|
|
|
|
|
bubbles: true,
|
|
|
|
|
|
cancelable: true,
|
|
|
|
|
|
});
|
|
|
|
|
|
|
2024-03-31 20:15:43 +08:00
|
|
|
|
var inputElement = document.querySelector(".input");
|
2024-03-30 10:58:39 +08:00
|
|
|
|
|
|
|
|
|
|
inputElement.value = "$value";
|
|
|
|
|
|
|
|
|
|
|
|
inputElement.dispatchEvent(inputEvent);
|
|
|
|
|
|
|
|
|
|
|
|
''';
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|