|
|
AIWROKÈí¼þÀàÐÍת»»·½·¨Àý×Ó
- // ½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
- // ±¾ÎĵµÊÇAIWROK IDEµÄÖ÷½Å±¾Îļþ£¬°üº¬ÀàÐÍת»»¹¤¾ßºÍÊý¾Ý´¦ÀíÄ£¿é
- // ÌṩÁËÍêÕûµÄÀàÐͼì²â¡¢ÀàÐÍת»»¡¢ÈÕÆÚ¸ñʽ»¯¡¢JSON½âÎöµÈ¹¦ÄÜ
- // ÊÊÓÃÓÚAndroidºÍiOS¿çÆ½Ì¨ÒÆ¶¯¿ª·¢»·¾³£¬»ùÓÚES5±ê×¼±àд
- print.log("¿ªÊ¼Ö´ÐÐÈÕÖ¾´°¿Ú²Ù×÷");
- print.log("1. ÏÔʾÈÕÖ¾´°¿Ú");
- printl( logWindow.show())
- print.log("ÈÕÖ¾´°¿ÚÏÔʾÍê³É");
- print.log("2. Çå¿ÕÈÕÖ¾´°¿Ú");
- printl(logWindow.clear())
- print.log("ÈÕÖ¾´°¿ÚÇå¿ÕÍê³É");
- print.log("3. ÉèÖÃÈÕÖ¾´°¿Ú¸ß¶ÈΪ2500");
- printl(logWindow.setHeight(2500))
- print.log("ÈÕÖ¾´°¿Ú¸ß¶ÈÉèÖÃÍê³É");
- print.log("4. ÉèÖÃÈÕÖ¾´°¿Ú¿í¶ÈΪ1000");
- printl(logWindow.setWidth(1000))
- print.log("ÈÕÖ¾´°¿Ú¿í¶ÈÉèÖÃÍê³É");
- print.log("5. ÉèÖÃÈÕÖ¾´°¿ÚΪ²»¿Éµã»÷ģʽ");
- printl(logWindow.setNoClickModel())
- print.log("ÈÕÖ¾´°¿Ú²»¿Éµã»÷ģʽÉèÖÃÍê³É");
- print.log("ËùÓÐÈÕÖ¾´°¿Ú²Ù×÷Ö´ÐÐÍê±Ï");
- var TypeConverter = (function() {
- var self = {};
-
- /**
- * »ñȡֵµÄÀàÐÍ
- * @param {*} value - Òª¼ì²éµÄÖµ
- * @returns {string} ÖµµÄÀàÐÍ×Ö·û´®
- */
- self.getType = function(value) {
- return typeof value;
- };
-
- /**
- * ÅжÏÊÇ·ñΪ×Ö·û´®ÀàÐÍ
- * @param {*} value - Òª¼ì²éµÄÖµ
- * @returns {boolean} ÊÇ·ñΪ×Ö·û´®
- */
- self.isString = function(value) {
- return typeof value === 'string';
- };
-
- /**
- * ÅжÏÊÇ·ñΪÓÐЧÊý×ÖÀàÐÍ£¨ÅųýNaN£©
- * @param {*} value - Òª¼ì²éµÄÖµ
- * @returns {boolean} ÊÇ·ñΪÓÐЧÊý×Ö
- */
- self.isNumber = function(value) {
- return typeof value === 'number' && !isNaN(value);
- };
-
- /**
- * ÅжÏÊÇ·ñΪ²¼¶ûÀàÐÍ
- * @param {*} value - Òª¼ì²éµÄÖµ
- * @returns {boolean} ÊÇ·ñΪ²¼¶ûÖµ
- */
- self.isBoolean = function(value) {
- return typeof value === 'boolean';
- };
-
- /**
- * ÅжÏÊÇ·ñΪ·Ç¿Õ¶ÔÏó
- * @param {*} value - Òª¼ì²éµÄÖµ
- * @returns {boolean} ÊÇ·ñΪ·Ç¿Õ¶ÔÏó
- */
- self.isObject = function(value) {
- return typeof value === 'object' && value !== null;
- };
-
- /**
- * ÅжÏÊÇ·ñΪÊý×é
- * @param {*} value - Òª¼ì²éµÄÖµ
- * @returns {boolean} ÊÇ·ñΪÊý×é
- */
- self.isArray = function(value) {
- return Object.prototype.toString.call(value) === '[object Array]';
- };
-
- /**
- * ½«Öµ×ª»»ÎªÊý×Ö£¬Ö§³ÖĬÈÏÖµ
- * @param {*} value - Ҫת»»µÄÖµ
- * @param {number} [defaultValue=0] - ת»»Ê§°ÜʱµÄĬÈÏÖµ
- * @returns {number} ת»»ºóµÄÊý×Ö»òĬÈÏÖµ
- */
- self.toNumber = function(value, defaultValue) {
- if (defaultValue === undefined) {
- defaultValue = 0;
- }
- var result = Number(value);
- if (isNaN(result)) {
- return defaultValue;
- }
- return result;
- };
-
- /**
- * ½«Öµ×ª»»Îª×Ö·û´®£¬Ö§³ÖĬÈÏÖµ
- * @param {*} value - Ҫת»»µÄÖµ
- * @param {string} [defaultValue=''] - ֵΪnull/undefinedʱµÄĬÈÏÖµ
- * @returns {string} ת»»ºóµÄ×Ö·û´®»òĬÈÏÖµ
- */
- self.toString = function(value, defaultValue) {
- if (value === null || value === undefined) {
- return defaultValue !== undefined ? defaultValue : '';
- }
- return String(value);
- };
-
- /**
- * ½«Öµ×ª»»Îª²¼¶ûÖµ
- * @param {*} value - Ҫת»»µÄÖµ
- * @returns {boolean} ת»»ºóµÄ²¼¶ûÖµ
- */
- self.toBoolean = function(value) {
- if (self.isBoolean(value)) {
- return value;
- }
- if (self.isNumber(value)) {
- return value !== 0;
- }
- if (self.isString(value)) {
- return value.toLowerCase() === 'true' || (value.toLowerCase() !== 'false' && value !== '0' && value !== '');
- }
- return Boolean(value);
- };
-
- /**
- * ¸ñʽ»¯ÈÕÆÚΪָ¶¨¸ñʽ
- * @param {Date|string} date - ÈÕÆÚ¶ÔÏó»òÈÕÆÚ×Ö·û´®
- * @param {string} [format='YYYY-MM-DD HH:mm:ss'] - ÈÕÆÚ¸ñʽ
- * @returns {string} ¸ñʽ»¯ºóµÄÈÕÆÚ×Ö·û´®£¬ÎÞЧÈÕÆÚ·µ»Ø¿Õ×Ö·û´®
- */
- self.formatDate = function(date, format) {
- if (!date) return '';
- var d = date instanceof Date ? date : new Date(date);
- if (isNaN(d.getTime())) return '';
-
- format = format || 'YYYY-MM-DD HH:mm:ss';
-
- var year = d.getFullYear();
- var month = String(d.getMonth() + 1).padStart(2, '0');
- var day = String(d.getDate()).padStart(2, '0');
- var hours = String(d.getHours()).padStart(2, '0');
- var minutes = String(d.getMinutes()).padStart(2, '0');
- var seconds = String(d.getSeconds()).padStart(2, '0');
-
- return format
- .replace('YYYY', year)
- .replace('MM', month)
- .replace('DD', day)
- .replace('HH', hours)
- .replace('mm', minutes)
- .replace('ss', seconds);
- };
-
- /**
- * °²È«½âÎöJSON×Ö·û´®£¬Ö§³ÖĬÈÏÖµ
- * @param {string} jsonStr - JSON×Ö·û´®
- * @param {*} [defaultValue=null] - ½âÎöʧ°ÜʱµÄĬÈÏÖµ
- * @returns {*} ½âÎöºóµÄ¶ÔÏó»òĬÈÏÖµ
- */
- self.safeParseJSON = function(jsonStr, defaultValue) {
- try {
- return JSON.parse(jsonStr);
- } catch (e) {
- return defaultValue !== undefined ? defaultValue : null;
- }
- };
-
- return self;
- })();
- var DataProcessor = (function() {
- var self = {};
-
- /**
- * ´¦Àíµ¥ÌõÓû§Êý¾Ý£¬½øÐÐÀàÐÍת»»ºÍÑéÖ¤
- * @param {Object} rawData - ÔʼÓû§Êý¾Ý
- * @returns {Object} ´¦ÀíºóµÄÓû§¶ÔÏó
- */
- self.processUserData = function(rawData) {
- var result = {
- id: TypeConverter.toNumber(rawData.id, 0),
- name: TypeConverter.toString(rawData.name, 'Unknown'),
- age: TypeConverter.toNumber(rawData.age, 0),
- isActive: TypeConverter.toBoolean(rawData.isActive),
- score: TypeConverter.toNumber(rawData.score, 0),
- tags: TypeConverter.isArray(rawData.tags) ? rawData.tags : [],
- createdAt: TypeConverter.formatDate(rawData.createdAt),
- metadata: TypeConverter.isObject(rawData.metadata) ? rawData.metadata : {}
- };
-
- result.isValid = result.id > 0 && result.name !== 'Unknown';
- result.displayScore = result.score.toFixed(2);
- result.ageGroup = self._calculateAgeGroup(result.age);
-
- return result;
- };
-
- /**
- * ¸ù¾ÝÄêÁ伯ËãÄêÁä¶Î
- * @param {number} age - ÄêÁä
- * @returns {string} ÄêÁä¶ÎÃèÊö
- */
- self._calculateAgeGroup = function(age) {
- if (age < 18) return 'δ³ÉÄê';
- if (age < 30) return 'ÇàÄê';
- if (age < 50) return 'ÖÐÄê';
- return 'ÀÏÄê';
- };
-
- /**
- * ÅúÁ¿´¦ÀíÓû§Êý¾ÝÊý×é
- * @param {Array} dataArray - Óû§Êý¾ÝÊý×é
- * @returns {Object} ´¦Àí½á¹û£¬°üº¬³É¹¦¡¢Ê§°ÜºÍͳ¼ÆÐÅÏ¢
- */
- self.batchProcess = function(dataArray) {
- var results = [];
- var errors = [];
-
- for (var i = 0; i < dataArray.length; i++) {
- try {
- var processed = self.processUserData(dataArray[i]);
- results.push(processed);
- } catch (e) {
- errors.push({
- index: i,
- data: dataArray[i],
- error: e.message
- });
- }
- }
-
- return {
- success: results,
- failed: errors,
- summary: {
- total: dataArray.length,
- successCount: results.length,
- failedCount: errors.length,
- successRate: (results.length / dataArray.length * 100).toFixed(2) + '%'
- }
- };
- };
-
- /**
- * Éú³ÉÊý¾Ý´¦Àí±¨¸æ
- * @param {Object} processResult - ÅúÁ¿´¦Àí½á¹û¶ÔÏó
- * @returns {string} ¸ñʽ»¯µÄ±¨¸æ×Ö·û´®
- */
- self.generateReport = function(processResult) {
- var report = [];
- report.push('========== Êý¾Ý´¦Àí±¨¸æ ==========');
- report.push('×ܼǼÊý: ' + processResult.summary.total);
- report.push('³É¹¦´¦Àí: ' + processResult.summary.successCount);
- report.push('´¦Àíʧ°Ü: ' + processResult.summary.failedCount);
- report.push('³É¹¦ÂÊ: ' + processResult.summary.successRate);
- report.push('');
-
- if (processResult.success.length > 0) {
- report.push('--- ³É¹¦´¦ÀíµÄ¼Ç¼ ---');
- for (var i = 0; i < Math.min(3, processResult.success.length); i++) {
- var item = processResult.success[i];
- report.push('ID: ' + item.id + ' | ÐÕÃû: ' + item.name +
- ' | ÄêÁä: ' + item.age + ' (' + item.ageGroup + ')' +
- ' | »îÔ¾: ' + (item.isActive ? 'ÊÇ' : '·ñ') +
- ' | ·ÖÊý: ' + item.displayScore);
- }
- if (processResult.success.length > 3) {
- report.push('... »¹ÓÐ ' + (processResult.success.length - 3) + ' Ìõ¼Ç¼');
- }
- report.push('');
- }
-
- if (processResult.failed.length > 0) {
- report.push('--- ´¦Àíʧ°ÜµÄ¼Ç¼ ---');
- for (var j = 0; j < processResult.failed.length; j++) {
- var fail = processResult.failed[j];
- report.push('Ë÷Òý: ' + fail.index + ' | ´íÎó: ' + fail.error);
- }
- }
-
- report.push('================================');
- return report.join('\n');
- };
-
- return self;
- })();
- var testData = [
- {
- id: "1001",
- name: "ÕÅÈý",
- age: "25",
- isActive: "true",
- score: "95.5",
- tags: ["JavaScript", "Android"],
- createdAt: new Date("2024-01-15T10:30:00"),
- metadata: { department: "Ñз¢²¿", level: "¸ß¼¶" }
- },
- {
- id: "1002",
- name: "ÀîËÄ",
- age: "35",
- isActive: "false",
- score: "88.3",
- tags: ["iOS", "React Native"],
- createdAt: "2024-02-20T14:45:00",
- metadata: { department: "²úÆ·²¿", level: "Öм¶" }
- },
- {
- id: "1003",
- name: "ÍõÎå",
- age: "16",
- isActive: "1",
- score: "92.7",
- tags: ["Python", "AI"],
- createdAt: new Date("2024-03-10T09:15:00"),
- metadata: { department: "AIʵÑéÊÒ", level: "³õ¼¶" }
- },
- {
- id: "",
- name: "",
- age: "invalid",
- isActive: "yes",
- score: "abc",
- tags: null,
- createdAt: "invalid-date",
- metadata: null
- },
- {
- id: "1005",
- name: "ÕÔÁù",
- age: "55",
- isActive: "0",
- score: "76.2",
- tags: ["Java", "Spring"],
- createdAt: new Date("2024-04-05T16:20:00"),
- metadata: { department: "¼Ü¹¹²¿", level: "ר¼Ò" }
- }
- ];
- printl('========== ÀàÐÍת»»¹¤¾ß²âÊÔ ==========');
- printl('ÀàÐͼì²â:');
- printl(' typeof "Hello" = ' + TypeConverter.getType("Hello"));
- printl(' typeof 123 = ' + TypeConverter.getType(123));
- printl(' typeof true = ' + TypeConverter.getType(true));
- printl(' typeof [1,2,3] = ' + TypeConverter.getType([1,2,3]));
- printl(' typeof {a:1} = ' + TypeConverter.getType({a:1}));
- printl('');
- printl('ÀàÐÍת»»:');
- print.log(' Number("3.14") = ' + TypeConverter.toNumber("3.14"));
- printl(' Number("3.14") = ' + TypeConverter.toNumber("3.14"));
- print.log(' Number("abc") = ' + TypeConverter.toNumber("abc", 0));
- printl(' Number("abc") = ' + TypeConverter.toNumber("abc", 0));
- print.log(' String(123) = ' + TypeConverter.toString(123));
- printl(' String(123) = ' + TypeConverter.toString(123));
- print.log(' String(true) = ' + TypeConverter.toString(true));
- printl(' String(true) = ' + TypeConverter.toString(true));
- print.log(' Boolean("true") = ' + TypeConverter.toBoolean("true"));
- printl(' Boolean("true") = ' + TypeConverter.toBoolean("true"));
- print.log(' Boolean("0") = ' + TypeConverter.toBoolean("0"));
- printl(' Boolean("0") = ' + TypeConverter.toBoolean("0"));
- print.log(' Boolean(1) = ' + TypeConverter.toBoolean(1));
- printl(' Boolean(1) = ' + TypeConverter.toBoolean(1));
- printl('');
- printl('ÈÕÆÚ¸ñʽ»¯:');
- var now = new Date();
- printl(' µ±Ç°Ê±¼ä: ' + TypeConverter.formatDate(now));
- printl(' ×Ô¶¨Òå¸ñʽ: ' + TypeConverter.formatDate(now, 'YYYYÄêMMÔÂDDÈÕ HH:mm'));
- printl('');
- printl('========== Êý¾Ý´¦ÀíʾÀý ==========');
- var processResult = DataProcessor.batchProcess(testData);
- printl(DataProcessor.generateReport(processResult));
- printl('');
- printl('========== µ¥ÌõÊý¾Ý´¦ÀíÏêÇé ==========');
- var singleUser = DataProcessor.processUserData(testData[0]);
- printl('´¦ÀíºóµÄÓû§¶ÔÏó:');
- printl(JSON.stringify(singleUser, null, 2));
- printl('');
- printl('========== ÈÕÖ¾´°¿Ú²Ù×÷²âÊÔ ==========');
- printl(logWindow.show())
- printl(logWindow.clear())
- printl(logWindow.setHeight(2500))
- printl(logWindow.setWidth(1000))
- printl(logWindow.setNoClickModel())
¸´ÖÆ´úÂë
|
|