feat: 处理用户登出事件
This commit is contained in:
@@ -5,6 +5,7 @@ import { useToast } from '@chakra-ui/react';
|
|||||||
import { logger } from '../utils/logger';
|
import { logger } from '../utils/logger';
|
||||||
import { useNotification } from '../contexts/NotificationContext';
|
import { useNotification } from '../contexts/NotificationContext';
|
||||||
import { identifyUser, resetUser, trackEvent } from '@lib/posthog';
|
import { identifyUser, resetUser, trackEvent } from '@lib/posthog';
|
||||||
|
import { SPECIAL_EVENTS } from '@lib/constants';
|
||||||
|
|
||||||
// 创建认证上下文
|
// 创建认证上下文
|
||||||
const AuthContext = createContext();
|
const AuthContext = createContext();
|
||||||
@@ -467,8 +468,12 @@ export const AuthProvider = ({ children }) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// ✅ 追踪登出事件(必须在 resetUser() 之前,否则会丢失用户身份)
|
// ✅ 追踪登出事件(必须在 resetUser() 之前,否则会丢失用户身份)
|
||||||
trackEvent('user_logged_out', {
|
trackEvent(SPECIAL_EVENTS.USER_LOGGED_OUT, {
|
||||||
timestamp: new Date().toISOString()
|
timestamp: new Date().toISOString(),
|
||||||
|
user_id: user?.id || null,
|
||||||
|
session_duration_minutes: user?.session_start
|
||||||
|
? Math.round((Date.now() - new Date(user.session_start).getTime()) / 60000)
|
||||||
|
: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
// ✅ 重置 PostHog 用户会话
|
// ✅ 重置 PostHog 用户会话
|
||||||
|
|||||||
Reference in New Issue
Block a user