Files
AI-CS/frontend/lib/visitor-id.ts
T
2026-05-21 16:37:37 +08:00

17 lines
579 B
TypeScript

/**
* 访客 ID:写入 localStorage,保证为可安全表示的正整数。
* 旧版 `${Date.now()}${random}` 拼接过长会导致精度问题,此处会迁移为新格式。
*/
export function getOrCreateVisitorId(): number {
const stored = window.localStorage.getItem("visitor_id");
if (stored) {
const parsed = Number.parseInt(stored, 10);
if (!Number.isNaN(parsed) && parsed > 0) {
return parsed;
}
}
const id = Date.now() * 1000 + Math.floor(Math.random() * 100000);
window.localStorage.setItem("visitor_id", String(id));
return id;
}