feat: 限速状态可视化 - 订阅详情 Sheet 顶部展示实时限速状态

- typings.d.ts 新增 UserSubscribeDetail.effective_speed/is_throttled/throttle_rule 字段
- SubscriptionDetail Sheet 打开时拉取订阅详情,顶部展示 SpeedLimitCard
- 被降速时显示警告样式 + 实际速率 + 划掉原始速率 + 触发规则说明

Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
2026-03-28 08:32:05 -07:00
parent 785c832e02
commit e6c2370d02
7 changed files with 97 additions and 22 deletions
+12 -9
View File
@@ -456,7 +456,7 @@ declare namespace API {
};
type DeleteUserSubscribeRequest = {
user_subscribe_id: string;
user_subscribe_id: number;
};
type DeviceAuthticateConfig = {
@@ -1850,11 +1850,11 @@ declare namespace API {
};
type ResetUserSubscribeTokenRequest = {
user_subscribe_id: any;
user_subscribe_id: number;
};
type ResetUserSubscribeTrafficRequest = {
user_subscribe_id: string;
user_subscribe_id: number;
};
type Response = {
@@ -2177,7 +2177,7 @@ declare namespace API {
};
type ToggleUserSubscribeStatusRequest = {
user_subscribe_id: any;
user_subscribe_id: number;
};
type TosConfig = {
@@ -2406,7 +2406,7 @@ declare namespace API {
};
type UpdateUserSubscribeRequest = {
user_subscribe_id: string;
user_subscribe_id: number;
subscribe_id: number;
traffic: number;
expired_at: number;
@@ -2431,7 +2431,7 @@ declare namespace API {
enable_login_notify: boolean;
enable_subscribe_notify: boolean;
enable_trade_notify: boolean;
user_group_id: string;
user_group_id: number;
group_locked: boolean;
auth_methods: UserAuthMethod[];
user_devices: UserDevice[];
@@ -2523,6 +2523,9 @@ declare namespace API {
upload: number;
token: string;
status: number;
effective_speed: number;
is_throttled: boolean;
throttle_rule?: string;
created_at: number;
updated_at: number;
};
@@ -2824,7 +2827,7 @@ declare namespace API {
type SubscribeGroupMapping = {
subscribe_id: number;
user_group_id: string;
user_group_id: number;
created_at: number;
updated_at: number;
};
@@ -2856,8 +2859,8 @@ declare namespace API {
type GroupHistoryDetailItem = {
id: number;
history_id: number;
user_group_id: string;
node_group_id: string;
user_group_id: number;
node_group_id: number;
user_count: number;
node_count: number;
user_data?: string;