/** * 报文文件管理器测试脚本 * 用于验证55AA51报文解析和文件记录功能 */ // 模拟uni-app环境 global.uni = { getSystemInfoSync: () => ({ platform: 'android' }), getFileSystemManager: () => ({ writeFile: (options) => { console.log('写入文件:', options.filePath); console.log('文件内容:', options.data); options.success && options.success(); }, appendFile: (options) => { console.log('追加文件:', options.filePath); console.log('追加内容:', options.data); options.success && options.success(); } }) }; // 模拟plus环境 global.plus = { io: { convertLocalFileSystemURL: (path) => `/storage/emulated/0/Download/${path}`, PRIVATE_DOC: 'private_doc' } }; // 导入报文文件管理器 const { MessageFileManager } = require('./utils/messageFileManager.js'); async function testMessageFileManager() { console.log('=== 开始测试报文文件管理器 ===\n'); // 创建管理器实例 const manager = new MessageFileManager(); try { // 1. 测试初始化 console.log('1. 测试初始化...'); const initResult = await manager.initialize(); console.log('初始化结果:', initResult ? '成功' : '失败'); console.log('文件信息:', manager.getFileInfo()); console.log(''); // 2. 测试报文解析 console.log('2. 测试报文解析...'); const testMessage = '55AA5128221111110F74011E000000086464000000001144AA5601CDFF0000016424000000000000000014FA'; const parsedData = manager.parseAoaMessage(testMessage); console.log('解析结果:', parsedData); console.log(''); // 3. 测试文件写入 console.log('3. 测试文件写入...'); await manager.parseAndWriteMessage(testMessage); console.log('文件写入完成'); console.log(''); // 4. 测试多个报文 console.log('4. 测试多个报文...'); const testMessages = [ '55AA5128221111110F74011E000000086464000000001144AA5601CDFF0000016424000000000000000014FA', '55AA5128222222220F74011E000000086464000000002244AA5601CDFF0000016424000000000000000024FA', '55AA5128223333330F74011E000000086464000000003344AA5601CDFF0000016424000000000000000034FA' ]; for (let i = 0; i < testMessages.length; i++) { console.log(`写入报文 ${i + 1}:`, testMessages[i]); await manager.parseAndWriteMessage(testMessages[i]); } console.log(''); // 5. 测试错误处理 console.log('5. 测试错误处理...'); const invalidMessage = '55AA500000000000000000000000000000000000000000000000000000000000000000000000'; const invalidResult = manager.parseAoaMessage(invalidMessage); console.log('无效报文解析结果:', invalidResult); console.log(''); // 6. 显示最终状态 console.log('6. 最终状态...'); const finalInfo = manager.getFileInfo(); console.log('文件信息:', finalInfo); console.log(''); console.log('=== 测试完成 ==='); } catch (error) { console.error('测试过程中发生错误:', error); } } // 运行测试 testMessageFileManager();