UNPKG

koishi-plugin-best-cave

Version:

回声洞,可自由添加内容,可配置 MD5/pHash 查重,支持查阅投稿列表(可用但等待重构)

70 lines (69 loc) 2.11 kB
/** * ID管理器类 * 负责管理回声洞ID的分配、删除和统计信息 */ export declare class IdManager { private deletedIds; private maxId; private initialized; private readonly statusFilePath; private stats; private usedIds; /** * 初始化ID管理器 * @param baseDir - 基础目录路径 */ constructor(baseDir: string); /** * 初始化ID管理系统 * @param caveFilePath - 正式回声洞数据文件路径 * @param pendingFilePath - 待处理回声洞数据文件路径 * @throws 当初始化失败时抛出错误 */ initialize(caveFilePath: string, pendingFilePath: string): Promise<void>; /** * 处理ID冲突 * @param conflicts - ID冲突映射表 * @param caveFilePath - 正式回声洞数据文件路径 * @param pendingFilePath - 待处理回声洞数据文件路径 * @param caveData - 正式回声洞数据 * @param pendingData - 待处理回声洞数据 * @private */ private handleConflicts; /** * 获取下一个可用的ID * @returns 下一个可用的ID * @throws 当ID管理器未初始化时抛出错误 */ getNextId(): number; /** * 标记ID为已删除状态 * @param id - 要标记为删除的ID * @throws 当ID管理器未初始化时抛出错误 */ markDeleted(id: number): Promise<void>; /** * 添加贡献统计 * @param contributorNumber - 贡献者编号 * @param caveId - 回声洞ID */ addStat(contributorNumber: string, caveId: number): Promise<void>; /** * 移除贡献统计 * @param contributorNumber - 贡献者编号 * @param caveId - 回声洞ID */ removeStat(contributorNumber: string, caveId: number): Promise<void>; /** * 获取所有贡献统计信息 * @returns 贡献者编号到回声洞ID列表的映射 */ getStats(): Record<string, number[]>; /** * 保存当前状态到文件 * @private * @throws 当保存失败时抛出错误 */ private saveStatus; }