/**
 * Token 存储管理
 * @author steelwei
 */
import { stopGpsTimer } from './gps'

const TOKEN_KEY = 'fulfiller_token'
const USER_INFO_KEY = 'fulfiller_user_info'

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

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

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

/**
 * 是否已登录
 */
export function isLoggedIn() {
  return !!getToken()
}

/**
 * 获取缓存的用户信息
 */
export function getUserInfo() {
  const str = uni.getStorageSync(USER_INFO_KEY)
  if (str) {
    try {
      return JSON.parse(str)
    } catch (e) {
      return null
    }
  }
  return null
}

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

/**
 * 清除用户信息缓存
 */
export function removeUserInfo() {
  uni.removeStorageSync(USER_INFO_KEY)
}

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