## 问题分析

在 `main.js` 文件中，当用户点击菜单项时，代码使用了 `e.preventDefault()` 来阻止默认行为，这导致浏览器不会自动更新地址栏中的 hash。虽然 `dashboard.js` 文件中有 `handleHashChange` 函数来处理 hash 变化，但由于 `main.js` 中的 `e.preventDefault()`，点击菜单项时不会触发 hash 变化。

## 修复方案

1. **修改 `main.js` 文件**：移除 `e.preventDefault()`，或者在处理完点击事件后手动更新地址栏中的 hash
2. **确保 `main.js` 和 `dashboard.js` 中的点击事件处理逻辑不冲突**
3. **统一页面导航逻辑**：确保所有页面导航都通过 hash 变化来实现

## 修复步骤

1. **修改 `main.js` 文件**：
   - 移除 `e.preventDefault()`，允许浏览器自动更新地址栏中的 hash
   - 或者在处理完点击事件后，手动设置 `window.location.hash = item.getAttribute('href')`
   - 确保点击事件处理逻辑与 `dashboard.js` 中的 `handleHashChange` 函数兼容

2. **测试修复效果**：
   - 点击菜单项，检查地址栏中的 hash 是否正确更新
   - 刷新页面，检查是否能保持在当前页面
   - 直接修改地址栏中的 hash，检查是否能正确导航到对应页面

## 预期效果

- 用户点击菜单项时，地址栏中的 hash 会自动更新
- 页面刷新时，会保持在当前页面
- 直接修改地址栏中的 hash 可以导航到对应页面
- 所有页面导航逻辑统一，避免冲突