/** * HTML 导出生成器 * 生成现代风格的聊天记录 HTML 页面 * 支持图片/视频内联显示、搜索、主题切换 */ export interface HtmlExportMessage { timestamp: number sender: string senderName: string type: number content: string | null rawContent: string isSend: boolean chatRecords?: HtmlChatRecord[] } export interface HtmlChatRecord { sender: string senderDisplayName: string timestamp: number formattedTime: string type: string datatype: number content: string senderAvatar?: string fileExt?: string fileSize?: number } export interface HtmlMember { id: string name: string avatar?: string } export interface HtmlExportData { meta: { sessionId: string sessionName: string isGroup: boolean exportTime: number messageCount: number dateRange: { start: number; end: number } | null } members: HtmlMember[] messages: HtmlExportMessage[] } export class HtmlExportGenerator { /** * 生成完整的单文件 HTML(内联 CSS + JS + 数据) */ static generateHtmlWithData(exportData: HtmlExportData): string { const escapedSessionName = this.escapeHtml(exportData.meta.sessionName) const dateRangeText = exportData.meta.dateRange ? `${new Date(exportData.meta.dateRange.start * 1000).toLocaleDateString('zh-CN')} - ${new Date(exportData.meta.dateRange.end * 1000).toLocaleDateString('zh-CN')}` : '' return `