/**
 * Token管理工具
 */

const TOKEN_KEY = 'access_token'
const REFRESH_TOKEN_KEY = 'refresh_token'
const USER_INFO_KEY = 'userInfo'

/**
 * 获取Token
 */
export function getToken() {
  return uni.getStorageSync(TOKEN_KEY)
}

/**
 * 设置Token
 */
export function setToken(token) {
  return uni.setStorageSync(TOKEN_KEY, token)
}

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

/**
 * 获取RefreshToken
 */
export function getRefreshToken() {
  return uni.getStorageSync(REFRESH_TOKEN_KEY)
}

/**
 * 设置RefreshToken
 */
export function setRefreshToken(token) {
  return uni.setStorageSync(REFRESH_TOKEN_KEY, token)
}

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

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

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

/**
 * 检查是否登录
 */
export function isLogin() {
  return !!(getToken() && getUserInfo())
}

/**
 * 清除所有认证信息
 */
export function clearAuth() {
  removeToken()
  uni.removeStorageSync(REFRESH_TOKEN_KEY)
  removeUserInfo()
}
