From 85362d8753514d681fd4891a34b0c9f9b4e5c2dc Mon Sep 17 00:00:00 2001 From: Red-Asuka Date: Mon, 13 May 2024 14:47:06 +0800 Subject: [PATCH] feat(web): support clearing historical data --- web/src/components/ClearUpHistoryData.vue | 60 +++++++++++++++++++++++ web/src/lang/connections.ts | 10 ++++ web/src/lang/settings.ts | 20 ++++++++ web/src/utils/api/setting.ts | 7 +++ web/src/views/settings/index.vue | 40 ++++++++++++++- 5 files changed, 135 insertions(+), 2 deletions(-) create mode 100644 web/src/components/ClearUpHistoryData.vue diff --git a/web/src/components/ClearUpHistoryData.vue b/web/src/components/ClearUpHistoryData.vue new file mode 100644 index 0000000000..dff2778ddc --- /dev/null +++ b/web/src/components/ClearUpHistoryData.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/web/src/lang/connections.ts b/web/src/lang/connections.ts index b97ca37e71..6e46883456 100644 --- a/web/src/lang/connections.ts +++ b/web/src/lang/connections.ts @@ -429,4 +429,14 @@ export default { en: 'The Broker has actively disconnected, Reason: {reason} (Code: {reasonCode})', ja: 'サーバーから積極的に接続が切断されました, Reason: {reason} (Code: {reasonCode})', }, + cleanHistoryData: { + zh: '清除历史数据', + en: 'Clean history data', + ja: 'クリーンな履歴データ', + }, + cleanHistorySuccess: { + zh: '清除历史数据成功', + en: 'Clear history successfully', + ja: '履歴を正常にクリアする', + }, } diff --git a/web/src/lang/settings.ts b/web/src/lang/settings.ts index f28ecabf31..df4ea271b3 100644 --- a/web/src/lang/settings.ts +++ b/web/src/lang/settings.ts @@ -49,6 +49,26 @@ export default { en: 'Advanced', ja: '詳細', }, + dataBackup: { + zh: '数据备份', + en: 'Data backup', + ja: 'データバックアップ', + }, + dataRecovery: { + zh: '数据恢复', + en: 'Data recovery', + ja: 'データ復旧', + }, + historyCleanup: { + zh: '清除历史数据', + en: 'Clear history data', + ja: '履歴データをクリアする', + }, + cleanHistoryDialogMessage: { + zh: '即将删除所有连接中的历史消息记录、发送端记录的发布消息、主题、保留标志及历史连接配置。确定吗?', + en: 'This will delete all historical message records in connections, messages published by the sender, topics, retain flags, and past connection configurations. Confirm?', + ja: '接続内のすべての過去のメッセージ記録、送信者によって公開されたメッセージ、トピック、保持フラグ、および過去の接続設定を削除しようとしています。確認してください。', + }, autoResub: { zh: '自动恢复订阅', en: 'Auto resubscribe', diff --git a/web/src/utils/api/setting.ts b/web/src/utils/api/setting.ts index 47fe137221..22712417e3 100644 --- a/web/src/utils/api/setting.ts +++ b/web/src/utils/api/setting.ts @@ -8,4 +8,11 @@ export const setSettings = (key: string, value: string | boolean | number): stri return db.set(key, value) } +export const cleanHistoryData = (): void => { + db.set('connections', []) + db.set('headersHistory', []) + db.set('payloadsHistory', []) + db.set('suggestConnections', []) +} + export default {} diff --git a/web/src/views/settings/index.vue b/web/src/views/settings/index.vue index 921ec51c90..6c4033ff7b 100644 --- a/web/src/views/settings/index.vue +++ b/web/src/views/settings/index.vue @@ -157,14 +157,43 @@ + +
+
{{ $t('settings.advanced') }}
+ + + + + + + + + + + + + + +
@@ -238,7 +273,8 @@ export default class Settings extends Vue { user-select: none; .settings-general, - .settings-appearance { + .settings-appearance, + .settings-advanced { max-width: 836px; margin: 0 auto; }