/**
 * HTTP 请求认证头工具函数
 * 统一获取和管理认证相关信息
 */

import { type UserStore, useUserStore } from '@/pinia/modules/user';

/**
 * 认证头信息接口
 */
export interface AuthHeaders {
  /** JWT Token，格式：Bearer {token} */
  Authorization: string;
  /** 设备 MAC 地址（URL 编码） */
  'Custom-Mac': string;
  /** 平台标识 */
  'Custom-Platform': string;
  /** 当前时间戳（毫秒） */
  'Custom-Timestamp': string;
}

/**
 * 获取默认认证头信息
 * @returns {AuthHeaders} 认证头对象
 */
export function getDefaultAuthHeaders(): AuthHeaders {
  const userStore: UserStore = useUserStore();
  const access_token = userStore.userInfo?.token || '';

  return {
    Authorization: `Bearer ${access_token}`,
    'Custom-Mac': encodeURIComponent(navigator.userAgent),
    'Custom-Platform': 'WEB',
    'Custom-Timestamp': String(new Date().getTime()),
  };
}
