/**
 * 认证相关工具函数
 */

const TOKEN_KEY = 'admin_token';
const USER_INFO_KEY = 'admin_user_info';

/**
 * 获取Token
 */
export function getToken(): string {
  return uni.getStorageSync(TOKEN_KEY) || '';
}

/**
 * 设置Token
 */
export function setToken(token: string): void {
  uni.setStorageSync(TOKEN_KEY, token);
}

/**
 * 移除Token
 */
export function removeToken(): void {
  uni.removeStorageSync(TOKEN_KEY);
}

/**
 * 获取用户信息
 */
export function getUserInfo(): any {
  const info = uni.getStorageSync(USER_INFO_KEY);
  return info ? JSON.parse(info) : null;
}

/**
 * 设置用户信息
 */
export function setUserInfo(userInfo: any): void {
  uni.setStorageSync(USER_INFO_KEY, JSON.stringify(userInfo));
}

/**
 * 移除用户信息
 */
export function removeUserInfo(): void {
  uni.removeStorageSync(USER_INFO_KEY);
}

/**
 * 清除所有登录信息
 */
export function clearAuth(): void {
  removeToken();
  removeUserInfo();
}

/**
 * 检查是否已登录
 */
export function isLoggedIn(): boolean {
  return !!getToken();
}

/**
 * 退出登录
 */
export function logout(): void {
  clearAuth();
  uni.reLaunch({
    url: '/pages/login/login'
  });
}
