|
|
AIWROKÈí¼þH5½Å±¾Ö´ÐÐÓë½ø¶ÈÏÔʾ
- //🍎½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
- <!DOCTYPE html>
- <html lang="zh-CN">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
- <title>AIWROK ÈÎÎñÖ´ÐÐÓë½ø¶ÈÏÔʾ</title>
- <style>
- /* »ù´¡ÑùÊ½ÖØÖà */
- * {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
- -webkit-tap-highlight-color: transparent;
- }
- body {
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
- background-color: #f5f5f5;
- color: #333;
- line-height: 1.6;
- overflow-x: hidden;
- }
- /* ÊÖ»úÈÝÆ÷ */
- .mobile-container {
- max-width: 414px;
- margin: 0 auto;
- background-color: white;
- min-height: 100vh;
- position: relative;
- overflow: hidden;
- box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
- }
- /* Ò³Ãæ±êÌâ */
- .page-title {
- padding: 20px;
- background-color: #1976d2;
- color: white;
- font-size: 18px;
- font-weight: 600;
- text-align: center;
- }
- /* Ö÷ÒªÄÚÈÝÇøÓò */
- .content {
- padding: 0;
- padding-bottom: 100px;
- min-height: 200px;
- }
- /* ½ø¶ÈÌõÏÔÊ¾ÇøÓò */
- .progress-container {
- display: none;
- margin: 10px;
- padding: 15px;
- background-color: #f5f5f5;
- border-radius: 8px;
- border: 1px solid #e0e0e0;
- }
- .progress-container.active {
- display: block;
- }
- /* ÕûÌå½ø¶ÈÌõ */
- .total-progress {
- margin-bottom: 15px;
- }
- .progress-header {
- display: flex;
- justify-content: space-between;
- margin-bottom: 5px;
- font-size: 14px;
- color: #666;
- }
- .progress-bar-container {
- height: 16px;
- background-color: #e0e0e0;
- border-radius: 8px;
- overflow: hidden;
- }
- .progress-bar {
- height: 100%;
- width: 0%;
- transition: width 0.3s ease;
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
- }
- .total-progress-bar {
- background-color: #4caf50;
- background-image: linear-gradient(to right, #4caf50, #66bb6a);
- }
- /* µ±Ç°ÈÎÎñ½ø¶ÈÌõ */
- .task-progress {
- margin-bottom: 20px;
- }
- .task-progress-bar {
- background-color: #2196f3;
- background-image: linear-gradient(to right, #2196f3, #42a5f5);
- }
- /* ÈÎÎñÁбí */
- .task-list {
- margin: 0;
- background-color: white;
- border-radius: 0;
- overflow: hidden;
- min-height: 100px;
- }
- .task-item {
- padding: 16px 20px;
- border-bottom: 1px solid #e0e0e0;
- cursor: pointer;
- transition: background-color 0.2s ease;
- position: relative;
- display: flex;
- flex-direction: column;
- min-height: 60px;
- }
- .task-item:last-child {
- border-bottom: none;
- }
- .task-item:hover {
- background-color: #f5f5f5;
- }
- .task-item.active {
- background-color: #e3f2fd;
- }
- .task-name {
- font-size: 18px;
- font-weight: 600;
- margin-bottom: 4px;
- color: #333;
- }
- .task-status {
- font-size: 14px;
- color: #999;
- }
- /* ½á¹ûÏÔÊ¾ÇøÓò */
- .result-container {
- margin: 10px;
- padding: 15px;
- background-color: #f5f5f5;
- border-radius: 8px;
- border: 1px solid #e0e0e0;
- max-height: 150px;
- overflow-y: auto;
- }
- .result-title {
- font-weight: bold;
- margin-bottom: 10px;
- color: #333;
- font-size: 16px;
- }
- .result-content {
- font-size: 14px;
- color: #666;
- white-space: pre-wrap;
- line-height: 1.5;
- }
- /* ¿ØÖư´Å¥ */
- .control-buttons {
- position: fixed;
- bottom: 0;
- left: 0;
- right: 0;
- max-width: 414px;
- margin: 0 auto;
- padding: 15px 10px;
- background-color: white;
- border-top: 1px solid #e0e0e0;
- box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
- }
- .btn {
- width: 100%;
- height: 50px;
- border: none;
- border-radius: 8px;
- font-size: 16px;
- font-weight: 600;
- cursor: pointer;
- margin-bottom: 10px;
- transition: all 0.3s ease;
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
- }
- .btn:last-child {
- margin-bottom: 0;
- }
- .btn-primary {
- background-color: #2196f3;
- color: white;
- background-image: linear-gradient(to bottom, #2196f3, #1976d2);
- }
- .btn-primary:hover {
- background-color: #1976d2;
- background-image: linear-gradient(to bottom, #1976d2, #1565c0);
- }
- .btn-primary:active {
- background-color: #1565c0;
- background-image: linear-gradient(to bottom, #1565c0, #0d47a1);
- transform: scale(0.98);
- }
- .btn-primary:disabled {
- background-color: #90caf9;
- background-image: none;
- cursor: not-allowed;
- transform: none;
- }
- .btn-secondary {
- background-color: #f5f5f5;
- color: #333;
- }
- .btn-secondary:hover {
- background-color: #e0e0e0;
- }
- .btn-secondary:active {
- background-color: #bdbdbd;
- transform: scale(0.98);
- }
- /* ¼ÓÔØ¶¯» */
- .loading {
- position: relative;
- pointer-events: none;
- }
- @keyframes spin {
- from { transform: rotate(0deg); }
- to { transform: rotate(360deg); }
- }
- .loading::after {
- content: '';
- position: absolute;
- top: 50%;
- left: 50%;
- width: 24px;
- height: 24px;
- margin-top: -12px;
- margin-left: -12px;
- border: 2px solid rgba(255, 255, 255, 0.3);
- border-top-color: white;
- border-radius: 50%;
- animation: spin 0.8s linear infinite;
- }
- </style>
- </head>
- <body>
- <div class="mobile-container">
- <!-- Ò³Ãæ±êÌâ -->
- <div class="page-title">AIWROK ÈÎÎñÖ´ÐÐϵͳ</div>
- <!-- ½ø¶ÈÌõÏÔÊ¾ÇøÓò -->
- <div id="progressContainer" class="progress-container">
- <!-- ÕûÌå½ø¶ÈÌõ -->
- <div class="total-progress">
- <div class="progress-header">
- <span id="totalProgressLabel">×ܽø¶È: 0%</span>
- <span id="currentTaskLabel">×¼±¸¿ªÊ¼</span>
- </div>
- <div class="progress-bar-container">
- <div id="totalProgressBar" class="progress-bar total-progress-bar"></div>
- </div>
- </div>
- <!-- µ±Ç°ÈÎÎñ½ø¶ÈÌõ -->
- <div class="task-progress">
- <div class="progress-header">
- <span id="taskProgressLabel">µ±Ç°ÈÎÎñ: 0%</span>
- <span id="taskStatusLabel">×¼±¸¿ªÊ¼</span>
- </div>
- <div class="progress-bar-container">
- <div id="taskProgressBar" class="progress-bar task-progress-bar"></div>
- </div>
- </div>
- </div>
- <!-- ÈÎÎñÁбí -->
- <div class="task-list">
- <div class="task-item" data-task="¶¶Òô¼«ËÙ" onclick="selectTask(this)">
- <div class="task-name">¶¶Òô¼«ËÙ</div>
- <div class="task-status" id="status_¶¶Òô¼«ËÙ">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="¿ìÊÖ¼«ËÙ" onclick="selectTask(this)">
- <div class="task-name">¿ìÊÖ¼«ËÙ</div>
- <div class="task-status" id="status_¿ìÊÖ¼«ËÙ">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="ÆûË®ÒôÀÖ" onclick="selectTask(this)">
- <div class="task-name">ÆûË®ÒôÀÖ</div>
- <div class="task-status" id="status_ÆûË®ÒôÀÖ">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="·¬Çѳ©ÌýÒôÀÖ" onclick="selectTask(this)">
- <div class="task-name">·¬Çѳ©ÌýÒôÀÖ</div>
- <div class="task-status" id="status_·¬Çѳ©ÌýÒôÀÖ">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="Î÷¹ÏÊÓÆµ" onclick="selectTask(this)">
- <div class="task-name">Î÷¹ÏÊÓÆµ</div>
- <div class="task-status" id="status_Î÷¹ÏÊÓÆµ">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="·¬Çѳ©Ìý" onclick="selectTask(this)">
- <div class="task-name">·¬Çѳ©Ìý</div>
- <div class="task-status" id="status_·¬Çѳ©Ìý">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="·¬ÇÑС˵" onclick="selectTask(this)">
- <div class="task-name">·¬ÇÑС˵</div>
- <div class="task-status" id="status_·¬ÇÑС˵">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="Îò¿Õä¯ÀÀÆ÷" onclick="selectTask(this)">
- <div class="task-name">Îò¿Õä¯ÀÀÆ÷</div>
- <div class="task-status" id="status_Îò¿Õä¯ÀÀÆ÷">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="ºì¹û¶Ì¾ç" onclick="selectTask(this)">
- <div class="task-name">ºì¹û¶Ì¾ç</div>
- <div class="task-status" id="status_ºì¹û¶Ì¾ç">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="Í·Ìõ¹ã¸æµ¥°æ" onclick="selectTask(this)">
- <div class="task-name">½ñÈÕÍ·Ìõ</div>
- <div class="task-status" id="status_Í·Ìõ¹ã¸æµ¥°æ">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="Í·Ìõ¼«ËÙ¹ã¸æµ¥°æ" onclick="selectTask(this)">
- <div class="task-name">½ñÈÕÍ·Ìõ¼«ËÙ°æ</div>
- <div class="task-status" id="status_Í·Ìõ¼«ËÙ¹ã¸æµ¥°æ">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="ϲ·¬¶Ì¾ç" onclick="selectTask(this)">
- <div class="task-name">ϲ·¬¶Ì¾ç</div>
- <div class="task-status" id="status_ϲ·¬¶Ì¾ç">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="¿ìÊÖÕýʽ" onclick="selectTask(this)">
- <div class="task-name">¿ìÊÖÕýʽ°æ</div>
- <div class="task-status" id="status_¿ìÊÖÕýʽ">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="Æ»¹ûɾ³ýAPP" onclick="selectTask(this)">
- <div class="task-name">Ð¶ÔØAPP</div>
- <div class="task-status" id="status_Æ»¹ûɾ³ýAPP">δִÐÐ</div>
- </div>
- <div class="task-item" data-task="²âÊÔº¯Êý2" onclick="selectTask(this)">
- <div class="task-name">²âÊÔ2</div>
- <div class="task-status" id="status_²âÊÔº¯Êý2">δִÐÐ</div>
- </div>
- </div>
- <!-- ½á¹ûÏÔÊ¾ÇøÓò -->
- <div class="result-container">
- <div class="result-title">Ö´Ðнá¹û</div>
- <div class="result-content" id="resultContent">×¼±¸¾ÍÐ÷£¬µÈ´ýÖ´ÐÐÈÎÎñ...</div>
- </div>
- <!-- ¿ØÖư´Å¥ -->
- <div class="control-buttons">
- <button class="btn btn-primary" id="runButton" onclick="runSelectedTask()">¿ªÊ¼Ö´ÐÐ</button>
- <button class="btn btn-secondary" onclick="resetTasks()">ÖØÖÃÈÎÎñ</button>
- </div>
- </div>
- <script>
- // È«¾Ö±äÁ¿
- var selectedTask = null;
- var isTaskRunning = false;
- var currentProgress = 0;
- // ÏÔʾ½á¹ûµÄº¯Êý
- function showResult(message) {
- var resultContent = document.getElementById('resultContent');
- if (resultContent) {
- var timestamp = new Date().toLocaleTimeString();
- resultContent.innerHTML += '[' + timestamp + '] ' + message + '\n';
- resultContent.scrollTop = resultContent.scrollHeight;
- }
- }
- // ½ø¶ÈÌõ¿ØÖƺ¯Êý
- function showProgress() {
- var progressContainer = document.getElementById('progressContainer');
- if (progressContainer) {
- progressContainer.classList.add('active');
- }
- }
- function hideProgress() {
- var progressContainer = document.getElementById('progressContainer');
- if (progressContainer) {
- progressContainer.classList.remove('active');
- }
- }
- function updateTotalProgress(percentage, currentTask) {
- var totalProgressLabel = document.getElementById('totalProgressLabel');
- var totalProgressBar = document.getElementById('totalProgressBar');
- var currentTaskLabel = document.getElementById('currentTaskLabel');
- if (totalProgressLabel) {
- totalProgressLabel.innerText = '×ܽø¶È: ' + Math.round(percentage) + '%';
- }
- if (totalProgressBar) {
- totalProgressBar.style.width = percentage + '%';
- }
- if (currentTaskLabel && currentTask) {
- currentTaskLabel.innerText = currentTask;
- }
- }
- function updateTaskProgress(percentage, status) {
- var taskProgressLabel = document.getElementById('taskProgressLabel');
- var taskProgressBar = document.getElementById('taskProgressBar');
- var taskStatusLabel = document.getElementById('taskStatusLabel');
- if (taskProgressLabel) {
- taskProgressLabel.innerText = 'µ±Ç°ÈÎÎñ: ' + Math.round(percentage) + '%';
- }
- if (taskProgressBar) {
- taskProgressBar.style.width = percentage + '%';
- }
- if (taskStatusLabel && status) {
- taskStatusLabel.innerText = status;
- }
- }
- // ¸üÐÂÈÎÎñ״̬
- function updateTaskStatus(taskName, status) {
- var statusElement = document.getElementById('status_' + taskName);
- if (statusElement) {
- statusElement.innerText = status;
- }
- }
- // ÈÎÎñÑ¡Ôñº¯Êý
- function selectTask(taskElement) {
- if (isTaskRunning) {
- showResult('µ±Ç°ÓÐÈÎÎñÕýÔÚÖ´ÐУ¬ÇëµÈ´ýÍê³ÉºóÔÙÑ¡Ôñ');
- return;
- }
- // ÒÆ³ý֮ǰµÄÑ¡ÖÐ״̬
- var allTasks = document.querySelectorAll('.task-item');
- allTasks.forEach(function(task) {
- task.classList.remove('active');
- });
- // ÉèÖÃеÄÑ¡ÖÐ״̬
- taskElement.classList.add('active');
- selectedTask = taskElement.getAttribute('data-task');
- showResult('ÒÑÑ¡ÔñÈÎÎñ: ' + selectedTask);
- }
- // Ä£ÄâÈÎÎñÖ´Ðнø¶È
- function simulateTaskProgress(taskName, duration, callback) {
- var progress = 0;
- var interval = 100;
- var steps = duration / interval;
- var stepProgress = 100 / steps;
- var progressInterval = setInterval(function() {
- progress += stepProgress;
- if (progress >= 100) {
- progress = 100;
- clearInterval(progressInterval);
- callback();
- }
- updateTaskProgress(progress, 'Ö´ÐÐÖÐ...');
- }, interval);
- }
- // Ö´ÐÐÑ¡ÖеÄÈÎÎñ
- function runSelectedTask() {
- if (!selectedTask) {
- showResult('ÇëÏÈÑ¡ÔñÒªÖ´ÐеÄÈÎÎñ');
- return;
- }
- if (isTaskRunning) {
- showResult('µ±Ç°ÓÐÈÎÎñÕýÔÚÖ´ÐУ¬ÇëµÈ´ýÍê³É');
- return;
- }
- isTaskRunning = true;
- var runButton = document.getElementById('runButton');
- runButton.disabled = true;
- runButton.classList.add('loading');
- runButton.innerText = 'Ö´ÐÐÖÐ';
- showProgress();
- updateTotalProgress(0, selectedTask);
- updateTaskProgress(0, '×¼±¸Ö´ÐÐ');
- updateTaskStatus(selectedTask, 'Ö´ÐÐÖÐ');
- showResult('¿ªÊ¼Ö´ÐÐÈÎÎñ: ' + selectedTask);
- // Ä£ÄâÈÎÎñÖ´Ðйý³Ì
- simulateTaskProgress(selectedTask, 3000, function() {
- // ÈÎÎñÖ´ÐÐÍê³É
- updateTaskProgress(100, 'Ö´ÐÐÍê³É');
- updateTotalProgress(100, selectedTask);
- updateTaskStatus(selectedTask, 'ÒÑÍê³É');
- try {
- // ³¢ÊÔµ÷ÓÃÖ÷½Å±¾ÖеÄÈÎÎñº¯Êý
- if (typeof window[selectedTask] === 'function') {
- window[selectedTask]();
- } else {
- // Èç¹ûûÓжÔÓ¦µÄº¯Êý£¬Ö±½ÓÖ´ÐÐAPP´úÂë
- window.at.runJs('function() { ' + selectedTask + '(); }');
- }
- } catch (e) {
- showResult('Ö´ÐÐÈÎÎñʧ°Ü: ' + e.message);
- }
- showResult('ÈÎÎñÖ´ÐÐÍê³É: ' + selectedTask);
- // »Ö¸´°´Å¥×´Ì¬
- setTimeout(function() {
- runButton.disabled = false;
- runButton.classList.remove('loading');
- runButton.innerText = '¿ªÊ¼Ö´ÐÐ';
- isTaskRunning = false;
- hideProgress();
- }, 1500);
- });
- }
- // ÖØÖÃÈÎÎñ
- function resetTasks() {
- if (isTaskRunning) {
- showResult('µ±Ç°ÓÐÈÎÎñÕýÔÚÖ´ÐУ¬ÎÞ·¨ÖØÖÃ');
- return;
- }
- // ÒÆ³ýËùÓÐÑ¡ÖÐ״̬
- var allTasks = document.querySelectorAll('.task-item');
- allTasks.forEach(function(task) {
- task.classList.remove('active');
- var taskName = task.getAttribute('data-task');
- updateTaskStatus(taskName, 'δִÐÐ');
- });
- selectedTask = null;
- hideProgress();
- document.getElementById('resultContent').innerText = '×¼±¸¾ÍÐ÷£¬µÈ´ýÖ´ÐÐÈÎÎñ...';
- showResult('ÈÎÎñÒÑÖØÖÃ');
- }
- // ³õʼ»¯AIWROK½»»¥¶ÔÏó
- window.at = window.at || {};
- // Ä£ÄâAIWROKÔÉú·½·¨
- if (typeof window.at.runJs === 'undefined') {
- window.at.runJs = function(jsCode) {
- showResult('Ö´ÐÐAPP´úÂë: ' + jsCode.substring(0, 50) + (jsCode.length > 50 ? '...' : ''));
- return '´úÂëÖ´Ðгɹ¦';
- };
- }
- if (typeof window.at.callFunction === 'undefined') {
- window.at.callFunction = function(functionName, params, callback) {
- showResult('µ÷ÓÃÔÉúº¯Êý: ' + functionName + '£¬²ÎÊý: ' + JSON.stringify(params));
- if (typeof callback === 'function') {
- callback(JSON.stringify({result: '³É¹¦', functionName: functionName}));
- }
- };
- }
- // Ò³Ãæ¼ÓÔØÍê³É³õʼ»¯
- window.onload = function() {
- try {
- showResult('AIWROKÈÎÎñÖ´ÐÐϵͳ¼ÓÔØÍê³É');
- showResult('ÇëÑ¡ÔñÒ»¸öÈÎÎñ£¬È»ºóµã»÷¿ªÊ¼Ö´Ðа´Å¥');
- // ³¢ÊÔ¼ÓÔØÖ÷½Å±¾.js
- try {
- var scriptTag = document.createElement('script');
- scriptTag.src = 'Ö÷½Å±¾.js';
- scriptTag.onload = function() {
- showResult('Ö÷½Å±¾¼ÓÔØÍê³É£¬¿ÉÒÔÖ´ÐÐÈÎÎñ');
- };
- scriptTag.onerror = function() {
- showResult('Ö÷½Å±¾¼ÓÔØÊ§°Ü£¬½«Ê¹ÓÃÄ£ÄâÖ´ÐÐ');
- };
- document.body.appendChild(scriptTag);
- } catch (e) {
- showResult('¼ÓÔØÖ÷½Å±¾Ê±³ö´í: ' + e.message);
- }
- } catch (e) {
- console.error('Ò³Ãæ³õʼ»¯´íÎó:', e);
- if (typeof showResult === 'function') {
- showResult('Ò³Ãæ³õʼ»¯Ê±³ö´í: ' + e.message);
- }
- }
- };
- </script>
- </body>
- </html>
¸´ÖÆ´úÂë
|
|