WME Utils - Bootstrap

Adds a bootstrap function for easier startup of wmeSdk, WazeWrap, and ScriptUpdateMonitor.

目前为 2024-09-27 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.gf.qytechs.cn/scripts/509664/1455347/WME%20Utils%20-%20Bootstrap.js

作者
mapomaticWazeDev
版本
2024.09.27.001
创建于
2024-09-22
更新于
2024-09-27
大小
2.7 KB
许可证
GNU GPLv3

Usage:

// Add this to your userscript header:
// @require    https://update.gf.qytechs.cn/scripts/509664/WME%20Utils%20-%20Bootstrap.js

// If using WazeWrap and/or its ScriptUpdateMonitor feature, be sure to also include this in the userscript header:
// @require    https://gf.qytechs.cn/scripts/24851-wazewrap/code/WazeWrap.js

let wmeSdk; // A "global" variable to store your WmeSdk reference.

function init(sdk) { // sdk is passed to init (callback function) by bootstrap. Alternative, async/await or Promise.then() may be used.
    // Store the reference to the sdk
    wmeSdk = sdk;
    // The rest of your init code...
}

// Waits for the SDK and returns it in a callback to init
bootstrap({
    scriptName: 'My Script',
    scriptId: 'myScript',
    init
});

// OR...

// Waits for the SDK and WazeWrap, then calls init in a .then() function.
bootstrap({
    scriptName: 'My Script',
    scriptId: 'myScript',
    useWazeWrap: true,
}).then(sdk => init(sdk));

// OR...

// Assigns the SDK directly to wmeSdk after the SDK and WazeWrap are ready, and starts ScriptUpdateMonitor.
// NOTE: if using await, the outer function must be declared async, e.g. your IIFE
wmeSdk = await bootstrap({
    scriptName: 'My Script',
    scriptId: 'myScript',
    scriptUpdateMonitor: {
        scriptVersion: '1.0',
        downloadUrl: 'https://...',
        metaUrl: 'https://...',
        metaRegExp: /some regex/ 
    }
});

init();

The options object passed to bootstrap:

  • scriptName [string]: The name of your script. Used in initializing the WME SDK and for ScriptUpdateMonitor alerts (if using WazeWrap.Alerts.ScriptUpdateMonitor)
  • scriptId [string]: Used in initializing the WME SDK
  • useWazeWrap [boolean]: OPTIONAL. Set to true if your script uses the WazeWrap library. If true, be sure to @ require it in your script header. May be omitted if using the scriptUpdateMonitor option -- WazeWrap will be used in that case.
  • scriptUpdateMonitor [object]: OPTIONAL. An object containing the following properties, only needed if using ScriptUpdateMonitor.
    • scriptVersion [string]: The current version of your script.
    • downloadUrl [string]: The download URL of your script.
    • metaUrl [string]: OPTIONAL. A page containing script version information. Scripts on Greasy Fork镜像 do not need to use this.
    • metaRegExp [regular expression]: OPTIONAL. A regular expression that returns the script version from the metaUrl page. Scripts on Greasy Fork镜像 do not need to use this.
  • callback: OPTIONAL. A function to call once bootstrapping is completed. The WmeSdk object will be passed as the first argument to the function. Alternatively, use bootstrap(...).then(sdk => init(sdk)); or sdk = await bootstrap(...); init();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址