import { api } from './api'; import type { Broker, CreateBrokerRequest, UpdateBrokerRequest, QueryBrokerRequest, PaginatedBrokerResponse, ApiResponse, } from '@/types/broker'; /** * 券商服务 */ class BrokerService { /** * 查询券商列表(分页) */ async getBrokerList(params: QueryBrokerRequest): Promise { // api.get 返回的是 TransformInterceptor 处理后的 { code, message, data } // 其中 data 就是 PaginatedBrokerResponse const response = await api.get>('/broker', { params }); // 如果 response 已经是 PaginatedBrokerResponse 格式,直接返回 if ('list' in response && 'pagination' in response) { return response as PaginatedBrokerResponse; } // 否则从 ApiResponse 中取 data return (response as ApiResponse).data; } /** * 根据ID查询券商 */ async getBrokerById(id: number): Promise { return await api.get(`/broker/${id}`); } /** * 创建券商 */ async createBroker(data: CreateBrokerRequest): Promise { return await api.post('/broker', data); } /** * 更新券商 */ async updateBroker(id: number, data: UpdateBrokerRequest): Promise { return await api.patch(`/broker/${id}`, data); } /** * 删除券商 */ async deleteBroker(id: number): Promise { await api.delete(`/broker/${id}`); } } export const brokerService = new BrokerService();