apply Network.ts
This commit is contained in:
89
miniprogram/api/JournalApi.ts
Normal file
89
miniprogram/api/JournalApi.ts
Normal file
@ -0,0 +1,89 @@
|
||||
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<Journal> {
|
||||
return Network.post<Journal>(`/journal/${id}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* 日记分页列表
|
||||
*
|
||||
* @param pageParams - 分页参数
|
||||
*/
|
||||
static getList(pageParams: JournalPage): Promise<QueryPageResult<Journal>> {
|
||||
return Network.post<QueryPageResult<Journal>>("/journal/list", pageParams);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建日记
|
||||
*
|
||||
* @param data - 日记数据
|
||||
*/
|
||||
static create(data: Partial<Journal> & {
|
||||
pusher?: string;
|
||||
tempFileIds?: string[];
|
||||
}): Promise<Journal> {
|
||||
return Network.post<Journal>("/journal/create", data, {
|
||||
showLoading: true,
|
||||
loadingText: "正在保存.."
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新日记
|
||||
*
|
||||
* @param data - 日记数据(必须包含 id)
|
||||
*/
|
||||
static update(data: Partial<Journal> & {
|
||||
id: number;
|
||||
attachmentIds?: number[];
|
||||
tempFileIds?: string[];
|
||||
}): Promise<Journal> {
|
||||
return Network.post<Journal>("/journal/update", data, {
|
||||
showLoading: true,
|
||||
loadingText: "正在保存.."
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除日记
|
||||
*
|
||||
* @param id - 日记 ID
|
||||
*/
|
||||
static delete(id: number): Promise<void> {
|
||||
return Network.post<void>("/journal/delete", { id }, {
|
||||
showLoading: true,
|
||||
loadingText: "删除中..."
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取 openId(用于推送)
|
||||
*
|
||||
* @param code - 微信登录 code
|
||||
*/
|
||||
static getOpenId(code: string): Promise<string> {
|
||||
return Network.post<string>("/journal/openid", { code });
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据 ID 列表获取日记
|
||||
*
|
||||
* @param ids - 日记 ID 列表
|
||||
*/
|
||||
static getListByIds(ids: number[]): Promise<Journal[]> {
|
||||
return Network.post<Journal[]>("/journal/list/ids", ids);
|
||||
}
|
||||
}
|
||||
69
miniprogram/api/MomentApi.ts
Normal file
69
miniprogram/api/MomentApi.ts
Normal file
@ -0,0 +1,69 @@
|
||||
import { Network } from "../utils/Network";
|
||||
import { Attachment } from "../types/Attachment";
|
||||
|
||||
/**
|
||||
* Moment 瞬间 API
|
||||
*
|
||||
* 管理临时照片/视频上传、归档到日记等操作
|
||||
*/
|
||||
export class MomentApi {
|
||||
/**
|
||||
* 获取 moment 列表
|
||||
*/
|
||||
static getList(): Promise<Attachment[]> {
|
||||
return Network.post<Attachment[]>("/journal/moment/list");
|
||||
}
|
||||
|
||||
/**
|
||||
* MD5 查重过滤
|
||||
*
|
||||
* @param md5s - MD5 值数组
|
||||
* @returns 未重复的 MD5 数组
|
||||
*/
|
||||
static filterByMD5(md5s: string[]): Promise<string[]> {
|
||||
return Network.post<string[]>("/journal/moment/filter", md5s);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建 moment 附件
|
||||
*
|
||||
* @param tempFileIds - 临时文件 ID 数组
|
||||
* @returns 创建的附件列表
|
||||
*/
|
||||
static create(tempFileIds: string[]): Promise<Attachment[]> {
|
||||
return Network.post<Attachment[]>("/journal/moment/create", tempFileIds, {
|
||||
showLoading: true,
|
||||
loadingText: "正在保存.."
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 归档 moments 到日记
|
||||
*
|
||||
* @param data - 归档数据
|
||||
*/
|
||||
static archive(data: {
|
||||
id?: number;
|
||||
type: string;
|
||||
idea: string;
|
||||
lat?: number;
|
||||
lng?: number;
|
||||
location?: string;
|
||||
pusher: string;
|
||||
thumbIds: number[];
|
||||
}): Promise<void> {
|
||||
return Network.post<void>("/journal/moment/archive", data, {
|
||||
showLoading: true,
|
||||
loadingText: "正在归档.."
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除 moments
|
||||
*
|
||||
* @param ids - 附件 ID 数组
|
||||
*/
|
||||
static delete(ids: number[]): Promise<void> {
|
||||
return Network.post<void>("/journal/moment/delete", ids);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user