feat(frontend): 支持批量编辑和管理已保存登录凭证

为连接表单补充已保存登录凭证的校验与提交流程,
允许新增、批量新增、测试连接时优先使用凭证

在连接列表中新增登录凭证管理入口,并支持批量编辑
时按连接类型筛选和应用已保存凭证

补充中英日文案,并修复 SSH 密钥选择器的绑定兼容性
This commit is contained in:
yinjianm
2026-03-26 00:23:02 +08:00
parent 1081c73254
commit a2ac4047d9
8 changed files with 158 additions and 20 deletions
+19
View File
@@ -215,6 +215,8 @@
"title": "Batch Edit Connections",
"editSelected": "Edit Selected",
"noChange":"No change",
"savedCredentialMixedType": "Select only one connection type before applying a saved credential in batch.",
"savedCredentialTypeHint": "Batch apply works only for the same connection type",
"selectedItems":"{count} items selected",
"deleteSelectedButton": "Delete Selected",
"deleteSelectedTooltip": "Delete selected connections",
@@ -273,6 +275,23 @@
"connectionModeProxy": "Proxy Server",
"connectionModeJumpHost": "Jump Host",
"connectionType": "Connection Type:",
"credentialSource": "Credential Source",
"credentialSourceDirect": "Account / Password / Key",
"credentialSourceSaved": "Use Saved Credential",
"savedLoginCredential": "Login Credential",
"selectLoginCredential": "Select a saved credential",
"manageLoginCredentials": "Manage Login Credentials",
"savedCredentialHint": "Saved credentials take priority during test and connect. You can switch back to direct input anytime.",
"loginCredentialManager": "Login Credentials",
"addLoginCredential": "Add Login Credential",
"editLoginCredential": "Edit Login Credential",
"noLoginCredentials": "No saved login credentials yet",
"clearSavedCredential": "Clear saved credential",
"errorLoginCredentialRequired": "Please select a saved login credential.",
"errorCredentialRequiredFields": "Name and username are required.",
"errorCredentialDetails": "Failed to load login credential details.",
"confirmDeleteCredential": "Delete login credential {name}?",
"errorDeleteCredential": "Failed to delete login credential.",
"typeSsh": "SSH",
"typeRdp": "RDP",
"typeVnc": "VNC",
+17
View File
@@ -213,6 +213,23 @@
"errorPasswordRequiredForBatchSSH": "SSH (パスワード認証) 接続を一括追加する場合、パスワードを提供する必要があります。",
"errorPasswordRequiredForBatchRDP": "RDP接続を一括追加する場合、パスワードを提供する必要があります。",
"errorPasswordRequiredForBatchVNC": "VNC接続を一括追加する場合、VNCパスワードを提供する必要があります。",
"credentialSource": "認証ソース",
"credentialSourceDirect": "アカウント / パスワード / キー",
"credentialSourceSaved": "保存済み認証情報を使用",
"savedLoginCredential": "ログイン認証情報",
"selectLoginCredential": "ログイン認証情報を選択してください",
"manageLoginCredentials": "ログイン認証情報を管理",
"savedCredentialHint": "保存済み認証情報はテストと接続時に優先して使用されます。いつでも直接入力へ戻せます。",
"loginCredentialManager": "ログイン認証情報",
"addLoginCredential": "ログイン認証情報を追加",
"editLoginCredential": "ログイン認証情報を編集",
"noLoginCredentials": "保存済みのログイン認証情報はありません",
"clearSavedCredential": "保存済み認証情報を解除",
"errorLoginCredentialRequired": "保存済みのログイン認証情報を選択してください。",
"errorCredentialRequiredFields": "名前とユーザー名は必須です。",
"errorCredentialDetails": "ログイン認証情報の詳細取得に失敗しました。",
"confirmDeleteCredential": "ログイン認証情報 {name} を削除しますか?",
"errorDeleteCredential": "ログイン認証情報の削除に失敗しました。",
"errorBatchAddResult": "一括追加: {successCount} 件成功, {errorCount} 件失敗。最初のエラー: {firstErrorEncountered}",
"successBatchAddResult": "一括追加成功: {successCount} 件の接続が作成されました。",
"errorIpRangeNotAllowedInEditMode": "編集モードではIP範囲はサポートされていません。単一のIPアドレスを使用してください。",
+19
View File
@@ -217,6 +217,8 @@
"title": "批量编辑连接",
"selectedItems": "已选项目",
"noChange": "保持不变",
"savedCredentialMixedType": "批量应用已保存凭证前,请先只选择同一种连接类型。",
"savedCredentialTypeHint": "仅支持同类型连接批量应用",
"deleteSelectedButton": "删除选中",
"deleteSelectedTooltip": "删除选中的连接",
"confirmMessage": "您确定要删除选中的 {count} 个连接吗?此操作无法撤销。",
@@ -273,6 +275,23 @@
"connectionModeProxy": "代理服务器",
"connectionModeJumpHost": "跳板机",
"connectionType": "连接类型",
"credentialSource": "认证来源",
"credentialSourceDirect": "账号密码 / 密钥",
"credentialSourceSaved": "使用已保存凭证",
"savedLoginCredential": "登录凭证",
"selectLoginCredential": "请选择登录凭证",
"manageLoginCredentials": "管理登录凭证",
"savedCredentialHint": "已保存凭证会在连接和测试时优先使用;切回直填后仍可继续手工输入。",
"loginCredentialManager": "登录凭证",
"addLoginCredential": "新增登录凭证",
"editLoginCredential": "编辑登录凭证",
"noLoginCredentials": "暂无登录凭证",
"clearSavedCredential": "取消已保存凭证",
"errorLoginCredentialRequired": "请选择已保存的登录凭证。",
"errorCredentialRequiredFields": "名称和用户名为必填项。",
"errorCredentialDetails": "获取登录凭证详情失败。",
"confirmDeleteCredential": "确认删除登录凭证 {name}",
"errorDeleteCredential": "删除登录凭证失败。",
"typeSsh": "SSH",
"typeRdp": "RDP",
"typeVnc": "VNC",