Files
EmailBill/Web/src/api/statistics.js

168 lines
5.4 KiB
JavaScript
Raw Normal View History

2026-01-23 17:14:41 +08:00
import request from './request'
2025-12-26 17:13:57 +08:00
/**
* 统计相关 API
* 统计接口定义在 TransactionRecordController
*/
/**
* 获取月度统计数据
* @param {Object} params - 查询参数
* @param {number} params.year - 年份
* @param {number} params.month - 月份
* @returns {Promise<{success: boolean, data: Object}>}
* @returns {Object} data.totalExpense - 总支出
* @returns {Object} data.totalIncome - 总收入
* @returns {Object} data.balance - 结余
* @returns {Object} data.expenseCount - 支出笔数
* @returns {Object} data.incomeCount - 收入笔数
* @returns {Object} data.totalCount - 总笔数
*/
export const getMonthlyStatistics = (params) => {
return request({
2026-02-09 19:25:51 +08:00
url: '/TransactionStatistics/GetMonthlyStatistics',
2025-12-26 17:13:57 +08:00
method: 'get',
params
})
}
/**
* 获取分类统计数据
* @param {Object} params - 查询参数
* @param {number} params.year - 年份
* @param {number} params.month - 月份
* @param {number} params.type - 交易类型 (0:支出, 1:收入, 2:不计入收支)
* @returns {Promise<{success: boolean, data: Array}>}
* @returns {Array} data - 分类统计列表
* @returns {string} data[].classify - 分类名称
* @returns {number} data[].amount - 金额
* @returns {number} data[].percent - 百分比
* @returns {number} data[].count - 交易笔数
*/
export const getCategoryStatistics = (params) => {
return request({
2026-02-09 19:25:51 +08:00
url: '/TransactionStatistics/GetCategoryStatistics',
method: 'get',
params
})
}
/**
* 按日期范围获取分类统计数据
* @param {Object} params - 查询参数
* @param {string} params.startDate - 开始日期 (格式: YYYY-MM-DD)
* @param {string} params.endDate - 结束日期 (格式: YYYY-MM-DD)
* @param {number} params.type - 交易类型 (0:支出, 1:收入, 2:不计入收支)
* @returns {Promise<{success: boolean, data: Array}>}
* @returns {Array} data - 分类统计列表
* @returns {string} data[].classify - 分类名称
* @returns {number} data[].amount - 金额
* @returns {number} data[].percent - 百分比
* @returns {number} data[].count - 交易笔数
*/
export const getCategoryStatisticsByDateRange = (params) => {
return request({
url: '/TransactionStatistics/GetCategoryStatisticsByDateRange',
2025-12-26 17:13:57 +08:00
method: 'get',
params
})
}
/**
* 获取趋势统计数据
* @param {Object} params - 查询参数
* @param {number} params.startYear - 开始年份
* @param {number} params.startMonth - 开始月份
* @param {number} [params.monthCount=6] - 月份数量默认6个月
* @returns {Promise<{success: boolean, data: Array}>}
* @returns {Array} data - 趋势统计列表
* @returns {number} data[].year - 年份
* @returns {number} data[].month - 月份
* @returns {number} data[].expense - 支出金额
* @returns {number} data[].income - 收入金额
*/
export const getTrendStatistics = (params) => {
return request({
2026-02-09 19:25:51 +08:00
url: '/TransactionStatistics/GetTrendStatistics',
2025-12-26 17:13:57 +08:00
method: 'get',
params
})
}
/**
* 获取指定月份每天的消费统计
* @param {Object} params - 查询参数
* @param {number} params.year - 年份
* @param {number} params.month - 月份
* @returns {Promise<{success: boolean, data: Array}>}
* @returns {Array} data - 每日统计列表
* @returns {string} data[].date - 日期
* @returns {number} data[].count - 交易笔数
* @returns {number} data[].amount - 交易金额
*/
export const getDailyStatistics = (params) => {
return request({
2026-02-09 19:25:51 +08:00
url: '/TransactionStatistics/GetDailyStatistics',
2025-12-26 17:13:57 +08:00
method: 'get',
params
})
}
2026-01-21 16:09:38 +08:00
/**
* 获取累积余额统计数据用于余额卡片
* @param {Object} params - 查询参数
* @param {number} params.year - 年份
* @param {number} params.month - 月份
* @returns {Promise<{success: boolean, data: Array}>}
* @returns {Array} data - 每日累积余额列表
* @returns {string} data[].date - 日期
* @returns {number} data[].cumulativeBalance - 累积余额
*/
export const getBalanceStatistics = (params) => {
return request({
2026-02-09 19:25:51 +08:00
url: '/TransactionStatistics/GetBalanceStatistics',
method: 'get',
params
})
}
/**
* 获取指定周范围的每天的消费统计
* @param {Object} params - 查询参数
* @param {string} params.startDate - 开始日期 (yyyy-MM-dd)
* @param {string} params.endDate - 结束日期 (yyyy-MM-dd)
* @returns {Promise<{success: boolean, data: Array}>}
* @returns {Array} data - 每日统计列表
* @returns {string} data[].date - 日期
* @returns {number} data[].count - 交易笔数
* @returns {number} data[].amount - 交易金额
*/
export const getWeeklyStatistics = (params) => {
return request({
url: '/TransactionStatistics/GetWeeklyStatistics',
method: 'get',
params
})
}
/**
* 获取指定日期范围的统计汇总数据
* @param {Object} params - 查询参数
* @param {string} params.startDate - 开始日期 (yyyy-MM-dd)
* @param {string} params.endDate - 结束日期 (yyyy-MM-dd)
* @returns {Promise<{success: boolean, data: Object}>}
* @returns {Object} data.totalExpense - 总支出
* @returns {Object} data.totalIncome - 总收入
* @returns {Object} data.balance - 结余
* @returns {Object} data.expenseCount - 支出笔数
* @returns {Object} data.incomeCount - 收入笔数
* @returns {Object} data.totalCount - 总笔数
*/
export const getRangeStatistics = (params) => {
return request({
url: '/TransactionStatistics/GetRangeStatistics',
2026-01-21 16:09:38 +08:00
method: 'get',
params
})
}