Add clipboard methods to js engine.

This commit is contained in:
2025-03-25 16:24:05 +08:00
parent 1b4f67b314
commit 51739355c8
2 changed files with 33 additions and 0 deletions

View File

@@ -1358,3 +1358,29 @@ let APP = {
})
}
}
/**
* Set clipboard text
* @param text {string}
* @returns {Promise<void>}
*
* @since 1.3.4
*/
function setClipboard(text) {
return sendMessage({
method: 'setClipboard',
text: text
})
}
/**
* Get clipboard text
* @returns {Promise<string>}
*
* @since 1.3.4
*/
function getClipboard() {
return sendMessage({
method: 'getClipboard'
})
}

View File

@@ -163,6 +163,13 @@ class JsEngine with _JSEngineApi, JsUiApi, Init {
return "${App.locale.languageCode}_${App.locale.countryCode}";
case "getPlatform":
return Platform.operatingSystem;
case "setClipboard":
return Clipboard.setData(ClipboardData(text: message["text"]));
case "getClipboard":
return Future.sync(() async {
var res = await Clipboard.getData(Clipboard.kTextPlain);
return res?.text;
});
}
}
return null;