|
|
AIWROKÈí¼þH5ÍøÒ³±»Ö÷½Å±¾»ñȡֵÓ÷¨
- /**
- *🍎½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
- * H5Ò³ÃæÖµ»ñÈ¡½Å±¾
- * ÊÊÓÃÓÚAIWROK IDEÓëH5Ò³Ãæ½»»¥
- */
- var publicData = (function() {
- var dataStore = {};
-
- return {
- set: function(key, value) {
- dataStore[key] = value;
- printl('ÒÑÉèÖù«¹²Êý¾Ý: ' + key + ' = ' + value);
- },
-
- get: function(key) {
- var value = dataStore[key];
- printl('»ñÈ¡¹«¹²Êý¾Ý: ' + key + ' = ' + value);
- return value;
- },
-
- remove: function(key) {
- var oldValue = dataStore[key];
- delete dataStore[key];
- printl('ÒÑɾ³ý¹«¹²Êý¾Ý: ' + key + ', ÔÖµ: ' + oldValue);
- return oldValue;
- },
-
- clear: function() {
- dataStore = {};
- printl('ÒÑÇå¿ÕËùÓй«¹²Êý¾Ý');
- },
-
- has: function(key) {
- return key in dataStore;
- },
-
- keys: function() {
- return Object.keys(dataStore);
- },
-
- size: function() {
- return Object.keys(dataStore).length;
- }
- };
- })();
- var webView = null;
- function setWebView(webViewRef) {
- webView = webViewRef;
- printl('WebViewÒýÓÃÒÑÉèÖ㬿ÉÒÔ¿ªÊ¼ÓëH5Ò³Ãæ½»»¥');
- }
- function printl(message) {
- console.log(message);
- if (typeof showResult === 'function') {
- showResult(message);
- }
- }
- function showResult(message) {
- try {
- if (typeof document !== 'undefined' && document.getElementById('result')) {
- document.getElementById('result').innerText = message;
- } else {
- console.log(message);
- }
- } catch (e) {
- console.log(message);
- }
- }
- function getH5Value(jsCode) {
- if (!webView) {
- printl('´íÎó£ºWebViewδÉèÖã¬ÇëÏȵ÷ÓÃsetWebView()');
- return null;
- }
-
- try {
- if (typeof webView.runWebJs === 'function') {
- var result = webView.runWebJs(jsCode);
- return result;
- } else {
- printl('WebViewµÄrunWebJs·½·¨²»¿ÉÓÃ');
- return null;
- }
- } catch (e) {
- printl('runWebJs·½·¨Ö´ÐÐʧ°Ü: ' + e.message);
- return null;
- }
- }
- function getH5TextValue() {
- var jsCode = "(function() {" +
- "var input = document.getElementById('input1');" +
- "if (input) {" +
- " return input.value;" +
- "} else {" +
- " var inputs = document.getElementsByName('input1');" +
- " if (inputs.length > 0) {" +
- " return inputs[0].value;" +
- " } else {" +
- " return 'δÕÒµ½Îı¾¿òÔªËØ';" +
- " }" +
- "}" +
- "})()";
-
- var result = getH5Value(jsCode);
- printl('Îı¾¿òÖµ: ' + result);
- return result;
- }
- function getH5DropdownValue() {
- var jsCode = "(function() {" +
- "var dropdown = document.getElementById('dropdown');" +
- "if (dropdown) {" +
- " return dropdown.options[dropdown.selectedIndex].value;" +
- "} else {" +
- " return 'δÕÒµ½ÏÂÀ¿òÔªËØ';" +
- "}" +
- "})()";
-
- var result = getH5Value(jsCode);
- printl('ÏÂÀ¿òÖµ: ' + result);
- return result;
- }
- function getH5RadioValue() {
- var jsCode = "(function() {" +
- "var radios = document.getElementsByName('radiogroup');" +
- "for (var i = 0; i < radios.length; i++) {" +
- " if (radios[i].checked) {" +
- " return radios[i].value;" +
- " }" +
- "}" +
- "return 'δѡÔñ';" +
- "})()";
-
- var result = getH5Value(jsCode);
- printl('µ¥Ñ¡°´Å¥Öµ: ' + result);
- return result;
- }
- function getH5CheckboxValue() {
- var jsCode = "(function() {" +
- "var checkboxes = document.querySelectorAll('input[name=\"check1\"], input[name=\"check2\"]');" +
- "var selectedValues = [];" +
- "for (var i = 0; i < checkboxes.length; i++) {" +
- " if (checkboxes[i].checked) {" +
- " selectedValues.push(checkboxes[i].value);" +
- " }" +
- "}" +
- "return selectedValues.length > 0 ? selectedValues.join(',') : 'δѡÔñ';" +
- "})()";
-
- var result = getH5Value(jsCode);
- printl('¶àÑ¡¿òÖµ: ' + result);
- return result;
- }
- function getH5TaskSelections() {
- var jsCode = "(function() {" +
- "var taskCheckboxes = document.querySelectorAll('input[name=\"taskgroup\"]');" +
- "var selectedTasks = [];" +
- "for (var i = 0; i < taskCheckboxes.length; i++) {" +
- " if (taskCheckboxes[i].checked) {" +
- " selectedTasks.push(taskCheckboxes[i].value);" +
- " }" +
- "}" +
- "return selectedTasks.length > 0 ? selectedTasks.join(',') : 'δѡÔñÈÎÎñ';" +
- "})()";
-
- var result = getH5Value(jsCode);
- printl('ÈÎÎñÑ¡ÏîÖµ: ' + result);
- return result;
- }
- function getH5AllTasksInfo() {
- var jsCode = "(function() {" +
- "var taskCheckboxes = document.querySelectorAll('input[name=\"taskgroup\"]');" +
- "var tasksInfo = [];" +
- "for (var i = 0; i < taskCheckboxes.length; i++) {" +
- " tasksInfo.push({" +
- " id: taskCheckboxes[i].id," +
- " value: taskCheckboxes[i].value," +
- " checked: taskCheckboxes[i].checked" +
- " });" +
- "}" +
- "return JSON.stringify(tasksInfo);" +
- "})()";
-
- var result = getH5Value(jsCode);
- printl('ËùÓÐÈÎÎñÑ¡ÏîÐÅÏ¢: ' + result);
- return result;
- }
- function getH5InteractionInfo() {
- var jsCode = "(function() {" +
- "try {" +
- "var info = {};" +
- "info.currentStatus = document.getElementById('current-status') ? document.getElementById('current-status').textContent : 'δÕÒµ½';" +
- "info.connectionStatus = document.getElementById('connection-status') ? document.getElementById('connection-status').textContent : 'δÕÒµ½';" +
- "info.lastInteraction = document.getElementById('last-interaction') ? document.getElementById('last-interaction').textContent : 'δÕÒµ½';" +
- "info.availableTasks = document.getElementById('available-tasks') ? document.getElementById('available-tasks').textContent : 'δÕÒµ½';" +
- "return JSON.stringify(info);" +
- "} catch(e) { return 'Error: ' + e.message; }" +
- "})()";
-
- var result = getH5Value(jsCode);
- printl('½»»¥ÐÅÏ¢: ' + result);
- return result;
- }
- function getAllH5FormValues() {
- var jsCode = "(function() {" +
- "try {" +
- "var formData = {};" +
- "var input = document.getElementById('input1');" +
- "formData.input1 = input ? input.value : 'δÕÒµ½';" +
- "var dropdown = document.getElementById('dropdown');" +
- "formData.dropdown = dropdown ? dropdown.options[dropdown.selectedIndex].value : 'δÕÒµ½';" +
- "var radios = document.getElementsByName('radiogroup');" +
- "formData.radio = 'δѡÔñ';" +
- "for (var i = 0; i < radios.length; i++) {" +
- " if (radios[i].checked) {" +
- " formData.radio = radios[i].value;" +
- " break;" +
- " }" +
- "}" +
- "var checkboxes = document.querySelectorAll('input[name=\"check1\"], input[name=\"check2\"]');" +
- "formData.checkboxes = [];" +
- "for (var i = 0; i < checkboxes.length; i++) {" +
- " if (checkboxes[i].checked) {" +
- " formData.checkboxes.push(checkboxes[i].value);" +
- " }" +
- "}" +
- "var taskCheckboxes = document.querySelectorAll('input[name=\"taskgroup\"]');" +
- "formData.tasks = [];" +
- "for (var i = 0; i < taskCheckboxes.length; i++) {" +
- " if (taskCheckboxes[i].checked) {" +
- " formData.tasks.push(taskCheckboxes[i].value);" +
- " }" +
- "}" +
- "return JSON.stringify(formData);" +
- "} catch(e) { return 'Error: ' + e.message; }" +
- "})()";
-
- var result = getH5Value(jsCode);
- printl('ËùÓÐ±íµ¥Öµ: ' + result);
- return result;
- }
- function ÑÝʾ»ñÈ¡H5Öµ() {
- printl('=== ¿ªÊ¼ÑÝʾ´ÓH5Ò³Ãæ»ñÈ¡±íµ¥Öµ ===');
-
- if (!webView) {
- printl('WebViewδÉèÖã¬ÇëÏÈÉèÖÃWebViewÒýÓÃ');
- return;
- }
-
- var textValue = getH5TextValue();
- var dropdownValue = getH5DropdownValue();
- var radioValue = getH5RadioValue();
- var checkboxValue = getH5CheckboxValue();
- var taskValue = getH5TaskSelections();
-
- printl('=== H5±íµ¥Öµ»ñÈ¡ÑÝʾÍê³É ===');
- }
- function demoGetH5Values() {
- ÑÝʾ»ñÈ¡H5Öµ();
- }
- function »ñÈ¡H5Ñ¡ÖÐÏîÄ¿() {
- printl('=== ¿ªÊ¼»ñÈ¡H5Ò³ÃæÑ¡ÖеÄÏîÄ¿ ===');
-
- if (!webView) {
- printl('WebViewδÉèÖã¬ÇëÏÈÉèÖÃWebViewÒýÓÃ');
- return;
- }
-
- var selectedTasks = getH5TaskSelections();
- printl('H5Ò³ÃæÑ¡ÖеÄÏîÄ¿: ' + selectedTasks);
-
- printl('=== »ñÈ¡H5Ò³ÃæÑ¡ÖÐÏîÄ¿Íê³É ===');
- }
- function getH5SelectedItems() {
- »ñÈ¡H5Ñ¡ÖÐÏîÄ¿();
- }
- function ²âÊÔº¯Êý2() {
- printl('²âÊÔº¯Êý2ÔËÐÐÖÐ');
-
- printl('=== ¿ªÊ¼´ÓH5Ò³Ãæ»ñÈ¡±íµ¥Öµ ===');
-
- var allValues = getAllH5FormValues();
- printl('ËùÓÐ±íµ¥Öµ: ' + allValues);
-
- printl('=== H5±íµ¥Öµ»ñÈ¡Íê³É ===');
- }
- function testFunction2() {
- ²âÊÔº¯Êý2();
- }
- function ÑÝʾ¹«¹²Êý¾Ý²Ù×÷() {
- printl('=== ¿ªÊ¼ÑÝʾ¹«¹²Êý¾Ý²Ù×÷ ===');
-
- publicData.set('Îı¾Öµ', 'ÕâÊÇÒ»¸öÎı¾Öµ');
- publicData.set('Êý×ÖÖµ', 123);
- publicData.set('²¼¶ûÖµ', true);
- publicData.set('¶ÔÏóÖµ', {name: '²âÊÔ', count: 1});
-
- var textValue = publicData.get('Îı¾Öµ');
- printl('»ñÈ¡µ½Îı¾Öµ: ' + textValue);
-
- var numValue = publicData.get('Êý×ÖÖµ');
- printl('»ñÈ¡µ½Êý×ÖÖµ: ' + numValue);
-
- var boolValue = publicData.get('²¼¶ûÖµ');
- printl('»ñÈ¡µ½²¼¶ûÖµ: ' + boolValue);
-
- var objValue = publicData.get('¶ÔÏóÖµ');
- printl('»ñÈ¡µ½¶ÔÏóÖµ: ' + JSON.stringify(objValue));
-
- var hasText = publicData.has('Îı¾Öµ');
- printl('ÊÇ·ñ´æÔÚÎı¾Öµ¼ü: ' + hasText);
-
- var allKeys = publicData.keys();
- printl('ËùÓмü: ' + allKeys.join(', '));
-
- var size = publicData.size();
- printl('Êý¾ÝÏîÊýÁ¿: ' + size);
-
- printl('=== ¹«¹²Êý¾Ý²Ù×÷ÑÝʾÍê³É ===');
- }
- function Ö÷ÒªÑÝʾ() {
- setWebView(webView);
- ÑÝʾ»ñÈ¡H5Öµ();
- ²âÊÔº¯Êý2();
- }
- function Ö´ÐÐËùÓÐÑÝʾ() {
- printl('¿ªÊ¼Ö´ÐÐËùÓÐÑÝʾ...');
- ÑÝʾ»ñÈ¡H5Öµ();
- ²âÊÔº¯Êý2();
- ÑÝʾ¹«¹²Êý¾Ý²Ù×÷();
- printl('ËùÓÐÑÝʾִÐÐÍê±Ï');
- }
- function Ö´ÐÐH5ÑÝʾ() {
- printl('¿ªÊ¼Ö´ÐÐH5Öµ»ñÈ¡ÑÝʾ...');
- ÑÝʾ»ñÈ¡H5Öµ();
- printl('H5Öµ»ñÈ¡ÑÝʾִÐÐÍê±Ï');
- }
- function Ö´Ðй«¹²Êý¾ÝÑÝʾ() {
- printl('¿ªÊ¼Ö´Ðй«¹²Êý¾ÝÑÝʾ...');
- ÑÝʾ¹«¹²Êý¾Ý²Ù×÷();
- printl('¹«¹²Êý¾ÝÑÝʾִÐÐÍê±Ï');
- }
- function »ñÈ¡ÑÝÊ¾Ò³ÃæËùÓÐÊý¾Ý() {
- printl('=== ¿ªÊ¼»ñÈ¡ÑÝÊ¾Ò³ÃæËùÓÐÊý¾Ý ===');
-
- if (!webView) {
- printl('WebViewδÉèÖã¬ÇëÏÈÉèÖÃWebViewÒýÓÃ');
- return null;
- }
-
- var allData = {};
-
- allData.input1 = getH5TextValue();
- allData.dropdown = getH5DropdownValue();
- allData.radio = getH5RadioValue();
- allData.checkboxes = getH5CheckboxValue();
- allData.selectedTasks = getH5TaskSelections();
-
- var tasksInfoStr = getH5AllTasksInfo();
- try {
- allData.tasksInfo = JSON.parse(tasksInfoStr);
- } catch (e) {
- allData.tasksInfo = tasksInfoStr;
- }
-
- var interactionInfoStr = getH5InteractionInfo();
- try {
- allData.interactionInfo = JSON.parse(interactionInfoStr);
- } catch (e) {
- allData.interactionInfo = interactionInfoStr;
- }
-
- var allFormValuesStr = getAllH5FormValues();
- try {
- allData.allFormValues = JSON.parse(allFormValuesStr);
- } catch (e) {
- allData.allFormValues = allFormValuesStr;
- }
-
- publicData.set('ÑÝÊ¾Ò³ÃæÊý¾Ý', allData);
-
- printl('=== ÑÝÊ¾Ò³ÃæËùÓÐÊý¾Ý»ñÈ¡Íê³É ===');
- printl('ÍêÕûÊý¾Ý: ' + JSON.stringify(allData, null, 2));
-
- return allData;
- }
- function getAllDemoPageData() {
- return »ñÈ¡ÑÝÊ¾Ò³ÃæËùÓÐÊý¾Ý();
- }
- function Ö´ÐлñÈ¡ÑÝʾÊý¾Ý() {
- printl('¿ªÊ¼Ö´ÐлñÈ¡ÑÝÊ¾Ò³ÃæÊý¾Ý...');
- var allData = »ñÈ¡ÑÝÊ¾Ò³ÃæËùÓÐÊý¾Ý();
- printl('»ñÈ¡ÑÝÊ¾Ò³ÃæÊý¾ÝÖ´ÐÐÍê±Ï');
- return allData;
- }
¸´ÖÆ´úÂë
|
|