Update Venera API

This commit is contained in:
nyne
2025-09-02 22:17:32 +08:00
committed by GitHub
parent c9fdc8367a
commit a991dac6d6

View File

@@ -4,6 +4,18 @@ Venera JavaScript Library
This library provides a set of APIs for interacting with the Venera app.
*/
/**
* @function sendMessage
* @global
* @param {Object} message
* @returns {any}
*/
/**
* Set a timeout to execute a callback function after a specified delay.
* @param callback {Function}
* @param delay {number} - delay in milliseconds
*/
function setTimeout(callback, delay) {
sendMessage({
method: 'delay',
@@ -42,8 +54,6 @@ let Convert = {
/**
* @param str {string}
* @returns {ArrayBuffer}
*
* @since 1.4.3
*/
encodeGbk: (str) => {
return sendMessage({
@@ -57,8 +67,6 @@ let Convert = {
/**
* @param value {ArrayBuffer}
* @returns {string}
*
* @since 1.4.3
*/
decodeGbk: (value) => {
return sendMessage({
@@ -1042,20 +1050,6 @@ function ImageLoadingConfig({url, method, data, headers, onResponse, modifyImage
this.onLoadFailed = onLoadFailed;
}
/**
* @typedef {Object} PageJumpTarget
* @Property {string} page - The page name (search, category)
* @Property {Object} attributes - The attributes of the page
*
* @example
* {
* page: "search",
* attributes: {
* keyword: "example",
* },
* }
*/
class ComicSource {
name = ""
@@ -1404,3 +1398,44 @@ 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'
})
}
/**
* Compute a function with arguments. The function will be executed in the engine pool which is not in the main thread.
* @param func {string} - A js code string which can be evaluated to a function. The function will receive the args as its only argument.
* @param args {any[] | null | undefined} - The arguments to pass to the function.
* @returns {Promise<any>} - The result of the function.
* @since 1.5.0
*/
function compute(func, args) {
return sendMessage({
method: 'compute',
function: func,
args: args
})
}