blob: a779af2b67a7b9662e004aea70cda44a71ba2601 [file] [log] [blame]
// src/api/auth.js
import axios from 'axios';
// 创建并导出 axios 实例
export const api = axios.create({
baseURL: 'http://team2.10813352.xyz:8088',
timeout: 5000,
});
// 请求拦截器
api.interceptors.request.use(config => {
const token = localStorage.getItem('token');
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
});
export const login = async (username, password) => {
const response = await api.post('/user/login', null, {
params: { username, password }
});
if (response.data.code === 200 && response.data.data.token) {
localStorage.setItem('token', response.data.data.token);
}
return response;
};
export const register = (username, password, code) => {
return api.post('/user/regist', null, {
params: { username, password, code }
});
};
export const getUserInfo = async () => {
try {
const response = await api.get('/user/userInfo');
if (response.data.code === 200) {
return response.data.data;
}
throw new Error(response.data.message || '获取用户信息失败');
} catch (error) {
console.error('获取用户信息失败:', error);
throw error;
}
};
export const isAdmin = async () => {
try {
const userInfo = await getUserInfo();
return userInfo.authority === 'ADMIN';
} catch (error) {
console.error('检查管理员权限失败:', error);
return false;
}
};