From ad256abb7ca69cb8cc955c87940fe7224e2cb9ef Mon Sep 17 00:00:00 2001 From: 87owo <85057800+87owo@users.noreply.github.com> Date: Mon, 1 Jun 2026 13:59:39 +0800 Subject: [PATCH] Add files via upload --- Interface/static/js/i18n.js | 35 +++++++++++++++++++++++------------ Interface/static/js/main.js | 26 +++++++++++++++++++------- 2 files changed, 42 insertions(+), 19 deletions(-) diff --git a/Interface/static/js/i18n.js b/Interface/static/js/i18n.js index f6dde3e..c1ef2ad 100644 --- a/Interface/static/js/i18n.js +++ b/Interface/static/js/i18n.js @@ -156,7 +156,8 @@ window.AppI18n = { "col_up_speed": "上傳速度", "col_conn_count": "連接數", "btn_extract_item": "提取項目", - "msg_extract_success": "成功提取選取項目" + "msg_extract_success": "成功提取選取項目", + "msg_key_activated": "產品金鑰已啟用" }, "simplified_switch": { "app_name": "PYAS Security", @@ -314,7 +315,8 @@ window.AppI18n = { "col_up_speed": "上传速度", "col_conn_count": "连接数", "btn_extract_item": "提取项目", - "msg_extract_success": "成功提取选取项目" + "msg_extract_success": "成功提取选取项目", + "msg_key_activated": "产品密钥已启用" }, "english_switch": { "app_name": "PYAS Security", @@ -472,7 +474,8 @@ window.AppI18n = { "col_up_speed": "Upload Speed", "col_conn_count": "Connections", "btn_extract_item": "Extract Item", - "msg_extract_success": "Successfully extracted selected items" + "msg_extract_success": "Successfully extracted selected items", + "msg_key_activated": "Product key activated" }, "japanese_switch": { "app_name": "PYAS Security", @@ -630,7 +633,8 @@ window.AppI18n = { "col_up_speed": "アップロード速度", "col_conn_count": "接続数", "btn_extract_item": "アイテムを抽出", - "msg_extract_success": "選択したアイテムを正常に抽出しました" + "msg_extract_success": "選択したアイテムを正常に抽出しました", + "msg_key_activated": "プロダクトキーが有効化されました" }, "korean_switch": { "app_name": "PYAS Security", @@ -788,7 +792,8 @@ window.AppI18n = { "col_up_speed": "업로드 속도", "col_conn_count": "연결 수", "btn_extract_item": "항목 추출", - "msg_extract_success": "선택한 항목을 성공적으로 추출했습니다" + "msg_extract_success": "선택한 항목을 성공적으로 추출했습니다", + "msg_key_activated": "제품 키가 활성화되었습니다" }, "french_switch": { "app_name": "PYAS Security", @@ -946,7 +951,8 @@ window.AppI18n = { "col_up_speed": "Vitesse de téléversement", "col_conn_count": "Connexions", "btn_extract_item": "Extraire l'élément", - "msg_extract_success": "Éléments sélectionnés extraits avec succès" + "msg_extract_success": "Éléments sélectionnés extraits avec succès", + "msg_key_activated": "Clé de produit activée" }, "spanish_switch": { "app_name": "PYAS Security", @@ -954,7 +960,7 @@ window.AppI18n = { "scan_smart": "Escaneo inteligente", "scan_smart_desc": "Escanear rápidamente la seguridad del dispositivo", "log_export": "Exportar registros", - "log_export_desc": "Filtrar registros y exportar a un archivo", + "log_export_desc": "Filtrer registros y exportar a un archivo", "scan_virus": "Escaneo de virus", "scan_virus_desc": "Seleccione un método de escaneo avanzado", "btn_delete": "Eliminar", @@ -1104,7 +1110,8 @@ window.AppI18n = { "col_up_speed": "Velocidad de subida", "col_conn_count": "Conexiones", "btn_extract_item": "Extraer elemento", - "msg_extract_success": "Elementos seleccionados extraídos con éxito" + "msg_extract_success": "Elementos seleccionados extraídos con éxito", + "msg_key_activated": "Clave de producto activada" }, "hindi_switch": { "app_name": "PYAS Security", @@ -1262,7 +1269,8 @@ window.AppI18n = { "col_up_speed": "अपलोड गति", "col_conn_count": "कनेक्शन", "btn_extract_item": "आइटम निकालें", - "msg_extract_success": "चयनित आइटम सफलतापूर्वक निकाले गए" + "msg_extract_success": "चयनित आइटम सफलतापूर्वक निकाले गए", + "msg_key_activated": "उत्पाद कुंजी सक्रिय हो गई" }, "arabic_switch": { "app_name": "PYAS Security", @@ -1420,7 +1428,8 @@ window.AppI18n = { "col_up_speed": "سرعة الرفع", "col_conn_count": "الاتصالات", "btn_extract_item": "استخراج العنصر", - "msg_extract_success": "تم استخراج العناصر المحددة بنجاح" + "msg_extract_success": "تم استخراج العناصر المحددة بنجاح", + "msg_key_activated": "تم تنشيط مفتاح المنتج" }, "russian_switch": { "app_name": "PYAS Security", @@ -1578,7 +1587,8 @@ window.AppI18n = { "col_up_speed": "Скорость загрузки", "col_conn_count": "Соединения", "btn_extract_item": "Извлечь элемент", - "msg_extract_success": "Выбранные элементы успешно извлечены" + "msg_extract_success": "Выбранные элементы успешно извлечены", + "msg_key_activated": "Ключ продукта активирован" }, "slovenian_switch": { "app_name": "PYAS Security", @@ -1736,7 +1746,8 @@ window.AppI18n = { "col_up_speed": "Hitrost nalaganja", "col_conn_count": "Povezave", "btn_extract_item": "Izvleči element", - "msg_extract_success": "Izbrani elementi so bili uspešno izvlečeni" + "msg_extract_success": "Izbrani elementi so bili uspešno izvlečeni", + "msg_key_activated": "Ključ izdelka je aktiviran" } }, langMap: { diff --git a/Interface/static/js/main.js b/Interface/static/js/main.js index 4009fe9..dc98125 100644 --- a/Interface/static/js/main.js +++ b/Interface/static/js/main.js @@ -516,10 +516,10 @@ document.addEventListener('DOMContentLoaded', () => { window.pywebview.api.get_process_list().then(procs => { const mapped = procs.map(p => ({ name: p.name, pid: p.pid, path: (p.path && p.path !== "None" && p.path !== "Unknown") ? p.path : "path_unknown" })); renderDataGrid('#taskmgr_window', mapped, cols.process, 'pid', false); - if (appState.taskmgrActive) appState.taskmgrTimer = setTimeout(fetchProcs, 2000); - }).catch(() => { if (appState.taskmgrActive) appState.taskmgrTimer = setTimeout(fetchProcs, 2000); }); + if (appState.taskmgrActive) appState.taskmgrTimer = setTimeout(fetchProcs, 1000); + }).catch(() => { if (appState.taskmgrActive) appState.taskmgrTimer = setTimeout(fetchProcs, 1000); }); } else { - if (appState.taskmgrActive) appState.taskmgrTimer = setTimeout(fetchProcs, 2000); + if (appState.taskmgrActive) appState.taskmgrTimer = setTimeout(fetchProcs, 1000); } }; @@ -541,10 +541,10 @@ document.addEventListener('DOMContentLoaded', () => { path: (item.path && item.path !== "None" && item.path !== "Unknown") ? item.path : "path_unknown" })); renderDataGrid('#netmon_window', mapped, cols.netmon, 'pid', false); - if (appState.netmonActive) appState.netmonTimer = setTimeout(fetchNetmon, 2000); - }).catch(() => { if (appState.netmonActive) appState.netmonTimer = setTimeout(fetchNetmon, 2000); }); + if (appState.netmonActive) appState.netmonTimer = setTimeout(fetchNetmon, 1000); + }).catch(() => { if (appState.netmonActive) appState.netmonTimer = setTimeout(fetchNetmon, 1000); }); } else { - if (appState.netmonActive) appState.netmonTimer = setTimeout(fetchNetmon, 2000); + if (appState.netmonActive) appState.netmonTimer = setTimeout(fetchNetmon, 1000); } }; @@ -1010,7 +1010,18 @@ document.addEventListener('DOMContentLoaded', () => { } }; + bindSettingAction('key_product', async () => { + if (!window.pywebview) return; + try { + const cfg = await window.pywebview.api.get_config(); + if (cfg && cfg.api_key && cfg.api_key.trim() !== "") { + window.pywebview.api.show_alert(getMsg("title_prompt"), getMsg("msg_key_activated"), "info"); + } + } catch (e) {} + }); + bindSettingAction('web_official', () => window.pywebview?.api.open_website()); + bindSettingAction('update_check', () => { window.pywebview?.api.check_update().then(res => { if (res.error) window.pywebview.api.show_alert(getMsg("title_error"), getMsg("msg_update_fail"), "error"); @@ -1018,6 +1029,7 @@ document.addEventListener('DOMContentLoaded', () => { else window.pywebview.api.show_alert(getMsg("title_prompt"), `${getMsg("msg_latest_version")} ${res.current}`, "info"); }); }); + bindSettingAction('opt_reset', () => { window.pywebview?.api.show_confirm(getMsg("title_prompt"), getMsg("opt_reset_desc")).then(res => { if (res) window.pywebview.api.reset_config().then(() => window.pywebview.api.show_alert(getMsg("title_prompt"), getMsg("msg_reset_success"), "info")); @@ -1081,7 +1093,7 @@ document.addEventListener('DOMContentLoaded', () => { if (res !== undefined && res !== null) toggle.checked = res; } catch { toggle.checked = false; } finally { toggle.disabled = false; } - await new Promise(r => setTimeout(r, 200)); + await new Promise(r => setTimeout(r, 100)); } } }