Appearance
获取用户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:
- Cookie中的'userId'字段
- UserAgent中'userid/'后的字符串
注意事项
- 在SSR环境下(无window或navigator对象)返回空字符串
- 优先从Cookie中获取,Cookie中不存在时才从UA中获取
- UA中的userId格式应为
userid/xxx,其中xxx为实际的userId - 支持特殊字符的userId(如:
-、_、.、@、#、中文、emoji等) - 所有错误都会被捕获并返回空字符串,同时在控制台打印警告
- UA中的userId大小写不敏感,如
USERID/123和userid/123都可以正确识别
应用场景
- 获取用户身份标识
- 用户行为追踪
- 数据统计分析
- 用户状态管理
相关函数
- getCookie - 获取Cookie值