feat(protocol): 位痕迹按 codec 槽位指纹定位字段

This commit is contained in:
TermiNexus committed 2026-10-21 02:55:25 +08:00
1 parent 97917478a4
commit e0542b2681
2 files changed
+69 -77

No files matched your search

@@ -445,7 +445,23 @@
try {
St = String(new Error().stack || "").split("\n").slice(1, 4).join(" | ");
} catch (E3) {}
T.push({ bit: B0, inner: Inner.constructor && Inner.constructor.name, stack: St });
// hid:给每个可选包装器实例分配稳定 id(同一字段的多次读取共享 id);
// elem/elemKeys:内层列表的元素 codec 类名与槽位名——槽位名全局唯一,可离线唯一定位字段。
var Elem = Inner.z7h_1;
if (!Inner.__hornetHid) {
Inner.__hornetHid = T.nextId || 1;
T.nextId = Inner.__hornetHid + 1;
}
var ElemName = '';
var ElemKeys = [];
try {
ElemName = (Elem && Elem.constructor && Elem.constructor.name) || '';
ElemKeys = Elem ? Object.keys(Elem) : [];
} catch (E5) {}
T.push({
hid: Inner.__hornetHid, bit: B0, inner: Inner.constructor && Inner.constructor.name,
elem: ElemName, elemKeys: ElemKeys, stack: St,
});
}
} catch (E4) {}
return B0 ? null : Inner.t7h(t);