refactor travel

This commit is contained in:
Timi
2025-12-13 18:44:37 +08:00
parent 880e702288
commit 69659a1746
37 changed files with 4154 additions and 400 deletions

View File

@ -0,0 +1,61 @@
import { Network } from "../utils/Network";
import { Travel } from "../types/Travel";
import { QueryPage, QueryPageResult } from "../types/Model";
/**
* Travel 旅行计划 API
*
* 按业务模块封装网络请求,使代码更清晰、可维护
*/
export class TravelApi {
/**
* 获取旅行详情
*
* @param id - 旅行 ID
*/
static getDetail(id: number | string): Promise<Travel> {
return Network.get<Travel>(`/journal/travel/${id}`);
}
/**
* 旅行分页列表
*
* @param pageParams - 分页参数
*/
static getList(pageParams: QueryPage): Promise<QueryPageResult<Travel>> {
return Network.page<Travel>("/journal/travel/list", pageParams);
}
/**
* 创建旅行
*
* @param data - 旅行数据
*/
static create(data: Partial<Travel>): Promise<Travel> {
return Network.post<Travel>("/journal/travel/create", data, {
showLoading: true,
loadingText: "正在保存.."
});
}
/**
* 更新旅行
*
* @param data - 旅行数据(必须包含 id
*/
static update(data: Partial<Travel> & { id: number }): Promise<Travel> {
return Network.post<Travel>("/journal/travel/update", data, {
showLoading: true,
loadingText: "正在保存.."
});
}
/**
* 删除旅行
*
* @param id - 旅行 ID
*/
static delete(id: number): Promise<void> {
return Network.post<void>("/journal/travel/delete", { id });
}
}

View File

@ -0,0 +1,70 @@
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<TravelLocation> {
return Network.get<TravelLocation>(`/journal/travel/location/${id}`);
}
/**
* 获取旅行地点分页列表
*
* @param pageParams - 分页参数(通常包含 travelId 筛选)
*/
static getList(pageParams: QueryPage): Promise<QueryPageResult<TravelLocation>> {
return Network.page<TravelLocation>("/journal/travel/location/list", pageParams);
}
/**
* 创建旅行地点
*
* @param data - 地点数据
*/
static create(data: Partial<TravelLocation>): Promise<TravelLocation> {
return Network.post<TravelLocation>("/journal/travel/location/create", data, {
showLoading: true,
loadingText: "正在保存.."
});
}
/**
* 更新旅行地点
*
* @param data - 地点数据(必须包含 id
*/
static update(data: Partial<TravelLocation> & { id: number }): Promise<TravelLocation> {
return Network.post<TravelLocation>("/journal/travel/location/update", data, {
showLoading: true,
loadingText: "正在保存.."
});
}
/**
* 删除旅行地点
*
* @param id - 地点 ID
*/
static delete(id: number): Promise<void> {
return Network.post<void>("/journal/travel/location/delete", { id });
}
/**
* 批量获取旅行地点
*
* @param ids - 地点 ID 数组
*/
static getListByIds(ids: number[]): Promise<TravelLocation[]> {
return Network.post<TravelLocation[]>("/journal/travel/location/list/ids", ids);
}
}