fix(client): 设备列表离线时间改用 last_seen「最后在线」(原 last_login 不准)
设备列表对离线设备显示「最后登录 X 前」,取的是 last_login(会话创建那一刻)。一直在线 的设备断开后会错显成登录时间(如 13 小时前),与实际「最后活跃」不符。改用 last_seen (连接/用量上报/~15s 会话轮询都会刷新),标签相应改为「最后在线」/「Last online」。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -98,7 +98,7 @@ abstract class AppText {
|
||||
// 设备管理(P6):在线状态 / 操作 / 危险确认
|
||||
String get devOnline;
|
||||
String get devOffline;
|
||||
String get devLastLogin; // 「最后登录」前缀
|
||||
String get devLastOnline; // 「最后在线」前缀(离线设备,取 last_seen)
|
||||
String get devNeverLogin;
|
||||
String get devForceLogout;
|
||||
String get devClearLogin;
|
||||
|
||||
@@ -142,7 +142,7 @@ class StringsEn extends AppText {
|
||||
@override
|
||||
String get devOffline => 'Offline';
|
||||
@override
|
||||
String get devLastLogin => 'Last login';
|
||||
String get devLastOnline => 'Last online';
|
||||
@override
|
||||
String get devNeverLogin => 'Never logged in';
|
||||
@override
|
||||
|
||||
@@ -141,7 +141,7 @@ class StringsZh extends AppText {
|
||||
@override
|
||||
String get devOffline => '离线';
|
||||
@override
|
||||
String get devLastLogin => '最后登录';
|
||||
String get devLastOnline => '最后在线';
|
||||
@override
|
||||
String get devNeverLogin => '从未登录';
|
||||
@override
|
||||
|
||||
@@ -185,7 +185,9 @@ class DevicesScreen extends ConsumerWidget {
|
||||
final name = d.name.isNotEmpty ? d.name : d.platformKind.label;
|
||||
final subParts = <String>[d.platformKind.label];
|
||||
if (d.clientVersion.isNotEmpty) subParts.add(d.clientVersion);
|
||||
if (!d.online) subParts.add('${t.devLastLogin} ${_rel(d.lastLogin)}');
|
||||
// 离线设备显示「最后在线」——用 last_seen(连接/用量/~15s 会话轮询都会刷新),
|
||||
// 而非 last_login(仅登录那一刻);否则一直在线的设备会错显成登录时间(如 13 小时前)。
|
||||
if (!d.online) subParts.add('${t.devLastOnline} ${_rel(d.lastSeen)}');
|
||||
|
||||
return Container(
|
||||
decoration: BoxDecoration(border: divider ? Border(bottom: BorderSide(color: c.border)) : null),
|
||||
|
||||
Reference in New Issue
Block a user