import { Network } from "../utils/Network"; import { Journal, JournalPage } from "../types/Journal"; import { QueryPageResult } from "../types/Model"; /** * Journal 日记 API * * 按业务模块封装网络请求,使代码更清晰、可维护 */ export class JournalApi { /** * 获取日记详情 * * @param id - 日记 ID */ static getDetail(id: number | string): Promise { return Network.post(`/journal/${id}`); } /** * 日记分页列表 * * @param pageParams - 分页参数 */ static getList(pageParams: JournalPage): Promise> { return Network.post>("/journal/list", pageParams); } /** * 创建日记 * * @param data - 日记数据 */ static create(data: Partial & { pusher?: string; tempFileIds?: string[]; }): Promise { return Network.post("/journal/create", data, { showLoading: true, loadingText: "正在保存.." }); } /** * 更新日记 * * @param data - 日记数据(必须包含 id) */ static update(data: Partial & { id: number; attachmentIds?: number[]; tempFileIds?: string[]; }): Promise { return Network.post("/journal/update", data, { showLoading: true, loadingText: "正在保存.." }); } /** * 删除日记 * * @param id - 日记 ID */ static delete(id: number): Promise { return Network.post("/journal/delete", { id }, { showLoading: true, loadingText: "删除中..." }); } /** * 获取 openId(用于推送) * * @param code - 微信登录 code */ static getOpenId(code: string): Promise { return Network.post("/journal/openid", { code }); } /** * 根据 ID 列表获取日记 * * @param ids - 日记 ID 列表 */ static getListByIds(ids: number[]): Promise { return Network.post("/journal/list/ids", ids); } }