Files
knowai/api/user-api.ts
tobegold574 382e3aff21 feat(reset): 以构造器模式重构
- 加了大文件传输自定义分片协议

BREAKING CHANGES: 0.1.0(latest)
2025-11-30 20:27:53 +08:00

150 lines
4.4 KiB
TypeScript

import { GET, POST, ApiClientBound, Request } from '../decorators';
import { API_ENDPOINTS } from './common';
import type {
GetMyProfileResponse,
GetUserProfileRequest,
GetUserProfileResponse,
UserProfileUpdateRequest,
UserProfileUpdateResponse,
LoginRequest,
LoginResponse,
RegisterRequest,
RegisterResponse,
ChangePasswordRequest,
ChangePasswordResponse,
UserSearchRequest,
UserSearchResponse,
GetHotAuthorsRequest,
GetHotAuthorsResponse,
GetAuthorRankingRequest,
GetAuthorRankingResponse
} from '../types';
import type { AxiosHttpClient } from '../client';
/**
* 用户相关API服务类
*/
@ApiClientBound
export class UserApiService {
// 语法要求
declare client: AxiosHttpClient;
/**
* 获取我的个人资料
* @returns 个人资料信息
* @throws ApiError 当请求失败时抛出
*/
@GET(API_ENDPOINTS.ME_PROFILE)
@Request
async getMyProfile(): Promise<GetMyProfileResponse> {
// 实际请求逻辑由Request装饰器处理
throw new Error('Decorated by @Request and should never be executed.');
}
/**
* 获取他人个人资料
* @param request 包含userId的请求参数
* @returns 他人个人资料信息
* @throws ApiError 当请求失败时抛出
*/
@GET(API_ENDPOINTS.SOMEBODY_PROFILE)
@Request
async getUserProfile(_request: GetUserProfileRequest): Promise<GetUserProfileResponse> {
// 实际请求逻辑由Request装饰器处理
throw new Error('Decorated by @Request and should never be executed.');
}
/**
* 用户登录
* @param request 登录请求参数
* @returns 登录响应
* @throws ApiError 当请求失败时抛出
*/
@POST(API_ENDPOINTS.AUTH_LOGIN)
@Request
async login(_request: LoginRequest): Promise<LoginResponse> {
// 实际请求逻辑由Request装饰器处理
throw new Error('Decorated by @Request and should never be executed.');
}
/**
* 用户注册
* @param request 注册请求参数
* @returns 注册响应
* @throws ApiError 当请求失败时抛出
*/
@POST(API_ENDPOINTS.AUTH_REGISTER)
@Request
async register(_request: RegisterRequest): Promise<RegisterResponse> {
// 实际请求逻辑由Request装饰器处理
throw new Error('Decorated by @Request and should never be executed.');
}
/**
* 修改密码
* @param request 修改密码请求参数
* @returns 修改密码响应
* @throws ApiError 当请求失败时抛出
*/
@POST(API_ENDPOINTS.AUTH_CHANGE_PASSWORD)
@Request
async changePassword(_request: ChangePasswordRequest): Promise<ChangePasswordResponse> {
// 实际请求逻辑由Request装饰器处理
throw new Error('Decorated by @Request and should never be executed.');
}
/**
* 更新个人资料
* @param request 更新请求参数
* @returns 更新响应
* @throws ApiError 当请求失败时抛出
*/
@POST(API_ENDPOINTS.USER_PROFILE_UPDATE)
@Request
async updateProfile(_request: UserProfileUpdateRequest): Promise<UserProfileUpdateResponse> {
// 实际请求逻辑由Request装饰器处理
throw new Error('Decorated by @Request and should never be executed.');
}
/**
* 搜索用户
* @param request 搜索请求参数
* @returns 搜索响应
* @throws ApiError 当请求失败时抛出
*/
@GET(API_ENDPOINTS.USER_SEARCH)
@Request
async searchUsers(_request: UserSearchRequest): Promise<UserSearchResponse> {
// 实际请求逻辑由Request装饰器处理
throw new Error('Decorated by @Request and should never be executed.');
}
/**
* 获取热门作者
* @param request 请求参数
* @returns 热门作者列表
* @throws ApiError 当请求失败时抛出
*/
@GET(API_ENDPOINTS.USER_HOT_AUTHORS)
@Request
async getHotAuthors(_request: GetHotAuthorsRequest): Promise<GetHotAuthorsResponse> {
// 实际请求逻辑由Request装饰器处理
throw new Error('Decorated by @Request and should never be executed.');
}
/**
* 获取作者榜单
* @param request 请求参数
* @returns 作者榜单列表
* @throws ApiError 当请求失败时抛出
*/
@GET(API_ENDPOINTS.USER_RANKING)
@Request
async getAuthorRanking(_request: GetAuthorRankingRequest): Promise<GetAuthorRankingResponse> {
// 实际请求逻辑由Request装饰器处理
throw new Error('Decorated by @Request and should never be executed.');
}
}
// 创建单例实例
export const userApi = new UserApiService();