返回开发日志
飞书多维表同步工具2026-07-09v4.0.18

凭据管理账号/Token列改为完整值随列宽自适应

bug修复v4.0.18

需求描述

凭据管理里的账号、多维表Token实际的文字内容没有随列宽变化而变化。

根因分析

refresh_credentials 方法在填充 account 和 table_token 列时,使用了固定字符数截断

  • app_id[:15] + "..." — 固定截前15字符
  • table_token[:15] + "..." — 固定截前15字符
  • api_key[:15] + "..." — 固定截前15字符

这种固定截断导致:列变宽时仍只显示15字符(不会显示更多),列变窄时15字符可能还嫌长。文字内容不随列宽变化,与Treeview原生截断+tooltip机制冲突。

改动文件清单

文件改动内容
tabs/credentials_tab.pyaccount列:去除 app_id[:15]+"..."api_key[:15]+"..." 固定截断,改为完整值;pt-token脱敏保留("pt-"+pt_token[-8:],安全考虑);table_token列:去除 table_token[:15]+"..." 截断,改为完整值
gui_sync.py版本号 4.0.17→4.0.18

技术要点

  1. 完整值 + Treeview原生截断 + tooltip:直接填入完整值后,Treeview会根据列宽自动截断显示(不加…),当文本超过列宽时 TreeviewTooltip 自动弹出显示完整内容。这样列变宽时显示更多内容,列变窄时显示更少内容,真正"随列宽变化"
  2. pt-token脱敏保留:pt-token是飞书长期授权凭证,特别敏感,保留 "pt-" + pt_token[-8:] 脱敏处理(仅显示后8位),不填入完整值。app_id和table_token相对没那么敏感,用户在自己的工具里查看完整值是合理的(方便核对)
  3. ERP凭据优先级:ERP账号优先显示username,其次api_key,两者都为空才显示"-"

验证结果

  • 语法检查:tabs/credentials_tab.pygui_sync.py 通过 py_compile

下一阶段规划