import { Network } from "../utils/Network"; import { TravelLocation } from "../types/Travel"; import { QueryPage, QueryPageResult } from "../types/Model"; /** * TravelLocation 旅行地点 API * * 按业务模块封装网络请求,使代码更清晰、可维护 */ export class TravelLocationApi { /** * 获取旅行地点详情 * * @param id - 地点 ID */ static getDetail(id: number | string): Promise { return Network.get(`/journal/travel/location/${id}`); } /** * 获取旅行地点分页列表 * * @param pageParams - 分页参数(通常包含 travelId 筛选) */ static getList(pageParams: QueryPage): Promise> { return Network.page("/journal/travel/location/list", pageParams); } /** * 创建旅行地点 * * @param data - 地点数据 */ static create(data: Partial): Promise { return Network.post("/journal/travel/location/create", data, { showLoading: true, loadingText: "正在保存.." }); } /** * 更新旅行地点 * * @param data - 地点数据(必须包含 id) */ static update(data: Partial & { id: number }): Promise { return Network.post("/journal/travel/location/update", data, { showLoading: true, loadingText: "正在保存.." }); } /** * 删除旅行地点 * * @param id - 地点 ID */ static delete(id: number): Promise { return Network.post("/journal/travel/location/delete", { id }); } /** * 批量获取旅行地点 * * @param ids - 地点 ID 数组 */ static getListByIds(ids: number[]): Promise { return Network.post("/journal/travel/location/list/ids", ids); } }