Skip to content

feat(group-export): 本地导出加「移除敏感信息」勾选,默认保真 - #620

Merged
ply0011 merged 1 commit into
developfrom
ws/export-secret-split
Aug 6, 2026
Merged

feat(group-export): 本地导出加「移除敏感信息」勾选,默认保真#620
ply0011 merged 1 commit into
developfrom
ws/export-secret-split

Conversation

@ply0011

@ply0011 ply0011 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

背景

后端把分组导出的 secret 处理从「一刀切脱敏」改成按用途分流(配套 PR:tapdata/tapdata#3413):

  • 本地导出(FILE)默认保真,可选移除敏感信息;
  • GitHub 导出(GIT)强制脱敏,不可被入参绕过。

本地包从此默认含明文凭据,误传/误共享的后果更重 —— 所以这件事必须在导出弹窗上看得见。

改了什么

  • ExportGroupInfoBatchParamsremoveSensitiveData?(三态语义与后端 ExportGroupRequest 对齐:不传 = 按用途取默认)。
  • GroupExportDialog.vue:勾选框仅 FILE 分支渲染默认不勾(=保真);未勾选时用告警色 + 图标显形「包内将含明文凭据」。
  • GIT 分支只给一句说明、不给假开关,并且刻意不发该字段 —— 后端对 GIT 强制脱敏,前端发 false 只会换回一条「你的请求被覆盖了」的告警,而界面从未给过这个选择;那条回告是给显式调 API 的人用的。
  • i18n en / zh-CN / zh-TW 各 4 个 key。

验证

本仓无测试框架(无 vitest / jest / test-utils),故用三道闸:

  • 类型vue-tsc 新增行零报错(仓库基线本就有 5156 条 error TS,根 type-check 脚本自身是坏的)。并做了变异:把接口字段改名 → GroupExportDialog.vue(287,9) TS2561 精确打红 FILE 调用点,证明这道闸有牙。
  • lint:五个文件与 HEAD 基线逐字相同(17 problems 全在既有代码)。
  • i18n:4 个 key 在三语真实 import 下全部 resolve。
  • API 层行为已随后端实机验过(FILE 保真 / 勾选后脱敏 / GIT 强制脱敏)。

未做:勾选框的浏览器肉眼确认(长什么样、GIT 下是否真的隐藏)—— 需要 review 时顺手看一眼。

把后端 ES-2 的分流开关接到界面上:FILE 给勾选框、默认不勾(=保真包,能直接
搬到另一个环境用);GIT 不给这个开关——后端强制脱敏,给了就是假开关,只留一句说明。

- ExportGroupInfoBatchParams 加 removeSensitiveData?,三态语义与后端
  ExportGroupRequest 对齐
- 未勾选时用告警色显形「包内将含明文凭据」(ADR-0034 接受的代价要求 UI 看得见)
- 仅 FILE 分支发送该字段;GIT 分支刻意不发——发 false 会换回一条「你的请求被
  覆盖了」的告警,而界面从未给过这个选择
- i18n: en / zh-CN / zh-TW 各加 4 个 key
@ply0011
ply0011 merged commit ffd317b into develop Aug 6, 2026
2 checks passed
@ply0011
ply0011 deleted the ws/export-secret-split branch August 6, 2026 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant