feat: 添加账号删除功能

This commit is contained in:
qzl
2026-04-10 10:40:44 +08:00
parent 17a1303f00
commit 46513829cd
30 changed files with 1510 additions and 664 deletions
+21
View File
@@ -82,6 +82,7 @@
"settingsSectionAccount": "Account",
"settingsSectionPrivacy": "Privacy",
"settingsSectionNotification": "Notification Settings",
"settingsAccountAndDataTitle": "Account Data",
"settingsInterfaceLanguage": "Interface Language",
"settingsAiLanguage": "AI Response Language",
"settingsNotificationAllow": "Allow Notifications",
@@ -141,6 +142,25 @@
"settingsLogoutSubtitle": "Sign out from the current account",
"settingsLogoutDialogTitle": "Confirm logout?",
"settingsLogoutDialogBody": "You will need to sign in again to continue with this account.",
"settingsDeleteAccountTitle": "Delete Account",
"settingsDeleteAccountSubtitle": "Permanently delete your account and personal data",
"settingsDeleteAccountWarningTitle": "Please confirm before deleting",
"settingsDeleteAccountWarningBody": "After deletion, related data including profile, history, and points will be permanently removed and cannot be restored.",
"settingsDeleteAccountScopeProfile": "Profile and account information will be deleted",
"settingsDeleteAccountScopeHistory": "Divination history records will be deleted",
"settingsDeleteAccountScopePoints": "Points account and ledger records will be deleted",
"settingsDeleteAccountDialogTitle": "Permanently delete this account?",
"settingsDeleteAccountDialogBody": "This action cannot be undone. Deletion will start immediately after confirmation.",
"settingsDeleteAccountAction": "Delete Account",
"settingsDeleteAccountProcessing": "Deleting...",
"settingsDeleteAccountWaitAction": "Wait {seconds}s before confirming deletion",
"@settingsDeleteAccountWaitAction": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"settingsCancel": "Cancel",
"settingsLogoutConfirmHint": "Tap again to confirm logout",
"settingsLogoutConfirmAction": "Tap again to logout",
@@ -202,6 +222,7 @@
"errorServiceUnavailable": "Service unavailable, please try again later",
"errorServerGeneric": "Server error, please try again later",
"errorRequestGeneric": "Request failed, please try again",
"errorProfileDeleteFailed": "Failed to delete account, please try again",
"errorRunLimitExceeded": "Run limit reached in this session. Please start a new divination.",
"errorDivinationPayloadRequired": "Missing divination payload. Please cast again.",
"divinationScreenTitle": "Cast Hexagram",
+84
View File
@@ -506,6 +506,12 @@ abstract class AppLocalizations {
/// **'通知设置'**
String get settingsSectionNotification;
/// No description provided for @settingsAccountAndDataTitle.
///
/// In zh, this message translates to:
/// **'账号数据'**
String get settingsAccountAndDataTitle;
/// No description provided for @settingsInterfaceLanguage.
///
/// In zh, this message translates to:
@@ -728,6 +734,78 @@ abstract class AppLocalizations {
/// **'退出后需要重新登录才能继续使用当前账户。'**
String get settingsLogoutDialogBody;
/// No description provided for @settingsDeleteAccountTitle.
///
/// In zh, this message translates to:
/// **'删除账号'**
String get settingsDeleteAccountTitle;
/// No description provided for @settingsDeleteAccountSubtitle.
///
/// In zh, this message translates to:
/// **'永久删除账号及相关个人数据'**
String get settingsDeleteAccountSubtitle;
/// No description provided for @settingsDeleteAccountWarningTitle.
///
/// In zh, this message translates to:
/// **'删除前请确认'**
String get settingsDeleteAccountWarningTitle;
/// No description provided for @settingsDeleteAccountWarningBody.
///
/// In zh, this message translates to:
/// **'删除账号后,个人资料、历史记录、点数信息等相关数据将被永久删除,且不可恢复。'**
String get settingsDeleteAccountWarningBody;
/// No description provided for @settingsDeleteAccountScopeProfile.
///
/// In zh, this message translates to:
/// **'个人资料和账号信息会被删除'**
String get settingsDeleteAccountScopeProfile;
/// No description provided for @settingsDeleteAccountScopeHistory.
///
/// In zh, this message translates to:
/// **'历史解卦记录会被删除'**
String get settingsDeleteAccountScopeHistory;
/// No description provided for @settingsDeleteAccountScopePoints.
///
/// In zh, this message translates to:
/// **'点数账户与流水记录会被删除'**
String get settingsDeleteAccountScopePoints;
/// No description provided for @settingsDeleteAccountDialogTitle.
///
/// In zh, this message translates to:
/// **'确认永久删除账号?'**
String get settingsDeleteAccountDialogTitle;
/// No description provided for @settingsDeleteAccountDialogBody.
///
/// In zh, this message translates to:
/// **'此操作无法撤销。确认后将立即发起删除。'**
String get settingsDeleteAccountDialogBody;
/// No description provided for @settingsDeleteAccountAction.
///
/// In zh, this message translates to:
/// **'确认删除账号'**
String get settingsDeleteAccountAction;
/// No description provided for @settingsDeleteAccountProcessing.
///
/// In zh, this message translates to:
/// **'正在删除...'**
String get settingsDeleteAccountProcessing;
/// No description provided for @settingsDeleteAccountWaitAction.
///
/// In zh, this message translates to:
/// **'请等待 {seconds} 秒后确认删除'**
String settingsDeleteAccountWaitAction(int seconds);
/// No description provided for @settingsCancel.
///
/// In zh, this message translates to:
@@ -1010,6 +1088,12 @@ abstract class AppLocalizations {
/// **'请求失败,请稍后重试'**
String get errorRequestGeneric;
/// No description provided for @errorProfileDeleteFailed.
///
/// In zh, this message translates to:
/// **'删除账号失败,请稍后重试'**
String get errorProfileDeleteFailed;
/// No description provided for @errorRunLimitExceeded.
///
/// In zh, this message translates to:
+53
View File
@@ -222,6 +222,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get settingsSectionNotification => 'Notification Settings';
@override
String get settingsAccountAndDataTitle => 'Account Data';
@override
String get settingsInterfaceLanguage => 'Interface Language';
@@ -349,6 +352,52 @@ class AppLocalizationsEn extends AppLocalizations {
String get settingsLogoutDialogBody =>
'You will need to sign in again to continue with this account.';
@override
String get settingsDeleteAccountTitle => 'Delete Account';
@override
String get settingsDeleteAccountSubtitle =>
'Permanently delete your account and personal data';
@override
String get settingsDeleteAccountWarningTitle =>
'Please confirm before deleting';
@override
String get settingsDeleteAccountWarningBody =>
'After deletion, related data including profile, history, and points will be permanently removed and cannot be restored.';
@override
String get settingsDeleteAccountScopeProfile =>
'Profile and account information will be deleted';
@override
String get settingsDeleteAccountScopeHistory =>
'Divination history records will be deleted';
@override
String get settingsDeleteAccountScopePoints =>
'Points account and ledger records will be deleted';
@override
String get settingsDeleteAccountDialogTitle =>
'Permanently delete this account?';
@override
String get settingsDeleteAccountDialogBody =>
'This action cannot be undone. Deletion will start immediately after confirmation.';
@override
String get settingsDeleteAccountAction => 'Delete Account';
@override
String get settingsDeleteAccountProcessing => 'Deleting...';
@override
String settingsDeleteAccountWaitAction(int seconds) {
return 'Wait ${seconds}s before confirming deletion';
}
@override
String get settingsCancel => 'Cancel';
@@ -501,6 +550,10 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get errorRequestGeneric => 'Request failed, please try again';
@override
String get errorProfileDeleteFailed =>
'Failed to delete account, please try again';
@override
String get errorRunLimitExceeded =>
'Run limit reached in this session. Please start a new divination.';
+45
View File
@@ -220,6 +220,9 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get settingsSectionNotification => '通知设置';
@override
String get settingsAccountAndDataTitle => '账号数据';
@override
String get settingsInterfaceLanguage => '界面语言';
@@ -343,6 +346,45 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get settingsLogoutDialogBody => '退出后需要重新登录才能继续使用当前账户。';
@override
String get settingsDeleteAccountTitle => '删除账号';
@override
String get settingsDeleteAccountSubtitle => '永久删除账号及相关个人数据';
@override
String get settingsDeleteAccountWarningTitle => '删除前请确认';
@override
String get settingsDeleteAccountWarningBody =>
'删除账号后,个人资料、历史记录、点数信息等相关数据将被永久删除,且不可恢复。';
@override
String get settingsDeleteAccountScopeProfile => '个人资料和账号信息会被删除';
@override
String get settingsDeleteAccountScopeHistory => '历史解卦记录会被删除';
@override
String get settingsDeleteAccountScopePoints => '点数账户与流水记录会被删除';
@override
String get settingsDeleteAccountDialogTitle => '确认永久删除账号?';
@override
String get settingsDeleteAccountDialogBody => '此操作无法撤销。确认后将立即发起删除。';
@override
String get settingsDeleteAccountAction => '确认删除账号';
@override
String get settingsDeleteAccountProcessing => '正在删除...';
@override
String settingsDeleteAccountWaitAction(int seconds) {
return '请等待 $seconds 秒后确认删除';
}
@override
String get settingsCancel => '取消';
@@ -491,6 +533,9 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get errorRequestGeneric => '请求失败,请稍后重试';
@override
String get errorProfileDeleteFailed => '删除账号失败,请稍后重试';
@override
String get errorRunLimitExceeded => '本次会话追问次数已达上限,请新起一卦';
+21
View File
@@ -82,6 +82,7 @@
"settingsSectionAccount": "账户操作",
"settingsSectionPrivacy": "隐私设置",
"settingsSectionNotification": "通知设置",
"settingsAccountAndDataTitle": "账号数据",
"settingsInterfaceLanguage": "界面语言",
"settingsAiLanguage": "AI回复语言",
"settingsNotificationAllow": "允许通知",
@@ -141,6 +142,25 @@
"settingsLogoutSubtitle": "退出当前登录账户",
"settingsLogoutDialogTitle": "确认退出登录?",
"settingsLogoutDialogBody": "退出后需要重新登录才能继续使用当前账户。",
"settingsDeleteAccountTitle": "删除账号",
"settingsDeleteAccountSubtitle": "永久删除账号及相关个人数据",
"settingsDeleteAccountWarningTitle": "删除前请确认",
"settingsDeleteAccountWarningBody": "删除账号后,个人资料、历史记录、点数信息等相关数据将被永久删除,且不可恢复。",
"settingsDeleteAccountScopeProfile": "个人资料和账号信息会被删除",
"settingsDeleteAccountScopeHistory": "历史解卦记录会被删除",
"settingsDeleteAccountScopePoints": "点数账户与流水记录会被删除",
"settingsDeleteAccountDialogTitle": "确认永久删除账号?",
"settingsDeleteAccountDialogBody": "此操作无法撤销。确认后将立即发起删除。",
"settingsDeleteAccountAction": "确认删除账号",
"settingsDeleteAccountProcessing": "正在删除...",
"settingsDeleteAccountWaitAction": "请等待 {seconds} 秒后确认删除",
"@settingsDeleteAccountWaitAction": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"settingsCancel": "取消",
"settingsLogoutConfirmHint": "再次点击确认退出登录",
"settingsLogoutConfirmAction": "再次点击确认退出",
@@ -202,6 +222,7 @@
"errorServiceUnavailable": "服务暂时不可用,请稍后重试",
"errorServerGeneric": "服务异常,请稍后重试",
"errorRequestGeneric": "请求失败,请稍后重试",
"errorProfileDeleteFailed": "删除账号失败,请稍后重试",
"errorRunLimitExceeded": "本次会话追问次数已达上限,请新起一卦",
"errorDivinationPayloadRequired": "缺少六爻输入数据,请重新起卦",
"divinationScreenTitle": "起卦",