- 编辑弹窗移除密文区域(重命名、类型修改、解绑) - 查看密文弹窗增加:重命名(带 debounce 校验)、类型选择、解绑、保存 - 列表行密文 chips 保留只读展示,移除解绑按钮 - 简化编辑弹窗保存逻辑,不再处理密文变更
2.0 KiB
2.0 KiB
将编辑弹窗中的密文管理功能移到查看密文弹窗
当前状态
- 编辑弹窗:密文重命名(input)、类型修改(select)、解绑(×按钮)、name 可用性校验
- 查看密文弹窗:解密后显示值、复制、显示/隐藏密码
- 列表行:密文 chips(name+type)+ 解绑按钮
变更内容
1. 编辑弹窗 — 移除密文区域
- 移除 HTML 中
#edit-secrets-list所在的.modal-secretsdiv(第559行) - 移除 JS 中
renderEditSecrets、bindSecretValidation函数 - 移除
openEdit中读取/渲染data-entry-secrets的逻辑 - 移除
edit-save中 secret rename/type PATCH 逻辑 - 移除编辑弹窗内的 unlink 事件监听器(第1492-1517行)
refreshListAfterSave不再处理 secretRows 参数
2. 查看密文弹窗 — 增加管理功能
在每个解密字段行中增加:
- 重命名输入框(inline edit,带 debounce 校验)
- 类型下拉选择
- 解绑按钮
- 保存按钮(逐行或统一保存)
- 复用现有的
PATCH /api/secrets/{id}和DELETE /api/entries/{entry_id}/secrets/{secret_id}接口
需要在 openView 中额外传入 data-entry-secrets(含 secret id/name/type),以便将管理功能与解密值关联。
3. 列表行 — 保留只读摘要
- 保留密文 chips 的 name + type 展示
- 移除 chips 上的解绑按钮(×)
- 移除列表行的 unlink 事件监听器(第1466-1490行)
4. i18n 更新
- 为查看弹窗新增重命名、类型修改、解绑相关的中英文翻译
- 清理编辑弹窗中不再需要的 i18n key
5. CSS 调整
- 查看弹窗中为管理控件添加样式(input/select/button 行内布局)
不涉及的变更
- 后端 API 无需修改(复用现有接口)
- 版本 bump(视为前次 0.5.11 的一部分,tag 尚未被 CI 创建)
涉及文件
crates/secrets-mcp/templates/entries.html(HTML + JS + CSS)crates/secrets-mcp/src/web/entries.rs(无需修改,复用现有 API)