minishouyin/test/test-navigation.js

67 lines
2.1 KiB
JavaScript
Raw Normal View History

2025-11-12 11:35:57 +08:00
// 测试导航功能的脚本
const fs = require('fs');
const path = require('path');
console.log('=== 导航功能测试 ===');
// 检查关键文件是否存在
const filesToCheck = [
'./src/renderer/utils/electron-router.js',
'./src/renderer/components/Layout.js',
'./src/renderer/App.js'
];
console.log('\n1. 检查关键文件:');
filesToCheck.forEach(file => {
const fullPath = path.join(__dirname, file);
if (fs.existsSync(fullPath)) {
console.log(`${file} 存在`);
} else {
console.log(`${file} 不存在`);
}
});
// 检查App.js是否正确导入和初始化electron-router
console.log('\n2. 检查App.js中的electron-router初始化:');
try {
const appJsPath = path.join(__dirname, 'src', 'renderer', 'App.js');
const appJsContent = fs.readFileSync(appJsPath, 'utf8');
if (appJsContent.includes('import { initElectronRouter }')) {
console.log('✅ 正确导入了initElectronRouter');
} else {
console.log('❌ 未找到initElectronRouter导入');
}
if (appJsContent.includes('initElectronRouter()')) {
console.log('✅ 正确调用了initElectronRouter()');
} else {
console.log('❌ 未找到initElectronRouter()调用');
}
} catch (error) {
console.log('❌ 检查App.js时出错:', error.message);
}
// 检查Layout.js中的导航处理
console.log('\n3. 检查Layout.js中的导航处理:');
try {
const layoutJsPath = path.join(__dirname, 'src', 'renderer', 'components', 'Layout.js');
const layoutJsContent = fs.readFileSync(layoutJsPath, 'utf8');
if (layoutJsContent.includes('electronNavigate')) {
console.log('✅ Layout.js中使用了electronNavigate');
} else {
console.log('❌ Layout.js中未使用electronNavigate');
}
if (layoutJsContent.includes('handleMenuClick')) {
console.log('✅ 找到handleMenuClick函数');
} else {
console.log('❌ 未找到handleMenuClick函数');
}
} catch (error) {
console.log('❌ 检查Layout.js时出错:', error.message);
}
console.log('\n=== 测试完成 ===');
console.log('如果所有检查都显示✅,则导航功能应该正常工作。');