/** * 点赞管理和收藏管理404问题诊断脚本 * 在浏览器控制台中运行此脚本 */ console.log('========================================'); console.log('开始诊断点赞管理和收藏管理404问题'); console.log('========================================'); console.log(''); // 1. 检查路由配置 console.log('1. 检查前端路由配置:'); try { const router = window.$nuxt ? window.$nuxt.$router : (window.app ? window.app.$router : null); if (router) { const routes = router.options.routes; const contentManage = routes.find(r => r.path === '/contentManage'); if (contentManage) { console.log('✓ 找到 contentManage 路由'); const likeRoute = contentManage.children?.find(c => c.path === 'like/list'); const collectRoute = contentManage.children?.find(c => c.path === 'collect/list'); if (likeRoute) { console.log('✓ 找到点赞管理路由:', likeRoute); } else { console.log('✗ 未找到点赞管理路由'); } if (collectRoute) { console.log('✓ 找到收藏管理路由:', collectRoute); } else { console.log('✗ 未找到收藏管理路由'); } } else { console.log('✗ 未找到 contentManage 路由'); } } else { console.log('⚠ 无法访问路由对象,请在Vue应用中运行此脚本'); } } catch (e) { console.log('✗ 检查路由时出错:', e.message); } console.log(''); // 2. 检查动态路由 console.log('2. 检查动态路由(从store获取):'); try { const store = window.$nuxt ? window.$nuxt.$store : (window.app ? window.app.$store : null); if (store) { const permissionRoutes = store.state.permission?.routes || []; console.log('动态路由数量:', permissionRoutes.length); const contentManage = permissionRoutes.find(r => r.name === 'ContentManage' || r.url === '/contentManage'); if (contentManage) { console.log('✓ 找到内容管理菜单'); console.log('子菜单:', contentManage.child?.map(c => c.name) || []); const likeMenu = contentManage.child?.find(c => c.name === '点赞管理' || c.url === '/contentManage/like/list'); const collectMenu = contentManage.child?.find(c => c.name === '收藏管理' || c.url === '/contentManage/collect/list'); if (likeMenu) { console.log('✓ 找到点赞管理菜单:', likeMenu); } else { console.log('✗ 未找到点赞管理菜单'); } if (collectMenu) { console.log('✓ 找到收藏管理菜单:', collectMenu); } else { console.log('✗ 未找到收藏管理菜单'); } } else { console.log('✗ 未找到内容管理菜单'); } } else { console.log('⚠ 无法访问store对象'); } } catch (e) { console.log('✗ 检查动态路由时出错:', e.message); } console.log(''); // 3. 检查组件是否存在 console.log('3. 尝试加载组件:'); console.log('请手动检查以下文件是否存在:'); console.log('- src/views/like/index.vue'); console.log('- src/views/collect/index.vue'); console.log('- src/api/userActivity.js'); console.log(''); // 4. 检查当前路由 console.log('4. 当前路由信息:'); try { const router = window.$nuxt ? window.$nuxt.$router : (window.app ? window.app.$router : null); if (router) { console.log('当前路径:', router.currentRoute.path); console.log('当前路由名称:', router.currentRoute.name); console.log('路由参数:', router.currentRoute.params); } } catch (e) { console.log('✗ 获取当前路由时出错:', e.message); } console.log(''); // 5. 诊断建议 console.log('========================================'); console.log('诊断建议:'); console.log('========================================'); console.log(''); console.log('如果未找到路由或菜单,请检查:'); console.log('1. 数据库中菜单配置是否正确(执行 check_like_collect_menu.sql)'); console.log('2. 是否重新登录(菜单在登录时加载)'); console.log('3. 前端是否重新编译(npm run build:prod)'); console.log('4. 前端文件是否重新部署'); console.log('5. 浏览器缓存是否清除(Ctrl+Shift+Delete)'); console.log(''); console.log('如果找到了路由但仍然404,请检查:'); console.log('1. 组件文件是否存在'); console.log('2. 编译后的dist目录是否包含这些组件'); console.log('3. Network标签中是否有组件加载失败的请求'); console.log(''); console.log('========================================');