# 401未授权错误解决方案

## 问题原因

控制台出现401错误的原因：
1. **未登录**：用户还没有登录，但前端代码尝试获取用户信息和工作流列表
2. **Token过期**：之前的token已过期或无效
3. **Token丢失**：localStorage中的token被清除

## 已修复

### 1. 优化Home页面数据获取逻辑 ✅

修改了 `Home.vue`，确保：
- 只有在有token的情况下才尝试获取数据
- 如果获取用户信息失败，自动清除token并跳转到登录页
- 只有在成功获取用户信息后才获取工作流列表

### 2. 优化用户信息获取 ✅

修改了 `user.ts` 中的 `fetchUser` 函数：
- 如果401错误，自动清除token
- 更好的错误处理

## 解决方案

### 如果看到401错误：

1. **检查是否已登录**
   - 如果未登录，请先登录
   - 登录后token会自动保存

2. **清除旧的token**
   - 打开浏览器控制台（F12）
   - 在Console中输入：`localStorage.removeItem('token')`
   - 刷新页面，重新登录

3. **检查登录状态**
   - 打开浏览器控制台（F12）
   - 在Console中输入：`localStorage.getItem('token')`
   - 如果有值，说明token存在
   - 如果为null，说明需要重新登录

## 正常流程

1. **访问首页** → 如果没有token，自动跳转到登录页
2. **登录** → 获取token并保存
3. **自动跳转** → 跳转到首页
4. **获取数据** → 使用token获取用户信息和工作流列表

## 测试步骤

1. **清除token**（如果需要）：
   ```javascript
   localStorage.removeItem('token')
   ```

2. **刷新页面** → 应该自动跳转到登录页

3. **登录** → 输入用户名和密码

4. **检查** → 登录成功后应该：
   - 自动跳转到首页
   - 不再出现401错误
   - 显示工作流列表

---

**状态**: ✅ 已修复
**时间**: 2024年
