B2B网络软件
标题:
AIWROK软件Function导入方法实例演示
[打印本页]
作者:
YYPOST群发软件
时间:
3 小时前
标题:
AIWROK软件Function导入方法实例演示
AIWROK软件Function导入方法实例演示
1.png
(858.07 KB, 下载次数: 0)
下载附件
3 小时前
上传
3.png
(881 KB, 下载次数: 0)
下载附件
3 小时前
上传
//🍎交流QQ群711841924群一,苹果内测群,528816639
/**
* =============================================================================
* AIWROK 全局函数封装示例
* =============================================================================
* 本示例演示 AIWROK 平台5个核心全局函数的封装与使用
* 1. printl() - 日志输出
* 2. stop() - 停止脚本
* 3. Import() - 导入JS文件
* 4. setInterval() - 定时任务
* 5. clearInterval() - 停止定时任务
*/
// =============================================================================
// 1. printl() 函数封装示例
// =============================================================================
/**
* 基础日志输出函数封装
* @param {*} msg - 任意类型的消息
*/
function log(msg) {
printl(msg);
}
/**
* 带时间戳的日志函数
* @param {*} msg - 消息内容
*/
function logWithTime(msg) {
var now = new Date();
var time = now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds();
printl('[' + time + '] ' + String(msg));
}
/**
* 分级日志函数
* @param {string} level - 日志级别 INFO/ERROR/WARN
* @param {*} msg - 消息内容
*/
function logLevel(level, msg) {
printl('[' + level + '] ' + String(msg));
}
/**
* 日志对象数组打印
* @param {Array} arr - 数组对象
*/
function logArray(arr) {
printl('数组内容: ' + JSON.stringify(arr));
}
/**
* 日志JSON对象打印
* @param {Object} obj - JSON对象
*/
function logObject(obj) {
printl('对象内容: ' + JSON.stringify(obj));
}
// =============================================================================
// 2. stop() 函数封装示例
// =============================================================================
/**
* 安全停止脚本函数
* @param {string} reason - 停止原因
*/
function safeStop(reason) {
printl('========== 脚本停止 ==========');
if (reason) {
printl('停止原因: ' + reason);
}
printl('等待进程安全回收...');
stop();
}
/**
* 条件停止函数
* @param {boolean} condition - 停止条件
* @param {string} reason - 停止原因
*/
function stopIf(condition, reason) {
if (condition) {
safeStop(reason);
}
}
/**
* 错误停止函数
* @param {Error} error - 错误对象
*/
function stopOnError(error) {
printl('========== 发生错误 ==========');
printl('错误信息: ' + error.message);
stop();
}
// =============================================================================
// 3. Import() 函数封装示例
// =============================================================================
/**
* 导入工具函数文件
* @param {string} filename - 文件名
* @returns {string} 执行结果
*/
function loadUtils(filename) {
printl('正在导入工具文件: ' + filename);
var result = Import(filename);
printl('导入完成');
return result;
}
/**
* 导入配置文件
* @param {string} filename - 配置文件名
* @returns {string} 配置内容
*/
function loadConfig(filename) {
printl('正在加载配置: ' + filename);
var config = Import(filename);
printl('配置加载成功');
return config;
}
/**
* 批量导入文件
* @param {Array} filenames - 文件名数组
*/
function loadMultipleFiles(filenames) {
printl('========== 批量导入文件 ==========');
for (var i = 0; i < filenames.length; i++) {
printl('导入文件 ' + (i + 1) + '/' + filenames.length + ': ' + filenames[i]);
Import(filenames[i]);
}
printl('========== 批量导入完成 ==========');
}
// =============================================================================
// 4. setInterval() 函数封装示例
// =============================================================================
/**
* 创建心跳定时任务
* @param {number} interval - 间隔时间(毫秒)
* @returns {number} 任务ID
*/
function startHeartbeat(interval) {
var id = setInterval(function() {
printl('♥ 心跳检测 - 系统运行正常');
}, interval);
printl('心跳任务已启动,ID: ' + id + ', 间隔: ' + interval + 'ms');
return id;
}
/**
* 创建计数定时任务
* @param {number} interval - 间隔时间(毫秒)
* @returns {number} 任务ID
*/
function startCounter(interval) {
var count = 0;
var id = setInterval(function() {
count++;
printl('计数: ' + count);
}, interval);
printl('计数任务已启动,ID: ' + id);
return id;
}
/**
* 创建时间显示定时任务
* @param {number} interval - 间隔时间(毫秒)
* @returns {number} 任务ID
*/
function startTimeDisplay(interval) {
var id = setInterval(function() {
var now = new Date();
var time = now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds();
printl('当前时间: ' + time);
}, interval);
printl('时间显示任务已启动,ID: ' + id);
return id;
}
/**
* 创建自定义任务
* @param {Function} func - 要执行的函数
* @param {number} interval - 间隔时间(毫秒)
* @param {string} taskName - 任务名称
* @returns {number} 任务ID
*/
function startCustomTask(func, interval, taskName) {
var id = setInterval(func, interval);
printl('任务 [' + taskName + '] 已启动,ID: ' + id + ', 间隔: ' + interval + 'ms');
return id;
}
// =============================================================================
// 5. clearInterval() 函数封装示例
// =============================================================================
/**
* 停止指定任务
* @param {number} id - 任务ID
* @param {string} taskName - 任务名称
* @returns {boolean} 是否成功
*/
function stopTask(id, taskName) {
var result = clearInterval(id);
if (result) {
printl('任务 [' + taskName + '] 已停止,ID: ' + id);
} else {
printl('停止任务失败,ID: ' + id);
}
return result;
}
/**
* 停止多个任务
* @param {Array} taskIds - 任务ID数组
*/
function stopMultipleTasks(taskIds) {
printl('========== 停止多个任务 ==========');
for (var i = 0; i < taskIds.length; i++) {
clearInterval(taskIds[i]);
printl('任务 ' + (i + 1) + ' 已停止');
}
printl('========== 所有任务已停止 ==========');
}
/**
* 安全停止任务(带检查)
* @param {number} id - 任务ID
* @param {string} taskName - 任务名称
*/
function safeStopTask(id, taskName) {
if (id && id > 0) {
var result = clearInterval(id);
if (result) {
printl('✓ 任务 [' + taskName + '] 停止成功');
} else {
printl('✗ 任务 [' + taskName + '] 停止失败');
}
} else {
printl('✗ 无效的任务ID');
}
}
// =============================================================================
// 综合示例演示
// =============================================================================
/**
* 演示1: printl 基础用法
*/
function demoPrintl() {
printl('========== 演示1: printl 基础用法 ==========');
log('这是基础日志');
logWithTime('这是带时间戳的日志');
logLevel('INFO', '这是INFO级别日志');
logLevel('ERROR', '这是ERROR级别日志');
var arr = [1, 2, 3, 4, 5];
logArray(arr);
var obj = { name: 'AIWROK', version: '2.0' };
logObject(obj);
printl('');
}
/**
* 演示2: stop 基础用法
*/
function demoStop() {
printl('========== 演示2: stop 基础用法 ==========');
printl('注意: stop() 会停止整个脚本,实际使用时请谨慎');
printl('以下代码仅演示,不会实际执行 stop()');
var errorCondition = false;
stopIf(errorCondition, '条件满足时停止');
printl('');
}
/**
* 演示3: Import 基础用法
*/
function demoImport() {
printl('========== 演示3: Import 基础用法 ==========');
printl('注意: Import() 需要实际存在的JS文件');
printl('以下代码仅演示语法,不会实际执行');
var result = loadUtils('utils.js');
printl('导入结果: ' + result);
var config = loadConfig('config.js');
printl('配置内容: ' + config);
var files = ['tool1.js', 'tool2.js', 'tool3.js'];
loadMultipleFiles(files);
printl('');
}
/**
* 演示4: setInterval 基础用法
*/
function demoSetInterval() {
printl('========== 演示4: setInterval 基础用法 ==========');
var heartbeatId = startHeartbeat(2000);
Sleeper.second(6);
var counterId = startCounter(1000);
Sleeper.second(4);
var timeId = startTimeDisplay(3000);
Sleeper.second(7);
var customId = startCustomTask(function() {
printl('自定义任务执行中...');
}, 1500, '自定义任务');
Sleeper.second(5);
printl('');
return [heartbeatId, counterId, timeId, customId];
}
/**
* 演示5: clearInterval 基础用法
*/
function demoClearInterval(taskIds) {
printl('========== 演示5: clearInterval 基础用法 ==========');
stopTask(taskIds[0], '心跳任务');
Sleeper.second(2);
stopTask(taskIds[1], '计数任务');
Sleeper.second(2);
stopTask(taskIds[2], '时间显示任务');
Sleeper.second(2);
stopTask(taskIds[3], '自定义任务');
Sleeper.second(2);
printl('');
}
/**
* 延迟工具函数
* @param {number} seconds - 秒数
*/
function Sleeper() {}
Sleeper.second = function(seconds) {
var start = new Date().getTime();
while (new Date().getTime() - start < seconds * 1000) {
// 等待
}
};
/**
* 主函数 - 运行所有演示
*/
function main() {
printl('========================================');
printl(' AIWROK 全局函数封装示例');
printl('========================================');
printl('');
demoPrintl();
demoStop();
demoImport();
var taskIds = demoSetInterval();
demoClearInterval(taskIds);
printl('========================================');
printl(' 所有演示已完成!');
printl('========================================');
}
// 注意:主函数不再自动执行,由 start.js 控制调用时机
// 如需自动运行,请取消下面这行的注释
main();
复制代码
欢迎光临 B2B网络软件 (http://bbs.niubt.cn/)
Powered by Discuz! X3.2