添加智能分类功能,支持获取未分类账单数量和列表;实现AI分类逻辑;更新相关API和前端视图
All checks were successful
Docker Build & Deploy / Build Docker Image (push) Successful in 20s
Docker Build & Deploy / Deploy to Production (push) Successful in 8s

This commit is contained in:
孙诚
2025-12-25 15:40:50 +08:00
parent a9dfcdaa5c
commit bbcb630401
9 changed files with 714 additions and 3 deletions

View File

@@ -100,3 +100,63 @@ export const getTransactionsByDate = (date) => {
// 注意分类相关的API已迁移到 transactionCategory.js
// 请使用 getCategoryTree 等新接口
/**
* 获取未分类的账单数量
* @returns {Promise<{success: boolean, data: number}>}
*/
export const getUnclassifiedCount = () => {
return request({
url: '/TransactionRecord/GetUnclassifiedCount',
method: 'get'
})
}
/**
* 获取未分类的账单列表
* @param {number} pageSize - 每页数量默认10条
* @returns {Promise<{success: boolean, data: Array}>}
*/
export const getUnclassified = (pageSize = 10) => {
return request({
url: '/TransactionRecord/GetUnclassified',
method: 'get',
params: { pageSize }
})
}
/**
* 智能分类 - 使用AI对账单进行分类EventSource流式响应
* @param {number} pageSize - 每次分类的账单数量
* @returns {EventSource} 返回EventSource对象用于接收流式数据
*/
export const smartClassify = (pageSize = 10) => {
const baseURL = import.meta.env.VITE_API_BASE_URL || 'http://localhost:5000'
const token = localStorage.getItem('token')
const url = `${baseURL}/api/TransactionRecord/SmartClassify`
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({ pageSize })
})
}
/**
* 批量更新账单分类
* @param {Array} items - 要更新的账单分类数据数组
* @param {number} items[].id - 账单ID
* @param {string} items[].classify - 一级分类
* @param {string} items[].subClassify - 子分类
* @returns {Promise<{success: boolean, message: string}>}
*/
export const batchUpdateClassify = (items) => {
return request({
url: '/TransactionRecord/BatchUpdateClassify',
method: 'post',
data: items
})
}