import request from './request' /** * 周期性账单相关 API */ /** * 获取周期性账单列表(分页) * @param {Object} params - 查询参数 * @param {number} [params.pageIndex] - 页码 * @param {number} [params.pageSize] - 每页数量 * @param {string} [params.searchKeyword] - 搜索关键词 * @returns {Promise<{success: boolean, data: Array, total: number}>} */ export const getPeriodicList = (params = {}) => { return request({ url: '/TransactionPeriodic/GetList', method: 'get', params }) } /** * 根据ID获取周期性账单详情 * @param {number} id - 周期性账单ID * @returns {Promise<{success: boolean, data: Object}>} */ export const getPeriodicDetail = (id) => { return request({ url: `/TransactionPeriodic/GetById/${id}`, method: 'get' }) } /** * 创建周期性账单 * @param {Object} data - 周期性账单数据 * @param {number} data.periodicType - 周期类型 (0:每天, 1:每周, 2:每月, 3:每季度, 4:每年) * @param {string} data.periodicConfig - 周期配置 * @param {number} data.amount - 交易金额 * @param {number} data.type - 交易类型 (0:支出, 1:收入, 2:不计入收支) * @param {string} data.classify - 交易分类 * @param {string} data.reason - 交易摘要/备注 * @returns {Promise<{success: boolean, data: Object}>} */ export const createPeriodic = (data) => { return request({ url: '/TransactionPeriodic/Create', method: 'post', data }) } /** * 更新周期性账单 * @param {Object} data - 周期性账单数据 * @param {number} data.id - 周期性账单ID * @param {number} data.periodicType - 周期类型 * @param {string} data.periodicConfig - 周期配置 * @param {number} data.amount - 交易金额 * @param {number} data.type - 交易类型 * @param {string} data.classify - 交易分类 * @param {string} data.reason - 交易摘要/备注 * @param {boolean} data.isEnabled - 是否启用 * @returns {Promise<{success: boolean}>} */ export const updatePeriodic = (data) => { return request({ url: '/TransactionPeriodic/Update', method: 'post', data }) } /** * 删除周期性账单 * @param {number} id - 周期性账单ID * @returns {Promise<{success: boolean}>} */ export const deletePeriodic = (id) => { return request({ url: '/TransactionPeriodic/DeleteById', method: 'post', params: { id } }) } /** * 启用/禁用周期性账单 * @param {number} id - 周期性账单ID * @param {boolean} enabled - 是否启用 * @returns {Promise<{success: boolean}>} */ export const togglePeriodicEnabled = (id, enabled) => { return request({ url: '/TransactionPeriodic/ToggleEnabled', method: 'post', params: { id, enabled } }) }