Skip to content

获取用户ID (getUserId)

从浏览器环境中获取用户ID,支持从 Cookie 和 UserAgent 中获取。

签名

typescript
function getUserId(): string;

返回值

(string) 返回获取到的用户ID

  • 成功获取返回对应的userId字符串
  • 获取失败返回空字符串 ''

示例

typescript
import { getUserId } from '@fu/matrix';
// 或
const getUserId = window.fuMatrix.getUserId;
// Cookie中存在userId
document.cookie = 'userId=12345';
getUserId(); // => "12345"
// UA中存在userId
// UA: Mozilla/5.0 ... userid/67890 ...
getUserId(); // => "67890"
// 都不存在时
getUserId(); // => ""
// SSR环境下
getUserId(); // => ""

工作原理

按以下优先级获取userId:

  1. Cookie中的'userId'字段
  2. UserAgent中'userid/'后的字符串

注意事项

  • 在SSR环境下(无window或navigator对象)返回空字符串
  • 优先从Cookie中获取,Cookie中不存在时才从UA中获取
  • UA中的userId格式应为 userid/xxx,其中xxx为实际的userId
  • 支持特殊字符的userId(如:-_.@#、中文、emoji等)
  • 所有错误都会被捕获并返回空字符串,同时在控制台打印警告
  • UA中的userId大小写不敏感,如 USERID/123userid/123 都可以正确识别

应用场景

  • 获取用户身份标识
  • 用户行为追踪
  • 数据统计分析
  • 用户状态管理

相关函数