const fs = require('fs'); const path = require('path'); console.log('=== 收银台应用路由诊断工具 ==='); console.log('开始检查应用路由配置...'); // 检查App.js中的路由配置 function checkAppRoutes() { console.log('\n[1] 检查App.js路由配置:'); try { const appFilePath = path.join(__dirname, 'src', 'renderer', 'App.js'); const appContent = fs.readFileSync(appFilePath, 'utf8'); if (appContent.includes('} />') && appContent.includes('} />')) { console.log('✅ App.js路由配置正确,包含收银台路径'); } else { console.log('❌ App.js路由配置中未找到收银台路径'); } if (appContent.includes('const mockUser = {')) { console.log('✅ 找到模拟用户配置,跳过登录'); } else { console.log('❌ 未找到模拟用户配置,可能需要登录'); } } catch (error) { console.log('❌ 读取App.js失败:', error.message); } } // 检查Layout.js中的菜单配置 function checkLayoutMenu() { console.log('\n[2] 检查Layout.js菜单配置:'); try { const layoutFilePath = path.join(__dirname, 'src', 'renderer', 'components', 'Layout.js'); const layoutContent = fs.readFileSync(layoutFilePath, 'utf8'); if (layoutContent.includes("key: '/cashier',")) { console.log('✅ Layout.js中找到收银台菜单项'); } else { console.log('❌ Layout.js中未找到收银台菜单项'); } if (layoutContent.includes('function handleMenuClick')) { console.log('✅ 找到菜单点击处理函数'); } else { console.log('❌ 未找到菜单点击处理函数'); } } catch (error) { console.log('❌ 读取Layout.js失败:', error.message); } } // 检查Cashier组件导入 function checkCashierImport() { console.log('\n[3] 检查Cashier组件导入:'); try { const cashierFilePath = path.join(__dirname, 'src', 'renderer', 'pages', 'Cashier.js'); if (fs.existsSync(cashierFilePath)) { console.log('✅ Cashier.js文件存在'); const cashierContent = fs.readFileSync(cashierFilePath, 'utf8'); if (cashierContent.includes('export default Cashier;')) { console.log('✅ Cashier组件正确导出'); } else { console.log('❌ Cashier组件未正确导出'); } } else { console.log('❌ Cashier.js文件不存在'); } } catch (error) { console.log('❌ 检查Cashier组件失败:', error.message); } } // 检查API服务 function checkApiService() { console.log('\n[4] 检查API服务配置:'); try { const apiFilePath = path.join(__dirname, 'src', 'renderer', 'services', 'api.js'); const apiContent = fs.readFileSync(apiFilePath, 'utf8'); if (apiContent.includes('function findAvailablePort()')) { console.log('✅ 找到findAvailablePort函数'); } else { console.log('❌ 未找到findAvailablePort函数'); } if (apiContent.includes('const apiMethods = {')) { console.log('✅ 找到API方法定义'); } else { console.log('❌ 未找到API方法定义'); } // 检查是否有detectApiPort函数(可能是错误的调用) if (apiContent.includes('detectApiPort')) { console.log('⚠️ 发现detectApiPort函数调用,可能需要修改为findAvailablePort'); } } catch (error) { console.log('❌ 检查API服务失败:', error.message); } } // 执行所有检查 checkAppRoutes(); checkLayoutMenu(); checkCashierImport(); checkApiService(); console.log('\n=== 诊断完成 ==='); console.log('请检查是否有任何❌错误项,这些可能是导致收银台菜单无响应的原因。');