B2BÍøÂçÈí¼þ

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á ÉóºËÍøÕ¾ºÅ:QQ:896757558
ËÑË÷
²é¿´: 3|»Ø¸´: 0
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

AIWROKʹÓÃactivityÁÐ±í¿ª¹ØÓë½ø¶ÈÌõµÄЭͬ½»»¥

[¸´ÖÆÁ´½Ó]

1124

Ö÷Ìâ

1129

Ìû×Ó

7773

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7773
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷

AIWROKʹÓÃactivityÁÐ±í¿ª¹ØÓë½ø¶ÈÌõµÄЭͬ½»»¥
AIWROKʹÓÃactivityÁÐ±í¿ª¹ØÓë½ø¶ÈÌõµÄЭͬ½»»¥ B2BÍøÂçÈí¼þ

  1. /**
  2. * AIWROKʹÓÃactivityÁÐ±í¿ª¹ØÓë½ø¶ÈÌõµÄЭͬ½»»¥
  3. *
  4. * ¹¦ÄÜÁÁµã£º
  5. * 1. ¶¯Ì¬ UI ¹¹½¨£ºÊ¹Óà activity ´´½¨°üº¬ ListView¡¢Button¡¢ProgressBar µÄ¸´ÔÓ½çÃæ¡£
  6. * 2. ״̬Áª¶¯Âß¼­£ºÊµÏÖ°´Å¥»¥³â£¨Ö´ÐÐʱ½ûÓÃÌí¼Ó£©¡¢ÑÕÉ«¶¯Ì¬Çл»¼°Í¸Ã÷¶È·´À¡¡£
  7. * 3. ¶àÏß³ÌЭͬ£ºÖ÷Ï̸߳ºÔð UI ÏìÓ¦£¬¹¤×÷Ïß³ÌÖ´ÐкÄʱÈÎÎñ²¢Í¨¹ý runOnUiThread °²È«»Ø¸ü¡£
  8. * 4. ʵʱÊý¾Ýͬ²½£º¶¥²¿×´Ì¬À¸ÊµÊ±ÏÔʾʣÓàÈÎÎñÊý£¬½ø¶ÈÌõÏ·½¸ßÁÁµ±Ç°Ö´ÐÐÏî¡£
  9. * 5. ÅäÖó־û¯£ºÀûÓà config Ä£¿é±£´æ½ø¶È£¬Ö§³Ö¶ÏµãÐø´«Ä£Äâ¡£
  10. */

  11. // ==================== È«¾Ö±äÁ¿¶¨Òå ====================
  12. var ac = null;          // Ö÷´°Ìå¶ÔÏó
  13. var logWindow = null;   // ÈÕÖ¾Ðü¸¡´°
  14. var taskList = [];      // ÈÎÎñ¶ÓÁÐ
  15. var isRunning = false;  // ÔËÐÐ״̬±êÖ¾
  16. var progressValue = 0;  // ½ø¶ÈÖµ

  17. // UI ¿Ø¼þÒýÓã¨È«¾Ö»¯ÒÔ±ãÔÚÏß³ÌÖзÃÎÊ£©
  18. var statusBar, btnStart, btnStop, btnAddTask, progressBar, progressText, currentTaskInfo;

  19. // ==================== ¸¨Öúº¯Êý£¨È«¾Ö×÷ÓÃÓò£© ====================

  20. // »ñÈ¡ÒÑÍê³ÉÈÎÎñÊý
  21. function getCompletedCount() {
  22.     var count = 0;
  23.     for (var i = 0; i < taskList.length; i++) {
  24.         if (taskList[i].status === "ÒÑÍê³É") count++;
  25.     }
  26.     return count;
  27. }

  28. // ¸üРUI ״̬£¨°´Å¥Áª¶¯ÓëÊÓ¾õ·´À¡£©
  29. function updateUIState(running) {
  30.     if (!ac) return;
  31.     ac.runOnUiThread(function() {
  32.         try {
  33.             var count = taskList.length;
  34.             var completed = getCompletedCount();
  35.             if (statusBar) statusBar.setText(running ? "Ö´ÐÐÖÐ... (Ê£Óà " + (count - completed) + ")" : "¾ÍÐ÷£ºÊ£Óà " + count + " ¸öÈÎÎñ");
  36.             
  37.             // °´Å¥Áª¶¯£ºÔËÐÐʱ½ûÓá°¿ªÊ¼¡±ºÍ¡°Ìí¼Ó¡±£¬ÆôÓá°Í£Ö¹¡±
  38.             if (btnStart) {
  39.                 btnStart.setEnabled(!running);
  40.                 btnStart.setAlpha(running ? 0.5 : 1.0); // ½ûÓÃʱ°ë͸Ã÷
  41.             }
  42.             if (btnAddTask) {
  43.                 btnAddTask.setEnabled(!running);
  44.                 btnAddTask.setAlpha(running ? 0.5 : 1.0);
  45.             }
  46.             if (btnStop) {
  47.                 btnStop.setEnabled(running);
  48.                 btnStop.setAlpha(1.0);
  49.             }
  50.             
  51.             // ÊÓ¾õÌØÐ§£ºÇ¿ÖÆÉèÖñ³¾°É«£¨±È Tint ¸üÎȶ¨£©
  52.             if (running) {
  53.                 if (btnStart) btnStart.setBackgroundColor(android.graphics.Color.parseColor("#CCCCCC")); // »ÒÉ«
  54.                 if (btnStop) btnStop.setBackgroundColor(android.graphics.Color.parseColor("#FF0000")); // Ïʺì
  55.             } else {
  56.                 if (btnStart) btnStart.setBackgroundColor(android.graphics.Color.parseColor("#4CAF50")); // ÂÌÉ«
  57.                 if (btnStop) btnStop.setBackgroundColor(android.graphics.Color.parseColor("#F44336")); // ºìÉ«
  58.             }
  59.         } catch (e) {
  60.             print.log("UI״̬¸üÐÂÒì³£: " + e.message);
  61.         }
  62.     });
  63. }

  64. // ==================== ³õʼ»¯º¯Êý ====================
  65. function init() {
  66.     print.log("ÕýÔÚ³õʼ»¯ÖÇÄÜÈÎÎñµ÷¶ÈÖÐÐÄ...");
  67.    
  68.     // 1. ³õʼ»¯ÈÕÖ¾Ðü¸¡´°
  69.     initLogWindow();
  70.    
  71.     // 2. ¼ÓÔØÀúÊ·ÅäÖÃ
  72.     loadConfig();
  73.    
  74.     // 3. ´´½¨Ö÷¿ØÖƽçÃæ
  75.     createMainUI();
  76.    
  77.     print.log("³õʼ»¯Íê³É£¬µÈ´ýÖ¸Áî¡£");
  78. }

  79. // ==================== ÈÕÖ¾Ðü¸¡´° ====================
  80. function initLogWindow() {
  81.     try {
  82.         logWindow = new floatUI();
  83.         logWindow.loadXML(
  84.             '<LinearLayout orientation="vertical" w="300" h="400" gravity="left">' +
  85.             '  <TextView id="logTitle" text="&#128202; ʵʱÈÕÖ¾" textColor="#FFFFFF" textSize="16" padding="8" background="#333333" />' +
  86.             '  <ScrollView w="match_parent" h="match_parent">' +
  87.             '    <TextView id="logContent" textColor="#00FF00" textSize="12" padding="8" background="#000000" />' +
  88.             '  </ScrollView>' +
  89.             '</LinearLayout>'
  90.         );
  91.         logWindow.setPosition(10, 100);
  92.     } catch (e) {
  93.         print.log("ÈÕÖ¾Ðü¸¡´°³õʼ»¯Ê§°Ü: " + e.message);
  94.     }
  95. }

  96. function appendLog(msg) {
  97.     if (!logWindow) return;
  98.     var time = new Date().toLocaleTimeString();
  99.     var logMsg = "[" + time + "] " + msg + "\n";
  100.    
  101.     // ÔÚ UI Ïß³ÌÖиüÐÂÈÕÖ¾ÄÚÈÝ
  102.     if (ac) {
  103.         ac.runOnUiThread(function() {
  104.             try {
  105.                 var logText = logWindow.findViewById("logContent");
  106.                 if (logText) {
  107.                     var currentText = logText.getText().toString();
  108.                     logText.setText(currentText + logMsg);
  109.                 }
  110.             } catch (e) {}
  111.         });
  112.     }
  113.     print.log(logMsg.trim());
  114. }

  115. // ==================== Ö÷½çÃæ¹¹½¨ ====================
  116. function createMainUI() {
  117.     ac = new activity();
  118.    
  119.     // ¸´Ô XML ²¼¾Ö£º°üº¬±êÌâ¡¢ÁÐ±í¡¢½ø¶ÈÌõ¡¢¿ØÖư´Å¥
  120.     ac.loadXML(`
  121.     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  122.         android:layout_width="match_parent"
  123.         android:layout_height="match_parent"
  124.         android:orientation="vertical"
  125.         android:background="#F0F0F0"
  126.         android:padding="16dp">

  127.         <TextView
  128.             android:text="&#128640; ÖÇÄÜÈÎÎñµ÷¶ÈÖÐÐÄ"
  129.             android:textSize="24sp"
  130.             android:textColor="#333333"
  131.             android:gravity="center"
  132.             android:layout_marginBottom="20dp" />

  133.         <TextView
  134.             android:id="@+id/statusBar"
  135.             android:text="¾ÍÐ÷£ºµÈ´ýÌí¼ÓÈÎÎñ"
  136.             android:textSize="14sp"
  137.             android:textColor="#666666"
  138.             android:gravity="center"
  139.             android:layout_marginBottom="10dp" />

  140.         <!-- ÈÎÎñÁбíÇøÓò -->
  141.         <ListView
  142.             android:id="@+id/taskListView"
  143.             android:layout_width="match_parent"
  144.             android:layout_height="0dp"
  145.             android:layout_weight="1"
  146.             android:background="#FFFFFF"
  147.             android:divider="#E0E0E0"
  148.             android:dividerHeight="1px" />

  149.         <!-- ½ø¶ÈÌõ -->
  150.         <ProgressBar
  151.             android:id="@+id/progressBar"
  152.             style="?android:attr/progressBarStyleHorizontal"
  153.             android:layout_width="match_parent"
  154.             android:layout_height="wrap_content"
  155.             android:max="100"
  156.             android:progress="0"
  157.             android:layout_marginTop="10dp" />

  158.         <TextView
  159.             android:id="@+id/progressText"
  160.             android:text="½ø¶È: 0%"
  161.             android:gravity="center"
  162.             android:layout_marginTop="5dp" />

  163.         <TextView
  164.             android:id="@+id/currentTaskInfo"
  165.             android:text="µ±Ç°ÎÞÕýÔÚÖ´ÐеÄÈÎÎñ"
  166.             android:textSize="12sp"
  167.             android:textColor="#999999"
  168.             android:gravity="center"
  169.             android:layout_marginTop="5dp" />

  170.         <!-- ¿ØÖư´Å¥×é -->
  171.         <LinearLayout
  172.             android:layout_width="match_parent"
  173.             android:layout_height="wrap_content"
  174.             android:orientation="horizontal"
  175.             android:layout_marginTop="20dp">

  176.             <Button
  177.                 android:id="@+id/btnStart"
  178.                 android:text="¿ªÊ¼Ö´ÐÐ"
  179.                 android:layout_width="0dp"
  180.                 android:layout_weight="1"
  181.                 android:layout_marginRight="5dp"
  182.                 android:background="#4CAF50"
  183.                 android:textColor="#FFFFFF" />

  184.             <Button
  185.                 android:id="@+id/btnStop"
  186.                 android:text="Í£Ö¹"
  187.                 android:layout_width="0dp"
  188.                 android:layout_weight="1"
  189.                 android:layout_marginLeft="5dp"
  190.                 android:background="#F44336"
  191.                 android:textColor="#FFFFFF" />
  192.         </LinearLayout>
  193.         
  194.         <Button
  195.             android:id="@+id/btnAddTask"
  196.             android:text="➕ Ìí¼ÓËæ»úÈÎÎñ"
  197.             android:layout_width="match_parent"
  198.             android:layout_height="wrap_content"
  199.             android:layout_marginTop="10dp"
  200.             android:background="#2196F3"
  201.             android:textColor="#FFFFFF" />

  202.     </LinearLayout>
  203.     `);

  204.     // »ñÈ¡¿Ø¼þÒýÓò¢¸³Öµ¸øÈ«¾Ö±äÁ¿
  205.     statusBar = ac.findViewById("statusBar");
  206.     btnStart = ac.findViewById("btnStart");
  207.     btnStop = ac.findViewById("btnStop");
  208.     btnAddTask = ac.findViewById("btnAddTask");
  209.     progressBar = ac.findViewById("progressBar");
  210.     progressText = ac.findViewById("progressText");
  211.     currentTaskInfo = ac.findViewById("currentTaskInfo");

  212.     // °ó¶¨Ê¼þ
  213.     btnStart.setOnClickListener(function() {
  214.         startTasks();
  215.     });

  216.     btnStop.setOnClickListener(function() {
  217.         stopTasks();
  218.     });

  219.     btnAddTask.setOnClickListener(function() {
  220.         addRandomTask();
  221.     });

  222.     // ³õʼäÖȾÁбí
  223.     updateTaskList();
  224.     updateUIState(false); // ³õʼ»¯°´Å¥×´Ì¬
  225.     appendLog("Ö÷½çÃæÒѾÍÐ÷");
  226. }

  227. // ==================== ÒµÎñÂß¼­ ====================

  228. // Ä£ÄâÈÎÎñÊý¾Ý
  229. var taskTemplates = [
  230.     { name: "Êý¾Ý±¸·Ý", duration: 3000 },
  231.     { name: "ͼƬѹËõ", duration: 2000 },
  232.     { name: "ÈÕÖ¾ÉÏ´«", duration: 4000 },
  233.     { name: "»º´æÇåÀí", duration: 1500 },
  234.     { name: "ϵͳ¼ì²â", duration: 2500 }
  235. ];

  236. function addRandomTask() {
  237.     var template = taskTemplates[Math.floor(Math.random() * taskTemplates.length)];
  238.     var newTask = {
  239.         id: new Date().getTime(),
  240.         name: template.name + "_" + Math.floor(Math.random() * 100),
  241.         status: "´ýÖ´ÐÐ",
  242.         duration: template.duration
  243.     };
  244.     taskList.push(newTask);
  245.     updateTaskList();
  246.     appendLog("Ìí¼ÓÐÂÈÎÎñ: " + newTask.name);
  247. }

  248. function updateTaskList() {
  249.     // ÔÚʵ¼Ê Android ¿ª·¢ÖУ¬ÕâÀïÐèÒªÊÊÅä ArrayAdapter
  250.     // ÓÉÓÚ AIWROK µÄ activity.findViewById ·µ»ØµÄÊÇÔ­Éú View£¬Ö±½Ó²Ù×÷ ListView ½Ï¸´ÔÓ
  251.     // ´Ë´¦¼ò»¯ÎªÈÕÖ¾Êä³ö£¬Êµ¼ÊÏîÄ¿ÖпɽáºÏ H5 »ò×Ô¶¨Òå Adapter
  252.     appendLog("µ±Ç°ÈÎÎñ¶ÓÁÐÊýÁ¿: " + taskList.length);
  253. }

  254. function startTasks() {
  255.     if (isRunning) {
  256.         appendLog("ÈÎÎñÒÑÔÚÔËÐÐÖУ¬ÇëÎðÖØ¸´µã»÷");
  257.         return;
  258.     }

  259.     if (taskList.length === 0) {
  260.         appendLog("ÈÎÎñ¶ÓÁÐΪ¿Õ£¬ÇëÏÈÌí¼ÓÈÎÎñ");
  261.         return;
  262.     }

  263.     isRunning = true;
  264.     appendLog(">>> ¿ªÊ¼Ö´ÐÐÈÎÎñÐòÁÐ...");
  265.     updateUIState(true); // ´¥·¢°´Å¥Áª¶¯

  266.     // ¿ªÆô¹¤×÷Ïß³Ì
  267.     new thread().runJsCode(function fun() {
  268.         var totalTasks = taskList.length;
  269.         var completedTasks = 0;

  270.         for (var i = 0; i < totalTasks; i++) {
  271.             // ¡¾¹Ø¼üµã¡¿Ã¿´ÎÑ­»·Ç°¼ì²éÊÇ·ñ±»ÒªÇóÍ£Ö¹
  272.             if (!isRunning) {
  273.                 appendLog("¼ì²âµ½Í£Ö¹Ö¸ÁÍ˳öÈÎÎñÑ­»·");
  274.                 break;
  275.             }

  276.             var task = taskList[i];
  277.             task.status = "Ö´ÐÐÖÐ";
  278.             appendLog("ÕýÔÚÖ´ÐÐ: " + task.name);

  279.             // Ä£ÄâºÄʱ²Ù×÷
  280.             java.lang.Thread.sleep(task.duration);

  281.             task.status = "ÒÑÍê³É";
  282.             completedTasks++;
  283.             
  284.             // ¼ÆËã½ø¶È²¢¸üРUI
  285.             var progress = Math.floor((completedTasks / totalTasks) * 100);
  286.             
  287.             // ¡¾¹Ø¼üµã¡¿¿çÏ̸߳üРUI ±ØÐëʹÓà runOnUiThread
  288.             ac.runOnUiThread(function() {
  289.                 try {
  290.                     var progressBar = ac.findViewById("progressBar");
  291.                     var progressText = ac.findViewById("progressText");
  292.                     var currentTaskInfo = ac.findViewById("currentTaskInfo");
  293.                     
  294.                     if (progressBar) progressBar.setProgress(progress);
  295.                     if (progressText) progressText.setText("½ø¶È: " + progress + "%");
  296.                     
  297.                     // ÊÓ¾õÌØÐ§£º¸üе±Ç°Ö´ÐÐÏî²¢¸ßÁÁ
  298.                     if (currentTaskInfo) {
  299.                         currentTaskInfo.setText("ÕýÔÚ´¦Àí: " + task.name);
  300.                         currentTaskInfo.setTextColor(android.graphics.Color.parseColor("#2196F3")); // À¶É«¸ßÁÁ
  301.                     }
  302.                 } catch (e) {}
  303.             });

  304.             // ±£´æ½ø¶Èµ½ÅäÖ㬷ÀÖ¹ÒâÍâÖжϺó¶ªÊ§
  305.             config.setConfig('/sdcard/task_state.ini', 'last_progress', progress.toString());
  306.         }

  307.         isRunning = false;
  308.         appendLog("<<< ËùÓÐÈÎÎñÖ´ÐÐÍê±Ï");
  309.         
  310.         // ÈÎÎñÍê³ÉºóÖØÖà UI
  311.         ac.runOnUiThread(function() {
  312.             try {
  313.                 var progressBar = ac.findViewById("progressBar");
  314.                 var currentTaskInfo = ac.findViewById("currentTaskInfo");
  315.                 if (progressBar) progressBar.setProgress(0);
  316.                 if (currentTaskInfo) {
  317.                     currentTaskInfo.setText("µ±Ç°ÎÞÕýÔÚÖ´ÐеÄÈÎÎñ");
  318.                     currentTaskInfo.setTextColor(android.graphics.Color.parseColor("#999999")); // »Ö¸´»ÒÉ«
  319.                 }
  320.             } catch (e) {}
  321.         });
  322.         
  323.         updateUIState(false); // »Ö¸´°´Å¥×´Ì¬
  324.     }, "TaskWorkerThread");
  325. }

  326. function stopTasks() {
  327.     if (!isRunning) {
  328.         appendLog("µ±Ç°Ã»ÓÐÕýÔÚÖ´ÐеÄÈÎÎñ");
  329.         return;
  330.     }
  331.     isRunning = false;
  332.     appendLog("!!! Óû§ÒÑ´¥·¢Í£Ö¹Ö¸ÁÕýÔÚÖÕÖ¹...");
  333.    
  334.     // Á¢¼´¸üРUI ״̬£¬¸øÓû§Ã÷È·µÄ·´À¡
  335.     ac.runOnUiThread(function() {
  336.         try {
  337.             var progressBar = ac.findViewById("progressBar");
  338.             var currentTaskInfo = ac.findViewById("currentTaskInfo");
  339.             if (progressBar) progressBar.setProgress(0);
  340.             if (currentTaskInfo) {
  341.                 currentTaskInfo.setText("ÈÎÎñÒѱ»Óû§ÊÖ¶¯Í£Ö¹");
  342.                 currentTaskInfo.setTextColor(android.graphics.Color.parseColor("#FF0000")); // ºìÉ«¾¯¸æ
  343.             }
  344.         } catch (e) {}
  345.     });
  346.    
  347.     // ÑÓ³ÙÒ»µãÔÙ»Ö¸´°´Å¥×´Ì¬£¬ÈÃÓû§¿´µ½¡°Í£Ö¹¡±µÄЧ¹û
  348.     java.lang.Thread.sleep(500);
  349.     updateUIState(false);
  350. }

  351. // ==================== ÅäÖó־û¯ ====================
  352. function loadConfig() {
  353.     try {
  354.         var savedProgress = config.getConfig('/sdcard/task_state.ini', 'last_progress', '0');
  355.         appendLog("¼ÓÔØÉϴνø¶È: " + savedProgress + "%");
  356.     } catch (e) {
  357.         appendLog("¶ÁÈ¡ÅäÖÃʧ°Ü: " + e.message);
  358.     }
  359. }

  360. // ==================== Æô¶¯Èë¿Ú ====================
  361. init();
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

QQ|»ÓªÏúÈí¼þ×ÛºÏÌÖÂÛ|»ÓªÏúÈí¼þÓÐÎʱشð|»ÓªÏúÈí¼þ½Ì³Ì×¨Çø|»ÓªÏúÈí¼þPOST½Å±¾·ÖÏí|»ÓªÏúÈí¼þÆÕͨ½Å±¾·ÖÏí|»ÓªÏúÈí¼þÈí¼þ×ÊѶ|»ÓªÏúÈí¼þ¾«Æ·Èí¼þ|»ÓªÏúÈí¼þ¸üй«¸æ|ÓªÏúÈí¼þ|B2BÈí¼þ|B2BÍøÂçÈí¼þ ( ¾©ICP±¸09078825ºÅ )±¾ÍøÕ¾¿ª·¢µÄÓªÏúÈí¼þÊÇÒ»¿îеÄÍøÂçÓªÏúÈí¼þ£¬Õâ¿îÓªÏú¿ÉÒÔÈ¥ÍøÕ¾Èí¼þ£¬²©¿ÍÈí¼þ£¬B2BÈí¼þ£¬·ÖÀàÐÅÏ¢Íø·¢Ìù£¬¿ÉÒÔÇÀɳ·¢£¬¿ÉÒÔµ½°Ù¶ÈÎÄ¿âÉÏ´«WORDÎĵµ£¬¿ÉÒÔµ½Ò»Ð©ÊÇÏà²áÍøÕ¾×Ô¶¯ÉÏ´«Í¼Æ¬£¬Õâ¸ö×Ô¶¯·¢ÌûÈí¼þ×Ô´øÔÆÖ©Ö룬¼Ó¿ìÊÕ¼£¬ÓÐ6ÖÖ¶Ô½Ó´òÂë½Ó¿Ú£¬·½±ã£¬Ð§Âʸߣ¬Ëٶȿ죬¶øÇÒ¶ÔÍ϶¯µÄÑéÖ¤ÂëÈ«ÍøµÚÒ»¼Ò¶À¼ÒÖ§³Ö£¬È«²¿Ô­´´¼¼Êõ£¬¶À¼ÒÑз¢£¬Õý°æÔ­´´´ø°æÈ¨Èí¼þ¡£Ñ¡ÔñÍòÄÜÓªÏúÈí¼þ£¬¾ÍÑ¡ÔñÁËÒ»ÖÖ׬ǮµÄЧÂÊ£¬´ÓûÓб»³¬Ô½¹ý£¬Ò»Ö±ÔÚŬÁ¦Ñз¢Ð¼¼Êõ¡£·Å·ÉÃÎÏ룬½â·ÅË«ÊÖ£¬À´µã´´Ò⣬³É¾ÍÄãµÄÃÎÏ룬¾ÍÔÚÍòÄÜÓªÏúÈí¼þ¿ªÊ¼

map2

GMT+8, 2026-6-29 07:55 , Processed in 0.245474 second(s), 34 queries .

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí