koishi-plugin-best-cave
Version:
回声洞,可自由添加内容,可配置 MD5/pHash 查重,支持查阅投稿列表(可用但等待重构)
90 lines (89 loc) • 2.96 kB
TypeScript
import { Context } from 'koishi';
import { Config, PendingCave } from '..';
import { IdManager } from './IdManager';
/**
* 管理洞审核相关操作的类
*/
export declare class AuditManager {
private ctx;
private config;
private idManager;
private logger;
/**
* 创建审核管理器实例
* @param ctx - Koishi 上下文
* @param config - 配置对象
* @param idManager - ID 管理器实例
*/
constructor(ctx: Context, config: Config, idManager: IdManager);
/**
* 处理审核操作
* @param pendingData - 待审核的洞数据数组
* @param isApprove - 是否通过审核
* @param caveFilePath - 洞数据文件路径
* @param resourceDir - 资源目录路径
* @param pendingFilePath - 待审核数据文件路径
* @param session - 会话对象
* @param targetId - 目标洞ID(可选)
* @returns 处理结果消息
*/
processAudit(pendingData: PendingCave[], isApprove: boolean, caveFilePath: string, resourceDir: string, pendingFilePath: string, session: any, targetId?: number): Promise<string>;
/**
* 处理单条审核
* @param pendingData - 待审核的洞数据数组
* @param isApprove - 是否通过审核
* @param caveFilePath - 洞数据文件路径
* @param resourceDir - 资源目录路径
* @param pendingFilePath - 待审核数据文件路径
* @param targetId - 目标洞ID
* @param session - 会话对象
* @returns 处理结果消息
* @private
*/
private handleSingleAudit;
/**
* 处理批量审核
* @param pendingData - 待审核的洞数据数组
* @param isApprove - 是否通过审核
* @param caveFilePath - 洞数据文件路径
* @param resourceDir - 资源目录路径
* @param pendingFilePath - 待审核数据文件路径
* @param session - 会话对象
* @returns 处理结果消息
* @private
*/
private handleBatchAudit;
/**
* 发送审核消息给管理员
* @param cave - 待审核的洞数据
* @param content - 消息内容
* @param session - 会话对象
*/
sendAuditMessage(cave: PendingCave, content: string, session: any): Promise<void>;
/**
* 删除媒体文件
* @param cave - 洞数据
* @param resourceDir - 资源目录路径
* @private
*/
private deleteMediaFiles;
/**
* 清理元素数据用于保存
* @param elements - 元素数组
* @param keepIndex - 是否保留索引
* @returns 清理后的元素数组
* @private
*/
private cleanElementsForSave;
/**
* 发送消息
* @param session - 会话对象
* @param key - 消息key
* @param params - 消息参数
* @param isTemp - 是否为临时消息
* @param timeout - 临时消息超时时间
* @returns 空字符串
* @private
*/
private sendMessage;
}