import 'package:flutter/material.dart'; import '../models/document.dart'; import '../models/element.dart'; import '../models/annotation.dart'; import '../models/graph.dart'; /// 模拟数据服务 class MockDataService { // 模拟文档数据 static List getMockDocuments() { return [ Document( id: '1', name: '智能票据处理系统-项目计划书.pdf', type: DocumentType.pdf, status: DocumentStatus.completed, createdAt: DateTime.now().subtract(const Duration(days: 1)), updatedAt: DateTime.now().subtract(const Duration(hours: 2)), fileSize: 2048000, parsedText: _getMockParsedText(), ), Document( id: '2', name: '投资分析报告.docx', type: DocumentType.word, status: DocumentStatus.processing, createdAt: DateTime.now().subtract(const Duration(hours: 5)), fileSize: 1536000, ), Document( id: '3', name: '合同扫描件.jpg', type: DocumentType.image, status: DocumentStatus.parsing, createdAt: DateTime.now().subtract(const Duration(hours: 1)), fileSize: 1024000, ), ]; } // 模拟解析后的文本 static String _getMockParsedText() { return '''一、项目概述 本项目由腾讯科技有限公司(以下简称"腾讯")投资建设,旨在打造一套面向大型企业财务共享中心的"智能票据处理系统"。系统通过OCR识别、版面理解、要素抽取与人机协同核验,提升发票、合同、报销单据等票据类文档的处理效率与准确率。 二、投资与资金安排 项目总投资金额为人民币3,700万元,其中已支付1,000万元用于样机研制、数据治理与前期试点。剩余资金将依据阶段性里程碑进行分批拨付,涵盖核心算法优化、系统平台化改造、以及与客户生态的对接集成。 三、技术与产品路线 系统采用多模态文档理解技术,将版面结构、语义上下文与业务词典结合,实现对复杂票据的鲁棒解析。产品形态包含:上传解析端、人工牵引标注端、规则与关系构建端,以及结果交付端。 四、收益预期 预计上线后,票据处理效率提升60%以上,人工核验工作量下降40%,并显著降低AI"幻觉"导致的错判风险,从而提升财务数据的可靠性与可审计性。'''; } // 模拟要素数据 static List getMockElements() { return [ DocumentElement( id: 'e1', type: ElementType.company, label: '公司', value: '腾讯科技有限公司', documentId: '1', ), DocumentElement( id: 'e2', type: ElementType.amount, label: '总投资', value: '3700万', documentId: '1', ), DocumentElement( id: 'e3', type: ElementType.amount, label: '已支付', value: '1000万', documentId: '1', ), DocumentElement( id: 'e4', type: ElementType.amount, label: '剩余投资', value: '2700万', documentId: '1', ), ]; } // 模拟批注数据 static List getMockAnnotations() { return [ Annotation( id: 'a1', text: '腾讯科技有限公司', start: const Offset(0, 0), end: const Offset(100, 20), type: AnnotationType.highlight, documentId: '1', createdAt: DateTime.now(), ), Annotation( id: 'a2', text: '3700万元', start: const Offset(0, 50), end: const Offset(80, 70), type: AnnotationType.highlight, documentId: '1', createdAt: DateTime.now(), ), ]; } // 模拟关系网络数据 static List getMockGraphNodes() { return [ GraphNode( id: 'n1', label: '总投资: 3700万', type: NodeType.element, position: const Offset(100, 100), ), GraphNode( id: 'n2', label: '已支付: 1000万', type: NodeType.element, position: const Offset(100, 200), ), GraphNode( id: 'n3', label: '减去', type: NodeType.operator, position: const Offset(300, 150), ), GraphNode( id: 'n4', label: '剩余投资: 2700万', type: NodeType.result, position: const Offset(500, 150), ), ]; } static List getMockGraphEdges() { return [ GraphEdge(id: 'e1', source: 'n1', target: 'n3', type: EdgeType.calculate), GraphEdge(id: 'e2', source: 'n2', target: 'n3', type: EdgeType.calculate), GraphEdge(id: 'e3', source: 'n3', target: 'n4', type: EdgeType.calculate), ]; } // 模拟Prompt static String getMockPrompt() { return '''原文参考:"项目由腾讯投资,总投资金额为3700万元。根据进度,目前已支付1000万元。" 要求:请根据上述原文,计算项目剩余投资金额。'''; } // 模拟AI回复 static String getMockAIResponse() { return '''根据您提供的信息,项目剩余投资金额为: 3700万 - 1000万 = 2700万元 计算过程: - 总投资金额:3700万元 - 已支付金额:1000万元 - 剩余投资金额 = 总投资金额 - 已支付金额 = 3700 - 1000 = 2700万元'''; } }