|
|
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[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();
¸´ÖÆ´úÂë
|
|