import type { ApiClient } from '../types'; import type { LoginRequest, LoginResponse, RegisterRequest, RegisterResponse, UserProfileUpdateRequest, UserProfileUpdateResponse, UserFollowRequest, UserFollowResponse, GetHotAuthorsRequest, GetHotAuthorsResponse, GetAuthorRankingRequest, GetAuthorRankingResponse } from '@/types/user'; // 用户API服务工厂函数 export const userApi = (client: ApiClient) => ({ // 用户登录 login: (data: LoginRequest): Promise => { return client.post('/auth/login', data); }, // 用户注册 register: (data: RegisterRequest): Promise => { return client.post('/auth/register', data); }, // 获取用户档案 getProfile: (): Promise => { return client.get('/user/profile'); }, // 更新用户档案 updateProfile: (data: UserProfileUpdateRequest): Promise => { return client.put('/user/profile', data); }, // 关注用户 followUser: ({ userId }: UserFollowRequest): Promise => { return client.put(`/user/follow/${userId}`); }, // 取消关注用户 unfollowUser: ({ userId }: UserFollowRequest): Promise => { return client.delete(`/user/follow/${userId}`); }, // 获取热门作者 getHotAuthors: (params: GetHotAuthorsRequest = {}): Promise => { return client.get('/user/hot', { params }); }, // 获取作者榜单 getAuthorRanking: (params: GetAuthorRankingRequest = {}): Promise => { return client.get('/user/ranking', { params }); } });