import InDB from 'indb'; import { LogItem, RET, ResponseData } from './interface'; declare const LOG_DAY_TABLE_PRIMARY_KEY = "logDay"; declare const LOG_DETAIL_REPORTNAME_INDEX = "logReportName"; declare const LOG_DETAIL_CREATETIME_INDEX = "logCreateTime"; declare type TimeStamp = number; export interface DBLogDayItem { [LOG_DAY_TABLE_PRIMARY_KEY]: string; } export interface DBLogItem extends LogItem { [LOG_DETAIL_REPORTNAME_INDEX]: string; [LOG_DETAIL_CREATETIME_INDEX]: TimeStamp; id: number; } declare class LogDB { db: InDB; dbError: DOMException; tbLog: IDBTransaction; DBVersion: string; DBName: string; /** * * @param dbCreateOk dbCreateOk:数据库连接及数据表获取或创建成功后callback * @param dbCreateError :数据库连接失败后的callback * @param DBName :数据库名称,默认DBNAME */ constructor(DBName?: string, ready?: Function); judgeDBIsConnected(): ResponseData; /** * @description 添加一条日志记录 * @param logItem * @param immediate 是否要求立即上报,true存到立即上传的日志表 jzx_log_immediate_table ,否则存默认日志表jzx_log_table */ addLogItem(logItem: LogItem): Promise; /** * @description 添加多条日志记录 * @param logItem * @param immediate 是否要求立即上报,true存到立即上传的日志表 jzx_log_immediate_table ,否则存默认日志表jzx_log_table */ addLogItems(logItems: Array): Promise<{ ret: RET; data: { ids: number[]; }; }>; /** * @description 获取 某一天 或者 某些天 的所有的日志数据 * @param reportName 日期 例:2020-06-16 或者 日期集合['2020-06-16','2020-06-17'] */ getLogsByReportName(reportName: string | Array): Promise>; getAllLogDays(): Promise; /** * @description 删除指定日期(集合或单个)的日志表jzx_log_table中信息 以及日志jzx_log_day_table天信息 * @param logDay :可以单个日期,或者日期集合 */ incrementalDeleteByDay(logDay: string | Array): Promise; /** * 删除日志集合中的日志,根据日志id进行删除 * 删除当日清除的日志信息和日志日期信息 */ incrementalDeleteLogs(logs: Array, days: Array): Promise; /***记录或更新,最后一次删除时间 */ updateDayRemovedInfo(date: string): Promise; /** * 获取最后一次每日删除操作的日信息,格式:2020-06-16 */ getDayRemovedDayInfo(): Promise; /*************************对Immediate_Table操作*********************************************/ addLogItemImmediate(logItem: LogItem): Promise; addLogItemsImmediate(logItems: Array): Promise; getLogItemImmediate(logId: any): Promise; getLogItemsImmediate(logIds: Array): Promise>; /**立即上传日志表的 jzx_log_immediate_table log删除*/ incrementDeleteLogInImmediateTable(logId: number): Promise; incrementDeleteLogsInImmediateTable(logIds: Array): Promise; getAllImediateLogs(): Promise>; /**删除log*/ deleteImediateLog(logs: Array): Promise; } export default LogDB;