消化一批 P3:GEOIP 附加参数、坏 JSON 跳行、兜底丢弃;请求连接两页保活

ini 里 []GEOIP,CN,no-resolve 的附加参数原来被并进类别名,生成字段错位
的规则;现在拆出来放在目标之后。表里已有 MATCH 时配方的 []FINAL 不再
追加成死行,改为丢弃并在成功提示里注明——已有兜底是用户自己安排的
分流终点。

遥测流里偶发的坏 JSON 行改为跳过,原来一行坏数据会杀掉整个流进 5 秒
重试循环。请求页:跟随底部的阈值从 24px 降到 8px(原值比行高还大,
向上滚不足一行就被新日志拽回);silent 级别下的空状态不再说「没有流量
经过」。logs.test 的 localStorage 桩用完删掉,bun test 单进程跑,全局
残留会影响之后的测试文件。api.ts 的 format 注释照 provider.go:37 纠正。

请求页和连接页包进 KeepAlive:切走不销毁,筛选词、排序、滚动位置留住。
KeepAlive 常驻、子组件自己 v-if 进出;连接页的轮询改挂 activated——
挂载时它也触发,继续用 onMounted 会叠两个定时器,切走时停掉轮询。
This commit is contained in:
2026-08-12 03:07:56 +08:00
parent 275f536429
commit 158dc9fca7
9 changed files with 85 additions and 26 deletions
+8 -2
View File
@@ -6,7 +6,7 @@
* 显示层的问题(主机名怎么摆、出站链按什么方向、持续时间多长)都在 shared/connections.ts
* 里回答,这里只管取数、状态和断开动作。
*/
import { computed, onMounted, onUnmounted, ref } from 'vue'
import { computed, onActivated, onDeactivated, onUnmounted, ref } from 'vue'
import { useVirtualizer } from '@tanstack/vue-virtual'
import {
chainLabel,
@@ -62,11 +62,17 @@ async function refresh() {
}
}
onMounted(() => {
// 组件包在 KeepAlive 里:首次挂载和每次切回都走 activated(挂载时它也会触发,
// 不能再用 onMounted 起轮询,否则会叠两个定时器),切走时停掉轮询不白打后端
onActivated(() => {
void refresh()
timer = window.setInterval(() => void refresh(), 1000)
})
onDeactivated(() => {
window.clearInterval(timer)
})
onUnmounted(() => {
window.clearInterval(timer)
})