B2BÍøÂçÈí¼þ

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

Æ»¹û½Å±¾Ê¾ÀýConfigÅäÖÃH5¼¯³É

[¸´ÖÆÁ´½Ó]

1080

Ö÷Ìâ

1085

Ìû×Ó

7597

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7597
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
·¢±íÓÚ ×òÌì 07:52 | Ö»¿´¸Ã×÷Õß »ØÌû½±Àø |µ¹Ðòä¯ÀÀ |ÔĶÁģʽ
Æ»¹û½Å±¾Ê¾ÀýConfigÅäÖÃH5¼¯³É
  1. // 🍎½»Á÷QQȺ£º711841924£¨Èº£©
  2. // 🍎½»Á÷QQȺ£º528816639  £¨Æ»¹ûÄÚ²âȺ£©

  3. // ============================================
  4. // AIWROK Config ÅäÖùÜÀíÆ÷ - H5¼¯³ÉʾÀý
  5. // ============================================
  6. printl("====================================");
  7. printl("Æô¶¯ AIWROK Config ÅäÖùÜÀíÆ÷");
  8. printl("====================================");

  9. // ============================================
  10. // ÅäÖÃÎļþ·¾¶¹ÜÀí
  11. // ============================================
  12. var resourcesPath = project.getResourcesPath();
  13. // È·±£Â·¾¶Ä©Î²Ö»ÓÐÒ»¸öб¸Ü£¬±ÜÃâ˫б¸ÜÎÊÌâ
  14. if (resourcesPath.endsWith("/")) {
  15.     var CONFIG_FILE_PATH = resourcesPath + "config.json";
  16. } else {
  17.     var CONFIG_FILE_PATH = resourcesPath + "/config.json";
  18. }
  19. printl("ÅäÖÃÎļþ·¾¶: " + CONFIG_FILE_PATH);

  20. /**
  21. * ´ÓÎļþ¼ÓÔØÅäÖÃ
  22. * @returns {Object} ÅäÖöÔÏó
  23. */
  24. function loadConfigFromFile() {
  25.     try {
  26.         if (typeof files !== 'undefined' && files.exists(CONFIG_FILE_PATH)) {
  27.             var content = files.read(CONFIG_FILE_PATH);
  28.             if (content) {
  29.                 var configs = JSON.parse(content);
  30.                 printl("✅ ´ÓÎļþ¼ÓÔØÅäÖóɹ¦: " + Object.keys(configs).length + " ¸öÅäÖÃÏî");
  31.                 return configs;
  32.             }
  33.         }
  34.     } catch (e) {
  35.         printl("⚠️ ¼ÓÔØÅäÖÃÎļþʧ°Ü: " + e.message);
  36.     }
  37.     return {};
  38. }

  39. /**
  40. * ±£´æÅäÖõ½Îļþ
  41. * @param {Object} configs - ÅäÖöÔÏó
  42. * @returns {boolean} ÊÇ·ñ³É¹¦
  43. */
  44. function saveConfigToFile(configs) {
  45.     try {
  46.         if (typeof files !== 'undefined') {
  47.             var content = JSON.stringify(configs, null, 2);
  48.             files.write(CONFIG_FILE_PATH, content);
  49.             printl("✅ ÅäÖÃÒѱ£´æµ½Îļþ: " + CONFIG_FILE_PATH);
  50.             return true;
  51.         }
  52.     } catch (e) {
  53.         printl("⚠️ ±£´æÅäÖÃÎļþʧ°Ü: " + e.message);
  54.     }
  55.     return false;
  56. }

  57. // Æô¶¯Ê±´ÓÎļþ¼ÓÔØÅäÖÃ
  58. var loadedConfigs = loadConfigFromFile();

  59. // ´´½¨ WebView ʵÀý
  60. var web = new WebView();

  61. // ÏÔʾ WebView ½çÃæ
  62. web.show();

  63. // ¼ÓÔØ±¾µØ HTML Îļþ
  64. var htmlPath = project.getCodePath() + "h5.html";
  65. web.loadFile(htmlPath);

  66. // ´òÓ¡¼ÓÔØÐÅÏ¢
  67. printl("WebView ÒÑ´´½¨²¢¼ÓÔØ£º" + htmlPath);

  68. // µ¼ÈëÈÕ־ǎӯ÷
  69. Import("LogBridge.js");

  70. // ³õʼ»¯ÈÕ־ǎӣ¨»á×èÈûµÈ´ý WebView ¼ÓÔØÍê³É£©
  71. LogManagerH5.init(web);

  72. // ÑÓ³ÙÖ´ÐУ¬È·±£ H5 Ò³ÃæÍêÈ«¼ÓÔØ
  73. _sleep(2000);

  74. // ·¢ËͲâÊÔÈÕÖ¾µ½ H5 ½çÃæ
  75. LogManagerH5.success("ϵͳÆô¶¯³É¹¦");
  76. LogManagerH5.info("WebView ÒѾÍÐ÷");

  77. // ============================================
  78. // ×¢²á H5 Óë Native ½»»¥·½·¨
  79. // ============================================
  80. printl("\nÕýÔÚ×¢²á H5 ½»»¥·½·¨...");

  81. /**
  82. * ÉèÖÃÅäÖ㨹© H5 µ÷Óã©
  83. * @param {string} key - ÅäÖüü
  84. * @param {string} value - ÅäÖÃÖµ
  85. * @returns {boolean} ÊÇ·ñ³É¹¦
  86. */
  87. this.setConfig = function(key, value) {
  88.     try {
  89.         var fullKey = "AIWROK_" + key;
  90.         config.setConfig(fullKey, String(value));
  91.         printl("[H5¡úNative] ÉèÖÃÅäÖÃ: " + fullKey + " = " + value);
  92.         LogManagerH5.success("✓ ÅäÖÃÒѱ£´æ: " + key);
  93.         return true;
  94.     } catch (e) {
  95.         printl("[´íÎó] ÉèÖÃÅäÖÃʧ°Ü: " + e.message);
  96.         LogManagerH5.error("✗ ±£´æÊ§°Ü: " + e.message);
  97.         return false;
  98.     }
  99. };

  100. /**
  101. * »ñÈ¡ÅäÖ㨹© H5 µ÷Óã©
  102. * @param {string} key - ÅäÖüü
  103. * @returns {string} ÅäÖÃÖµ
  104. */
  105. this.getConfig = function(key) {
  106.     try {
  107.         var fullKey = "AIWROK_" + key;
  108.         var value = config.getConfig(fullKey, "");
  109.         printl("[H5¡úNative] »ñÈ¡ÅäÖÃ: " + fullKey + " = " + value);
  110.         return value;
  111.     } catch (e) {
  112.         printl("[´íÎó] »ñÈ¡ÅäÖÃʧ°Ü: " + e.message);
  113.         return "";
  114.     }
  115. };

  116. /**
  117. * ÅúÁ¿±£´æÅäÖ㨹© H5 µ÷Óã©
  118. * @param {string} configsJson - JSON ×Ö·û´®¸ñʽµÄÅäÖöÔÏó
  119. * @returns {boolean} ÊÇ·ñ³É¹¦
  120. */
  121. this.batchSetConfigs = function(configsJson) {
  122.     try {
  123.         var configs = JSON.parse(configsJson);
  124.         var count = 0;
  125.         for (var key in configs) {
  126.             config.setConfig("AIWROK_" + key, String(configs[key]));
  127.             count++;
  128.         }
  129.         printl("[H5¡úNative] ÅúÁ¿±£´æ " + count + " ¸öÅäÖÃ");
  130.         LogManagerH5.success("✓ ÅúÁ¿±£´æ " + count + " ¸öÅäÖÃ");
  131.         return true;
  132.     } catch (e) {
  133.         printl("[´íÎó] ÅúÁ¿±£´æÊ§°Ü: " + e.message);
  134.         LogManagerH5.error("✗ ÅúÁ¿±£´æÊ§°Ü: " + e.message);
  135.         return false;
  136.     }
  137. };

  138. /**
  139. * ÅúÁ¿»ñÈ¡ÅäÖ㨹© H5 µ÷Óã©
  140. * @param {string} keysJson - JSON ×Ö·û´®¸ñʽµÄ¼üÊý×é
  141. * @returns {string} JSON ×Ö·û´®¸ñʽµÄÅäÖöÔÏó
  142. */
  143. this.batchGetConfigs = function(keysJson) {
  144.     try {
  145.         var keys = JSON.parse(keysJson);
  146.         var result = {};
  147.         for (var i = 0; i < keys.length; i++) {
  148.             var key = keys[i];
  149.             result[key] = config.getConfig("AIWROK_" + key, "");
  150.         }
  151.         printl("[H5¡úNative] ÅúÁ¿»ñÈ¡ " + keys.length + " ¸öÅäÖÃ");
  152.         return JSON.stringify(result);
  153.     } catch (e) {
  154.         printl("[´íÎó] ÅúÁ¿»ñȡʧ°Ü: " + e.message);
  155.         return "{}";
  156.     }
  157. };

  158. /**
  159. * µ¼³öËùÓÐÅäÖ㨹© H5 µ÷Óã©
  160. * @returns {string} JSON ×Ö·û´®¸ñʽµÄËùÓÐÅäÖÃ
  161. */
  162. this.exportAllConfigs = function() {
  163.     try {
  164.         var allKeys = [
  165.             "game_name", "task_delay", "max_rounds", "enable_combat", "auto_heal",
  166.             "ocr_language", "ocr_confidence", "ocr_timeout", "ocr_retry",
  167.             "ui_theme", "ui_font_size", "ui_show_toolbar", "ui_animation",
  168.             "network_base_url", "network_version", "network_timeout", "network_retries"
  169.         ];
  170.         
  171.         var result = {};
  172.         for (var i = 0; i < allKeys.length; i++) {
  173.             var key = allKeys[i];
  174.             result[key] = config.getConfig("AIWROK_" + key, "");
  175.         }
  176.         
  177.         var jsonStr = JSON.stringify(result, null, 2);
  178.         printl("[H5¡úNative] µ¼³öËùÓÐÅäÖÃ");
  179.         LogManagerH5.info("&#128228; ÅäÖÃÒѵ¼³ö");
  180.         return jsonStr;
  181.     } catch (e) {
  182.         printl("[´íÎó] µ¼³öÅäÖÃʧ°Ü: " + e.message);
  183.         LogManagerH5.error("✗ µ¼³öʧ°Ü: " + e.message);
  184.         return "{}";
  185.     }
  186. };

  187. /**
  188. * »Ö¸´Ä¬ÈÏÅäÖ㨹© H5 µ÷Óã©
  189. * @param {string} category - ÅäÖ÷ÖÀà (game/ocr/ui/network/all)
  190. * @returns {string} JSON ×Ö·û´®¸ñʽµÄĬÈÏÅäÖÃ
  191. */
  192. this.resetToDefault = function(category) {
  193.     try {
  194.         var defaultConfigs = {};
  195.         
  196.         if (category === "game" || category === "all") {
  197.             defaultConfigs.game_name = "ÃλÃÎ÷ÓÎ";
  198.             defaultConfigs.task_delay = "2000";
  199.             defaultConfigs.max_rounds = "10";
  200.             defaultConfigs.enable_combat = "true";
  201.             defaultConfigs.auto_heal = "true";
  202.         }
  203.         
  204.         if (category === "ocr" || category === "all") {
  205.             defaultConfigs.ocr_language = "zh-CN";
  206.             defaultConfigs.ocr_confidence = "80";
  207.             defaultConfigs.ocr_timeout = "5000";
  208.             defaultConfigs.ocr_retry = "3";
  209.         }
  210.         
  211.         if (category === "ui" || category === "all") {
  212.             defaultConfigs.ui_theme = "dark";
  213.             defaultConfigs.ui_font_size = "16";
  214.             defaultConfigs.ui_show_toolbar = "true";
  215.             defaultConfigs.ui_animation = "true";
  216.         }
  217.         
  218.         if (category === "network" || category === "all") {
  219.             defaultConfigs.network_base_url = "https://api.example.com";
  220.             defaultConfigs.network_version = "v2";
  221.             defaultConfigs.network_timeout = "10000";
  222.             defaultConfigs.network_retries = "3";
  223.         }
  224.         
  225.         // ±£´æµ½ config
  226.         for (var key in defaultConfigs) {
  227.             config.setConfig("AIWROK_" + key, defaultConfigs[key]);
  228.         }
  229.         
  230.         // ͬʱ±£´æµ½Îļþ
  231.         saveConfigToFile(defaultConfigs);
  232.         
  233.         printl("[H5¡úNative] »Ö¸´Ä¬ÈÏÅäÖÃ: " + category);
  234.         LogManagerH5.warn("&#128465;️ Òѻָ´" + category + "ĬÈÏÅäÖÃ");
  235.         return JSON.stringify(defaultConfigs);
  236.     } catch (e) {
  237.         printl("[´íÎó] »Ö¸´Ä¬ÈÏÅäÖÃʧ°Ü: " + e.message);
  238.         LogManagerH5.error("✗ »Ö¸´Ê§°Ü: " + e.message);
  239.         return "{}";
  240.     }
  241. };

  242. /**
  243. * Toast Ìáʾ£¨¹© H5 µ÷Óã©
  244. * @param {string} message - ÌáʾÏûÏ¢
  245. */
  246. this.showToast = function(message) {
  247.     printl("[H5¡úNative] Toast: " + message);
  248.     toast(message);
  249. };

  250. /**
  251. * Ìí¼ÓÈÕÖ¾£¨¹© H5 µ÷Óã©
  252. * @param {string} message - ÈÕÖ¾ÏûÏ¢
  253. * @param {string} level - ÈÕÖ¾¼¶±ð
  254. */
  255. this.addNativeLog = function(message, level) {
  256.     printl("[H5 ÈÕÖ¾][" + level + "] " + message);
  257. };

  258. /**
  259. * »ñÈ¡ÅäÖÃÎļþ·¾¶£¨¹© H5 µ÷Óã©
  260. * @returns {string} ÅäÖÃÎļþ·¾¶
  261. */
  262. this.getConfigFilePath = function() {
  263.     return CONFIG_FILE_PATH;
  264. };

  265. /**
  266. * ´ÓÎļþ¼ÓÔØÅäÖ㨹© H5 µ÷Óã©
  267. * @returns {string} JSON ×Ö·û´®¸ñʽµÄÅäÖÃ
  268. */
  269. this.loadConfigFromFile = function() {
  270.     try {
  271.         var configs = loadConfigFromFile();
  272.         // ͬ²½µ½ config ϵͳ
  273.         for (var key in configs) {
  274.             config.setConfig("AIWROK_" + key, configs[key]);
  275.         }
  276.         printl("[H5¡úNative] ´ÓÎļþ¼ÓÔØÅäÖÃ: " + Object.keys(configs).length + " ¸öÅäÖÃÏî");
  277.         LogManagerH5.success("&#128194; ÒÑ´ÓÎļþ¼ÓÔØÅäÖÃ");
  278.         return JSON.stringify(configs);
  279.     } catch (e) {
  280.         printl("[´íÎó] ´ÓÎļþ¼ÓÔØÅäÖÃʧ°Ü: " + e.message);
  281.         LogManagerH5.error("✗ ¼ÓÔØÊ§°Ü: " + e.message);
  282.         return "{}";
  283.     }
  284. };

  285. /**
  286. * ±£´æÅäÖõ½Îļþ£¨¹© H5 µ÷Óã©
  287. * @returns {boolean} ÊÇ·ñ³É¹¦
  288. */
  289. this.saveConfigToFile = function() {
  290.     try {
  291.         // ´Ó config ϵͳ»ñÈ¡ËùÓÐÅäÖÃ
  292.         var allKeys = [
  293.             "game_name", "task_delay", "max_rounds", "enable_combat", "auto_heal"
  294.         ];
  295.         var configs = {};
  296.         for (var i = 0; i < allKeys.length; i++) {
  297.             var key = allKeys[i];
  298.             var value = config.getConfig("AIWROK_" + key, "");
  299.             if (value) {
  300.                 configs[key] = value;
  301.             }
  302.         }
  303.         
  304.         // ±£´æµ½Îļþ
  305.         var success = saveConfigToFile(configs);
  306.         if (success) {
  307.             printl("[H5¡úNative] ÅäÖÃÒѱ£´æµ½Îļþ: " + CONFIG_FILE_PATH);
  308.             LogManagerH5.success("&#128190; ÅäÖÃÒѱ£´æµ½Îļþ");
  309.         }
  310.         return success;
  311.     } catch (e) {
  312.         printl("[´íÎó] ±£´æµ½Îļþʧ°Ü: " + e.message);
  313.         LogManagerH5.error("✗ ±£´æÊ§°Ü: " + e.message);
  314.         return false;
  315.     }
  316. };

  317. printl("✓ H5 ½»»¥·½·¨×¢²áÍê³É");
  318. printl("  - this.setConfig");
  319. printl("  - this.getConfig");
  320. printl("  - this.batchSetConfigs");
  321. printl("  - this.batchGetConfigs");
  322. printl("  - this.exportAllConfigs");
  323. printl("  - this.resetToDefault");
  324. printl("  - this.showToast");
  325. printl("  - this.addNativeLog");
  326. printl("  - this.getConfigFilePath ⭐ ÐÂÔö");
  327. printl("  - this.loadConfigFromFile ⭐ ÐÂÔö");
  328. printl("  - this.saveConfigToFile ⭐ ÐÂÔö");
  329. LogManagerH5.success("✓ Native ÇŽӷ½·¨ÒѾÍÐ÷");

  330. // ============================================
  331. // HID »¬¶¯¹¦ÄÜÑÝʾ
  332. // ============================================
  333. printl("\n=== HID »¬¶¯¹¦ÄÜÑÝʾ ===");

  334. // µÈ´ý H5 Ò³ÃæÍêÈ«¼ÓÔØ
  335. _sleep(2000);

  336. // ÑÝʾ HID »¬¶¯ - ʹÓà hid.swip() ·½·¨
  337. printl("\n&#128070; ÑÝʾ 1: ÏòÏ»¬¶¯£¨²é¿´µ×²¿ÄÚÈÝ£©");
  338. try { toast("&#128070; ÏòÏ»¬¶¯..."); } catch(e) {}
  339. try {
  340.     // hid.swip(x1, y1, x2, y2, press, swipTime, delayUp)
  341.     // x1=540, y1=300 (Æðµã)
  342.     // x2=540, y2=1200 (Öյ㣬ÏòÏÂ)
  343.     // press=50 (°´Ïµȴý50ms)
  344.     // swipTime=800 (»¬¶¯Ê±³¤800ms)
  345.     // delayUp=100 (½áÊøºóÑÓ³Ù100mşÆð)
  346.     hid.swip(540, 300, 540, 1200, 50, 800, 100);
  347.     printl("✅ HID ÏòÏ»¬¶¯Ö´Ðгɹ¦");
  348. } catch(e) {
  349.     printl("❌ HID »¬¶¯Ê§°Ü: " + e.message);
  350. }

  351. _sleep(2500);
  352. printl("\n&#128070; ÑÝʾ 2: ÏòÉÏ»¬¶¯£¨·µ»Ø¶¥²¿£©");
  353. try { toast("&#128070; ÏòÉÏ»¬¶¯..."); } catch(e) {}
  354. try {
  355.     // hid.swip(x1, y1, x2, y2, press, swipTime, delayUp)
  356.     // x1=540, y1=1200 (Æðµã£¬µ×²¿)
  357.     // x2=540, y2=300 (Öյ㣬¶¥²¿£¬ÏòÉÏ)
  358.     hid.swip(540, 1200, 540, 300, 50, 800, 100);
  359.     printl("✅ HID ÏòÉÏ»¬¶¯Ö´Ðгɹ¦");
  360. } catch(e) {
  361.     printl("❌ HID »¬¶¯Ê§°Ü: " + e.message);
  362. }

  363. _sleep(1500);
  364. printl("✓ HID »¬¶¯ÑÝʾÍê³É");

  365. // ============================================
  366. // ÑÝʾ£ºÔ¤ÉèÅäÖÃÊý¾Ý
  367. // ============================================
  368. _sleep(1000);

  369. printl("\n=== Ô¤ÉèÅäÖÃÊý¾Ý ===");
  370. try { toast("⚙️ ¼ÓÔØÄ¬ÈÏÅäÖÃ..."); } catch(e) {}
  371. setConfig("game_name", "ÃλÃÎ÷ÓÎ");
  372. setConfig("task_delay", "2000");
  373. setConfig("max_rounds", "10");
  374. setConfig("enable_combat", "true");
  375. setConfig("auto_heal", "true");

  376. printl("✓ Ô¤ÉèÅäÖÃÍê³É");
  377. LogManagerH5.success("✓ ³õʼÅäÖÃÒѼÓÔØ");
  378. try { toast("✅ ÅäÖüÓÔØÍê³É"); } catch(e) {}

  379. printl("\n=== ÅäÖùÜÀíÆ÷ÒѾÍÐ÷ ===");
  380. printl("✓ H5 ½çÃæ¿ÉÒÔ½øÐпÉÊÓ»¯ÅäÖùÜÀí");
  381. printl("✓ ËùÓÐÅäÖÃ×Ô¶¯±£´æµ½ config ϵͳ");
  382. printl("✓ Ö§³Ö HID »¬¶¯¡¢Toast Ìáʾ¡¢CONFIG ²Ù×÷");
  383. printl("\nÌáʾ£ºÔÚ H5 ½çÃæÖвÙ×÷ÅäÖü´¿Éʵʱͬ²½");

  384. // ============================================
  385. // Toast ÑÝʾ
  386. // ============================================
  387. _sleep(2000);
  388. try { toast("&#127881; »¶Ó­Ê¹Óà AIWROK ÅäÖÃÖÐÐÄ"); } catch(e) {}
  389. _sleep(1500);
  390. try { toast("&#128190; µã»÷°´Å¥±£´æÅäÖÃ"); } catch(e) {}
  391. _sleep(1500);
  392. try { toast("&#128194; µã»÷°´Å¥¼ÓÔØÅäÖÃ"); } catch(e) {}
  393. _sleep(1500);
  394. try { toast("&#128295; ²âÊÔ CONFIG ¹¦ÄÜ"); } catch(e) {}

  395. printl("\n✓ ËùÓÐÑÝʾÍê³É£¬ÏÖÔÚ¿ÉÒÔʹÓà H5 ½çÃæÁË");
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

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

¹Ø±Õ

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

map2

GMT+8, 2026-4-18 00:50 , Processed in 0.183389 second(s), 32 queries .

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