feat(client): 被强制下线时弹对话框告知原因再登出
会话轮询检测到 active=false → 先弹「此设备已被强制下线/需重新登录」对话框(沿用现有
AlertDialog 样式:surface 底/xl 圆角/accent 按钮),用户确认后再 logout 跳登录页,
不再默默跳走。_forcedLogoutHandling 防重复弹。新增 l10n sessionRevoked{Title,Body,Ok}。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -108,6 +108,10 @@ abstract class AppText {
|
||||
String get devForceLogoutConfirm; // 弹窗正文(含设备名占位 %s)
|
||||
String get devClearLoginConfirm;
|
||||
String get devCancel;
|
||||
// 本设备被其他设备强制下线时的提示框。
|
||||
String get sessionRevokedTitle;
|
||||
String get sessionRevokedBody;
|
||||
String get sessionRevokedOk;
|
||||
String get redeemEntry;
|
||||
String get contactEntry;
|
||||
String get signOut;
|
||||
|
||||
@@ -162,6 +162,12 @@ class StringsEn extends AppText {
|
||||
@override
|
||||
String get devCancel => 'Cancel';
|
||||
@override
|
||||
String get sessionRevokedTitle => 'This device was signed out';
|
||||
@override
|
||||
String get sessionRevokedBody => 'Your account signed this device out from another device. Please sign in again.';
|
||||
@override
|
||||
String get sessionRevokedOk => 'Sign in again';
|
||||
@override
|
||||
String get redeemEntry => 'Redeem & buy';
|
||||
@override
|
||||
String get contactEntry => 'Contact us';
|
||||
|
||||
@@ -161,6 +161,12 @@ class StringsZh extends AppText {
|
||||
@override
|
||||
String get devCancel => '取消';
|
||||
@override
|
||||
String get sessionRevokedTitle => '此设备已被强制下线';
|
||||
@override
|
||||
String get sessionRevokedBody => '你的账号在其他设备上将此设备强制退出,需要重新登录。';
|
||||
@override
|
||||
String get sessionRevokedOk => '重新登录';
|
||||
@override
|
||||
String get redeemEntry => '兑换 & 购买';
|
||||
@override
|
||||
String get contactEntry => '联系我们';
|
||||
|
||||
Reference in New Issue
Block a user