/** * 记录服务 - Records API Service * 功能:封装账单记录相关的 API 调用,提供账单 CRUD 操作 * API 依赖: * - GET /api/records - 获取账单记录列表(支持多条件筛选) * - GET /api/records/:id - 获取单条账单记录 * - POST /api/records - 创建账单记录 * - PUT /api/records/:id - 更新账单记录 * - DELETE /api/records/:id - 删除账单记录 */ import { apiClient } from './apiClient'; import type { Record, RecordFormData } from '../types'; import { useUserStore } from '../stores/userStore'; export const recordsApi = { // API: GET /api/records - 获取账单记录列表,支持按账户、类型、分类、日期范围筛选 async getRecords(params?: { accountId?: number; type?: 'income' | 'expense'; category?: string; startDate?: string; endDate?: string; }): Promise { const userId = useUserStore.getState().userId; const response = await apiClient.get('/records', { userId, ...params }); return response.data; }, // API: GET /api/records/:id - 获取指定账单记录详情 async getRecord(id: number): Promise { const response = await apiClient.get(`/records/${id}`); return response.data; }, // API: POST /api/records - 创建账单记录,自动关联当前用户 async createRecord(data: Omit & { accountId: number }): Promise { const userId = useUserStore.getState().userId; const response = await apiClient.post('/records', { ...data, userId }); return response.data; }, // API: PUT /api/records/:id - 更新账单记录,支持部分更新 async updateRecord(id: number, data: Partial): Promise { const response = await apiClient.put(`/records/${id}`, data); return response.data; }, // API: DELETE /api/records/:id - 删除指定账单记录 async deleteRecord(id: number): Promise { const response = await apiClient.delete(`/records/${id}`); return response.data; }, };