From 4ce6b8ddc14a5fa6b0ddff1d1245612736bd7e66 Mon Sep 17 00:00:00 2001
From: sexygoat <1538832180@qq.com>
Date: Tue, 14 Apr 2026 11:11:24 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B5=84=E4=BA=A7=E5=A5=97=E9=A4=90?=
=?UTF-8?q?=E5=8E=86=E5=8F=B2,=E8=AE=BE=E5=A4=87=E6=8D=A2=E8=B4=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../asset-package-history.vue | 67 ++++++++++++++++---
pages/auth/auth.vue | 31 ++++++---
pages/device-exchange/device-exchange.vue | 32 ++++-----
pages/switch/switch.vue | 48 ++++++++-----
4 files changed, 129 insertions(+), 49 deletions(-)
diff --git a/pages/asset-package-history/asset-package-history.vue b/pages/asset-package-history/asset-package-history.vue
index 36418c5..ee4a617 100644
--- a/pages/asset-package-history/asset-package-history.vue
+++ b/pages/asset-package-history/asset-package-history.vue
@@ -47,16 +47,16 @@
流量信息
- 已用真流量
- {{ formatMB(item.data_usage_mb) }}
+ 已使用
+ {{ getUsedFlow(item) }}
- 总量真流量
- {{ formatMB(item.data_limit_mb) }}
+ 总流量
+ {{ getTotalFlow(item) }}
- 剩余虚流量
- {{ formatMB(item.virtual_remain_mb) }}
+ 剩余
+ {{ getRemainFlow(item) }}
@@ -101,16 +101,63 @@
};
const formatMB = (mb) => {
- if (!mb) return '0';
+ if (!mb && mb !== 0) return '0 MB';
if (mb >= 1024) {
return (mb / 1024).toFixed(2) + ' GB';
}
- return mb + ' MB';
+ return mb.toFixed(2) + ' MB';
};
+ // 获取已使用流量
+ const getUsedFlow = (item) => {
+ if (item.enable_virtual_data) {
+ // 启用虚流量,显示已用虚流量
+ return formatMB(item.virtual_used_mb || 0);
+ } else {
+ // 未启用虚流量,显示已用真流量
+ return formatMB(item.data_usage_mb || 0);
+ }
+ };
+
+ // 获取总流量
+ const getTotalFlow = (item) => {
+ if (item.enable_virtual_data) {
+ // 启用虚流量,显示虚流量总量
+ return formatMB(item.virtual_limit_mb || 0);
+ } else {
+ // 未启用虚流量,显示真流量总量
+ return formatMB(item.data_limit_mb || 0);
+ }
+ };
+
+ // 获取剩余流量
+ const getRemainFlow = (item) => {
+ if (item.enable_virtual_data) {
+ // 启用虚流量,显示剩余虚流量
+ return formatMB(item.virtual_remain_mb || 0);
+ } else {
+ // 未启用虚流量,计算剩余真流量
+ const remain = (item.data_limit_mb || 0) - (item.data_usage_mb || 0);
+ return formatMB(remain);
+ }
+ };
+
+ // 获取使用百分比
const getUsagePercent = (item) => {
- if (!item.data_limit_mb) return 0;
- return Math.min((item.data_usage_mb / item.data_limit_mb) * 100, 100).toFixed(2);
+ let used, total;
+
+ if (item.enable_virtual_data) {
+ // 启用虚流量
+ used = item.virtual_used_mb || 0;
+ total = item.virtual_limit_mb || 0;
+ } else {
+ // 未启用虚流量
+ used = item.data_usage_mb || 0;
+ total = item.data_limit_mb || 0;
+ }
+
+ if (!total) return 0;
+ return Math.min((used / total) * 100, 100).toFixed(2);
};
const formatDate = (dateStr) => {
diff --git a/pages/auth/auth.vue b/pages/auth/auth.vue
index 3cfe637..95893d1 100644
--- a/pages/auth/auth.vue
+++ b/pages/auth/auth.vue
@@ -32,7 +32,7 @@