# 登录服务模块设计文档

## 概述

本文档描述了系统登录服务模块的类结构和交互流程，包括用户登录、密码修改、权限验证等核心功能。

## 类图

### 核心实体类图
展示了登录过程中涉及的核心实体类及其关系：
- `SysUser`: 系统用户实体类
- `LoginUser`: 登录用户身份权限类
- `LoginBody`: 用户登录请求参数类
- `SecurityUtils`: 安全工具类

### 控制层与服务层类图
展示了登录服务的架构层次和组件间依赖关系：
- `SysLoginController`: 登录控制器
- `SysLoginService`: 登录服务
- `TokenService`: Token服务
- `SysPermissionService`: 权限服务
- `UserDetailsServiceImpl`: Spring Security用户详情服务

## 时序图

### 登录功能时序图
描述了用户登录的完整流程：
1. 用户发起登录请求
2. 系统解密请求参数
3. 验证码校验
4. 用户身份认证
5. 生成并返回Token

### 初始密码修改时序图
描述了用户首次登录时修改初始密码的流程：
1. 用户发起密码修改请求
2. 系统验证用户身份
3. 验证新密码强度
4. 更新用户密码

### 获取用户信息时序图
描述了获取当前登录用户详细信息的流程：
1. 用户请求个人信息
2. 系统获取用户的角色和权限
3. 返回完整的用户信息

### 获取路由信息时序图
描述了获取用户菜单路由信息的流程：
1. 用户请求路由信息
2. 系统根据用户权限构建菜单树
3. 返回路由结构数据

### JWT Token验证流程时序图
描述了请求过程中Token验证和刷新的机制：
1. 客户端发送带Token的请求
2. 系统验证Token有效性
3. 必要时刷新Token过期时间

## 文件列表

- [LoginService_ClassDiagram.md](LoginService_ClassDiagram.md) - 登录服务类图
- [Login_SequenceDiagram.md](Login_SequenceDiagram.md) - 登录功能时序图
- [TokenValidation_SequenceDiagram.md](TokenValidation_SequenceDiagram.md) - Token验证流程时序图
