Improve: client/server - stable client ID via MachineGuid+path (V2)

This commit is contained in:
yuanyuanxiang
2026-05-06 21:32:06 +02:00
parent 0aa75882d1
commit 2c5b5ad628
5 changed files with 282 additions and 30 deletions

View File

@@ -245,6 +245,12 @@ public:
std::string m_v2KeyPath; // V2 密钥文件路径
void RebuildFilteredIndices(); // 重建过滤索引
context* GetContextByListIndex(int iItem); // 根据列表索引获取 context考虑分组过滤
// 启发式 ID 迁移:新客户端首次上线时,按 (ComputerName, ProgramPath) 在 m_ClientMap
// 里找老条目,若唯一匹配则把元数据(备注/位置/级别/授权)拷贝到 newId。
// 多于一个候选时保守跳过,写日志让运维手动处理,避免误聚合。
// 返回 true 表示有迁移发生(调用方需触发 dat 文件落盘)。
bool TryMigrateClientMetadata(uint64_t newId, const CString& pcName, const CString& exePath);
void LoadListData(const std::string& group);
void DeletePopupWindow(BOOL bForce = FALSE);
void CheckHeartbeat();