import { request } from '@/utils/request' /** 分类 */ export interface Category { id: number name: string icon: string color: string type: 'expense' | 'income' sort_order: number is_custom: number } /** 获取分类列表 */ export function getCategories() { return request({ url: '/categories' }) } /** 创建分类 */ export function createCategory(data: { name: string icon: string color: string type: 'expense' | 'income' }) { return request<{ id: number }>({ url: '/categories', method: 'POST', data }) } /** 更新分类 */ export function updateCategory(id: number, data: { name: string; color: string }) { return request({ url: `/categories/${id}`, method: 'PUT', data }) } /** 删除分类 */ export function deleteCategory(id: number) { return request({ url: `/categories/${id}`, method: 'DELETE' }) } /** 获取分类关联的交易数量 */ export function getCategoryTransactionCount(id: number) { return request<{ count: number }>({ url: `/categories/${id}/transaction-count` }) } /** 迁移分类关联的交易并删除分类 */ export function migrateCategory(fromId: number, targetId: number) { return request({ url: `/categories/${fromId}/migrate`, method: 'POST', data: { targetId } }) } /** 更新分类排序 */ export function sortCategories(ids: number[]) { return request({ url: '/categories/sort', method: 'PUT', data: { ids } }) }