diff --git a/frontend/mining-admin-web/src/store/slices/auth.slice.ts b/frontend/mining-admin-web/src/store/slices/auth.slice.ts index b3a1b10a..504105c0 100644 --- a/frontend/mining-admin-web/src/store/slices/auth.slice.ts +++ b/frontend/mining-admin-web/src/store/slices/auth.slice.ts @@ -28,8 +28,10 @@ export const login = createAsyncThunk( async ({ username, password }: { username: string; password: string }, { rejectWithValue }) => { try { const response = await authApi.login(username, password); - localStorage.setItem('admin_token', response.data.accessToken); - return response.data; + // 后端返回格式: { success, data: { token, admin } } + const { token, admin } = response.data.data; + localStorage.setItem('admin_token', token); + return { accessToken: token, admin }; } catch (error: any) { return rejectWithValue(error.response?.data?.error?.message?.[0] || 'Login failed'); } @@ -43,7 +45,8 @@ export const logout = createAsyncThunk('auth/logout', async () => { export const getProfile = createAsyncThunk('auth/getProfile', async (_, { rejectWithValue }) => { try { const response = await authApi.getProfile(); - return response.data; + // 后端返回格式: { success, data: { id, username, role } } + return response.data.data; } catch (error: any) { return rejectWithValue(error.response?.data?.error?.message?.[0] || 'Failed to get profile'); }