rentease-app/api/index.js

104 lines
2.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* API 统一入口
* 集中管理所有 API 模块
*/
import auth from './auth.js'
import apartment from './apartment.js'
import room from './room.js'
import tenant from './tenant.js'
import renter from './renter.js'
import rental from './rental.js'
import statistics from './statistics.js'
import bill from './bill.js'
import meterReading from './meterReading.js'
import setting from './setting.js'
import billing from './billing.js'
// 为每个API模块添加别名方法以兼容不同调用方式
const addAliases = (apiModule) => {
// 如果模块有 getList 但没有 list添加 list 别名
if (apiModule.getList && !apiModule.list) {
apiModule.list = apiModule.getList
}
// 如果模块有 list 但没有 getList添加 getList 别名
if (apiModule.list && !apiModule.getList) {
apiModule.getList = apiModule.list
}
// 同样处理 getDetail 和 detail
if (apiModule.getDetail && !apiModule.detail) {
apiModule.detail = apiModule.getDetail
}
if (apiModule.detail && !apiModule.getDetail) {
apiModule.getDetail = apiModule.detail
}
// 处理 statistics 相关别名
if (apiModule.getDashboard && !apiModule.getDashboardStats) {
apiModule.getDashboardStats = apiModule.getDashboard
}
if (apiModule.getApartmentStats && !apiModule.getApartmentRoomStatusStats) {
apiModule.getApartmentRoomStatusStats = apiModule.getApartmentStats
}
// 处理 bill 统计别名
if (apiModule.getStatistics && !apiModule.getBillStats) {
apiModule.getBillStats = apiModule.getStatistics
}
return apiModule
}
// 处理所有API模块
const authApi = addAliases(auth)
const apartmentApi = addAliases(apartment)
const roomApi = addAliases(room)
const tenantApi = addAliases(tenant)
const renterApi = addAliases(renter)
const rentalApi = addAliases(rental)
const statisticsApi = addAliases(statistics)
const billApi = addAliases(bill)
const meterReadingApi = addAliases(meterReading)
const settingApi = addAliases(setting)
const billingApi = addAliases(billing)
// API 模块集合
const api = {
auth: authApi,
apartment: apartmentApi,
room: roomApi,
tenant: tenantApi,
renter: renterApi,
rental: rentalApi,
statistics: statisticsApi,
bill: billApi,
meterReading: meterReadingApi,
setting: settingApi,
billing: billingApi
}
// 导出各模块 API
export {
authApi,
apartmentApi,
roomApi,
tenantApi,
renterApi,
rentalApi,
statisticsApi,
billApi,
meterReadingApi,
settingApi,
billingApi
}
/**
* 安装函数 - 用于 Vue 插件安装
* @param {Object} Vue - Vue 实例
* @param {Object} options - 配置选项
*/
export const install = (Vue, options = {}) => {
// 将 API 挂载到 Vue 原型
Vue.prototype.$api = api
}
// 默认导出
export default api