YYPOST群发软件 发表于 2026-3-16 07:31:59

AIWROK软件Function导入方法实例演示


AIWROK软件Function导入方法实例演示












//🍎交流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);
      Import(filenames);
    }
    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);
      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 = ;
    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 ;
}

/**
* 演示5: clearInterval 基础用法
*/
function demoClearInterval(taskIds) {
    printl('========== 演示5: clearInterval 基础用法 ==========');
   
    stopTask(taskIds, '心跳任务');
    Sleeper.second(2);
   
    stopTask(taskIds, '计数任务');
    Sleeper.second(2);
   
    stopTask(taskIds, '时间显示任务');
    Sleeper.second(2);
   
    stopTask(taskIds, '自定义任务');
    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();


页: [1]
查看完整版本: AIWROK软件Function导入方法实例演示