import api from './api'; export const authService = { // 登录 login: async (username, password) => { const response = await api.post('/auth/login', { username, password }); // 响应格式: { code, message, data: { user_id, username, caption, email, token, role_id } } if (response.data?.token) { localStorage.setItem('token', response.data.token); // 保存用户信息,不包括 token const { token, ...userInfo } = response.data; localStorage.setItem('user', JSON.stringify(userInfo)); } return response; }, // 获取当前用户 getCurrentUser: async () => { return await api.get('/auth/me'); }, // 退出登录 logout: () => { localStorage.removeItem('token'); localStorage.removeItem('user'); }, // 检查是否已登录 isAuthenticated: () => { return !!localStorage.getItem('token'); }, // 获取本地用户信息 getLocalUser: () => { const userStr = localStorage.getItem('user'); // 防止解析 "undefined" 或 "null" 字符串 if (!userStr || userStr === 'undefined' || userStr === 'null') { return null; } try { return JSON.parse(userStr); } catch (error) { console.error('Failed to parse user data:', error); return null; } }, // 获取用户统计信息 getUserStats: async (userId) => { return await api.get('/meetings/stats', { params: { user_id: userId } }); } };