import { useRequest } from '@/hooks/useRequest' import axios from 'axios' const { AllApi, baseURL } = useRequest() const TokenKey = 'token' // token的key const RefreshTokenKey = 'refreshToken' // 刷新token的key /** * @description: 获取token * @return {*} */ const getToken = () => { return localStorage.getItem(TokenKey) } /** * @description: 设置token * @param {string} token token * @return {*} */ const setToken = (token: string) => { localStorage.setItem(TokenKey, token) } /** * @description: 获取刷新Token * @return {*} */ const getrefreshToken = () => { return localStorage.getItem(RefreshTokenKey) } /** * @description: 设置刷新Token * @param {string} refreshToken 刷新token * @return {*} */ const setRefreshToken = (refreshToken: string) => { localStorage.setItem(RefreshTokenKey, refreshToken) } /** * @description: 刷新Token * @return {*} */ const refreshToken = async () => { // 这里不要用实例去请求,如果refreshtoken也返回-1的话,会导致程序卡死 return await axios.post( `${baseURL}${AllApi.getRefreshToken}`, {}, { headers: { Authorization: `${getrefreshToken()}` } } ) } /** * @description: 移除token * @return {*} */ const removeToken = () => { localStorage.removeItem(TokenKey) } /** * @description: 移除refreshtoken * @return {*} */ const removeRefreshToken = () => { localStorage.removeItem(RefreshTokenKey) } /** * @description: 移除所有token * @return {*} */ const removeAllToeken = () => { removeToken() removeRefreshToken() } export { getToken, setToken, getrefreshToken, setRefreshToken, refreshToken, removeToken, removeRefreshToken, removeAllToeken }