/**
|
* 报文文件管理器测试脚本
|
* 用于验证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();
|