From 8efc3f9b3149cd794d0b83b1ef915ef5c09b8fb1 Mon Sep 17 00:00:00 2001 From: liyuanhu Date: Mon, 12 May 2025 15:28:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=BB=99=E6=97=A5=E5=BF=97=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=E5=BD=93=E5=89=8D=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 16 +++++----- ...install-service-x86_64-pc-windows-msvc.exe | Bin 289792 -> 289792 bytes ...-system-service-x86_64-pc-windows-msvc.exe | Bin 1530880 -> 1530880 bytes ...install-service-x86_64-pc-windows-msvc.exe | Bin 255488 -> 255488 bytes .../components/world-geo.tsx | 12 ++++++-- .../components/world-geo.tsx | 6 ++-- src/pages/new-home/components/world-geo.tsx | 28 ++++++++++++------ 7 files changed, 40 insertions(+), 22 deletions(-) diff --git a/.env b/.env index 4539386..66f23a4 100644 --- a/.env +++ b/.env @@ -1,10 +1,10 @@ IS_DEBUG="true" -GRPC_ENDPOINT="47.82.97.10:9090" -COSMOS_ENDPOINT="http://47.82.97.10:26657" -ACCOUNT_NAME="bchrmll0jvrr" -TRAFFIC_OBFUSCATE="47.82.97.10:8180" -NODE_SECRET= "shell useless annual satisfy comfort bulk beyond own fly puzzle key shock grief depart capable purpose peasant model stamp city gain parent bright auto" -VIET_EVENTS_URL="ws://47.82.97.10:8080/events" -VITE_BASE_URL="http://47.82.97.10:8080" -VITE_BLOCK_URL="http://47.82.97.10:1317" +GRPC_ENDPOINT="10.66.66.230:9090" +COSMOS_ENDPOINT="http://10.66.66.230:26657" +ACCOUNT_NAME="bltrj0xs" +TRAFFIC_OBFUSCATE="10.66.66.230:8180" +NODE_SECRET= "protect curtain print mixed void mammal husband bamboo dinner butter beach off leader frost medal pig deputy orphan indoor wolf buyer emerge pause dog" +VIET_EVENTS_URL="ws://10.66.66.230:8080/events" +VITE_BASE_URL="http://10.66.66.230:8080" +VITE_BLOCK_URL="http://10.66.66.230:1317" NODE_OPTIONS=--max-old-space-size=8192 \ No newline at end of file diff --git a/src-tauri/sidecar/paw-install-service-x86_64-pc-windows-msvc.exe b/src-tauri/sidecar/paw-install-service-x86_64-pc-windows-msvc.exe index bd0cb7e1b7763e6a53a88539e97e7eec7b45de89..5aa17b69b73cc5b8c9d2baec3ab7e3adcb434cf0 100644 GIT binary patch delta 112 zcmZp;A=q$3aKaC!sA-MAT7NON{$kqti+R==tEg#;84N(c1jGhF%=3nsf#(u4NQeO@ u#{*=G0I>~F&IT^G{oGk*Cl-O3mbYz7Tt2(32{v28bDu4IyTT>r2QvY<1|l&4 delta 112 zcmZp;A=q$3aKaBJv%bb(t-lyse=%+S#XRebm06!+1_KZ<0kHuP^SohZ;JL&M5@LYK u@c`K(Kx_k)vw_QPKX;bdiABI^>hXnZm(=@BZ8pnr^{bQEu5gL@!At;;ZXv?} diff --git a/src-tauri/sidecar/paw-system-service-x86_64-pc-windows-msvc.exe b/src-tauri/sidecar/paw-system-service-x86_64-pc-windows-msvc.exe index 4ae03bae90212634d93d828b066b1f33e07a95e0..6806e2570b899961961e249faff977e4987c2615 100644 GIT binary patch delta 193 zcmZqJ5!h&Am#vKP9Ww2Vs0Sj0b*Vt z<^y7WAQk{(K_C{|&c!HfRc{qGO)-N32$+CaABcPA2s8Aw2!n(eU~)V_wg?dK0m|)x t%Wbb~5Efz);QecSATuD)ZKcxN7j4(R_O>r*5e8xrAQs)ephYads~Eds=QfO31_ ta@*?~goRiHR<}G05w1_2K2LN6DE7br1 diff --git a/src-tauri/sidecar/paw-uninstall-service-x86_64-pc-windows-msvc.exe b/src-tauri/sidecar/paw-uninstall-service-x86_64-pc-windows-msvc.exe index e63f583eb1f3ba8743ed39543c15c0be3a4e80c7..10736f963f9dbffd62112c6f6c14394646b5f4f8 100644 GIT binary patch delta 112 zcmZoT!{2a*f5Hc**lCTQT0b$ieq!4CiTP2CRqQmy3t)CcMKQV3n#QZ46%Cb)}g8>MbfY=C#drFuYdXktyLJTlD t9w1u;hz|he4#4HM^TjbYu?U1#y4PszUhgqSC6Q;xE(_u93zC=B diff --git a/src/pages/anti-dark-analysis-network/components/world-geo.tsx b/src/pages/anti-dark-analysis-network/components/world-geo.tsx index 9a5b823..d8e34e4 100644 --- a/src/pages/anti-dark-analysis-network/components/world-geo.tsx +++ b/src/pages/anti-dark-analysis-network/components/world-geo.tsx @@ -6,6 +6,7 @@ import type { EChartsType } from "echarts"; import worldGeoJson from "@/assets/echarts-map/json/world.json"; import { geoCoordMap, countryNameMap, countryCodeMap } from "@/data"; import { getUrl } from "@/lib/utils"; +import dayjs from "dayjs"; interface LinesItemType { name: string; @@ -45,7 +46,9 @@ const CustomTooltipLeft = ({ setIsComplete(false); // 先显示第一条日志 - setVisibleLogs([filteredLogs[0]]); + setVisibleLogs([ + `[${dayjs().format("YYYY-MM-DD HH:mm:ss")}] ${filteredLogs[0]}`, + ]); // 如果只有一条日志,直接设置完成 if (filteredLogs.length === 1) { @@ -58,7 +61,10 @@ const CustomTooltipLeft = ({ const timer = setInterval(() => { if (currentIndex < filteredLogs.length) { - setVisibleLogs((prev) => [...prev, filteredLogs[currentIndex]]); + const curLog = `[${dayjs().format("YYYY-MM-DD HH:mm:ss")}] ${ + filteredLogs[currentIndex] + }`; + setVisibleLogs((prev) => [...prev, curLog]); currentIndex++; // 如果已经是最后一条,设置完成状态 @@ -70,7 +76,7 @@ const CustomTooltipLeft = ({ clearInterval(timer); setIsComplete(true); } - }, 500); + }, 1000); // 清理函数 return () => { diff --git a/src/pages/anti-forensics-forwarding/components/world-geo.tsx b/src/pages/anti-forensics-forwarding/components/world-geo.tsx index 73a7ebc..086f130 100644 --- a/src/pages/anti-forensics-forwarding/components/world-geo.tsx +++ b/src/pages/anti-forensics-forwarding/components/world-geo.tsx @@ -4,6 +4,7 @@ import type { EChartsType } from "echarts"; import worldGeoJson from "@/assets/echarts-map/json/world.json"; import { geoCoordMap, countryNameMap, countryCodeMap } from "@/data"; import { getUrl } from "@/lib/utils"; +import dayjs from "dayjs"; // 连线动画的间隔时间(毫秒) const LINE_ANIMATION_INTERVAL = 500; @@ -44,13 +45,14 @@ const CustomTooltip = ({ // 创建一个定时器,每500毫秒显示一条新日志 const timer = setInterval(() => { if (currentIndex < logs.length) { - setVisibleLogs((prev) => [...prev, logs[currentIndex]]); + const curLog = `[${dayjs().format("YYYY-MM-DD HH:mm:ss")}] ${logs[currentIndex]}`; + setVisibleLogs((prev) => [...prev, curLog]); currentIndex++; } else { clearInterval(timer); setIsComplete(true); } - }, 500); + }, 1000); // 清理函数 return () => { diff --git a/src/pages/new-home/components/world-geo.tsx b/src/pages/new-home/components/world-geo.tsx index b748288..0361f0b 100644 --- a/src/pages/new-home/components/world-geo.tsx +++ b/src/pages/new-home/components/world-geo.tsx @@ -7,6 +7,7 @@ import worldGeoJson from "@/assets/echarts-map/json/world.json"; import { geoCoordMap, countryNameMap, countryCodeMap } from "@/data"; import { getUrl } from "@/lib/utils"; import { CONST_TOOLTIP_TYPE } from "@/pages/anti-forensics-forwarding"; +import dayjs from "dayjs"; interface LinesItemType { name: string; @@ -45,9 +46,10 @@ const CustomTooltip = ({ // 重置状态 setVisibleLogs([]); setIsComplete(false); - // 先显示第一条日志 - setVisibleLogs([filteredLogs[0]]); + setVisibleLogs([ + `[${dayjs().format("YYYY-MM-DD HH:mm:ss")}] ${filteredLogs[0]}`, + ]); // 如果只有一条日志,直接设置完成 if (filteredLogs.length === 1) { @@ -60,7 +62,10 @@ const CustomTooltip = ({ const timer = setInterval(() => { if (currentIndex < filteredLogs.length) { - setVisibleLogs((prev) => [...prev, filteredLogs[currentIndex]]); + const curLog = `[${dayjs().format("YYYY-MM-DD HH:mm:ss")}] ${ + filteredLogs[currentIndex] + }`; + setVisibleLogs((prev: any) => [...prev, curLog]); currentIndex++; // 如果已经是最后一条,设置完成状态 @@ -72,7 +77,8 @@ const CustomTooltip = ({ clearInterval(timer); setIsComplete(true); } - }, 500); + console.log("visibleLogs", visibleLogs); + }, 1000); // 清理函数 return () => { @@ -204,7 +210,9 @@ const CustomTooltipLeft = ({ setIsComplete(false); // 先显示第一条日志 - setVisibleLogs([filteredLogs[0]]); + setVisibleLogs([ + `[${dayjs().format("YYYY-MM-DD HH:mm:ss")}] ${filteredLogs[0]}`, + ]); // 如果只有一条日志,直接设置完成 if (filteredLogs.length === 1) { @@ -217,7 +225,10 @@ const CustomTooltipLeft = ({ const timer = setInterval(() => { if (currentIndex < filteredLogs.length) { - setVisibleLogs((prev) => [...prev, filteredLogs[currentIndex]]); + const curLog = `[${dayjs().format("YYYY-MM-DD HH:mm:ss")}] ${ + filteredLogs[currentIndex] + }`; + setVisibleLogs((prev) => [...prev, curLog]); currentIndex++; // 如果已经是最后一条,设置完成状态 @@ -229,7 +240,7 @@ const CustomTooltipLeft = ({ clearInterval(timer); setIsComplete(true); } - }, 500); + }, 1000); // 清理函数 return () => { @@ -400,14 +411,13 @@ export const WorldGeo = memo( dataInfo.passAuthentication, ...dataInfo.trafficObfuscation, ...dataInfo.nestedEncryption, - ...dataInfo.dynamicRouteGeneration, + ...(dataInfo?.dynamicRouteGeneration || []), ]; // 使用新的数据结构 const proxiesList = selectedApp && selectedApp ? [...newList, selectedApp] : newList ?? []; // 初始化数据数组 - 不再包含 startCountry const data: any = []; - console.log(proxiesList, "proxiesList"); // 遍历代理列表 proxiesList.forEach((proxyItem: any) => { // 检查是否有数据数组