Skip to content

Commit 2944399

Browse files
committed
feat: 细致规范化订阅流量信息
1 parent c273174 commit 2944399

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sub-store",
3-
"version": "2.20.72",
3+
"version": "2.20.73",
44
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket.",
55
"main": "src/main.js",
66
"scripts": {

backend/src/utils/flow.js

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -343,17 +343,31 @@ export function normalizeFlowHeader(flowHeaders, splitHeaders) {
343343
// 解码 URI 组件并保留原始值作为 fallback
344344
let decodedValue = decodeURIComponent(encodedValue);
345345
if (
346-
['upload', 'download', 'total', 'expire'].includes(
347-
key,
348-
)
346+
[
347+
'upload',
348+
'download',
349+
'total',
350+
'expire',
351+
'reset_day',
352+
].includes(key)
349353
) {
350354
try {
351-
decodedValue = Number(decodedValue).toFixed(0);
355+
decodedValue = Number(decodedValue);
352356
if (
353-
['expire'].includes(key) &&
354-
decodedValue <= 0
357+
['expire', 'reset_day'].includes(key) &&
358+
(decodedValue <= 0 ||
359+
!Number.isFinite(decodedValue))
355360
) {
356361
decodedValue = '';
362+
} else if (
363+
['upload', 'download', 'total'].includes(
364+
key,
365+
) &&
366+
!Number.isFinite(decodedValue) // 有些机场后端会下发负数
367+
) {
368+
decodedValue = 0;
369+
} else {
370+
decodedValue = decodedValue.toFixed(0);
357371
}
358372
} catch (e) {
359373
$.error(

0 commit comments

Comments
 (0)