# 登录服务模块功能描述

## 整体功能描述

登录服务模块是整个系统安全认证的核心组件，负责处理用户的身份验证、权限管理和会话维持。该模块基于Spring Security框架实现，采用JWT（JSON Web Token）技术进行无状态认证，结合Redis缓存提高系统性能。

主要功能包括：
1. 用户登录认证：验证用户凭证，生成访问令牌
2. 验证码校验：防止暴力破解和自动化攻击
3. 密码安全管理：初始密码修改、密码强度验证、密码过期检查
4. 权限信息加载：获取用户角色和菜单权限
5. 会话管理：Token创建、验证、刷新和销毁
6. 用户信息查询：获取当前登录用户详细信息
7. 路由信息生成：根据用户权限构建前端菜单路由

## 接口描述

### 1. 用户登录接口
- **接口地址**：`POST /login`
- **功能描述**：用户登录认证，验证用户名、密码和验证码，成功后返回JWT令牌
- **请求参数**：
  - `username` (String): 用户名
  - `password` (String): 密码（可能经过AES加密）
  - `code` (String): 验证码
  - `uuid` (String): 验证码唯一标识
- **响应结果**：
  - 登录成功：返回包含token的JSON对象
  - 初始密码：返回提示信息要求修改密码
  - 认证失败：返回错误信息

### 2. 初始密码修改接口
- **接口地址**：`PUT /initPassword`
- **功能描述**：用户首次登录时修改初始密码
- **请求参数**：
  - `username` (String): 用户名
  - `password` (String): 当前密码
  - `newPassword` (String): 新密码
  - `code` (String): 验证码
  - `uuid` (String): 验证码唯一标识
- **响应结果**：
  - 修改成功：返回成功信息
  - 修改失败：返回错误原因

### 3. 获取用户信息接口
- **接口地址**：`GET /getInfo`
- **功能描述**：获取当前登录用户的详细信息，包括用户资料、角色权限等
- **请求参数**：无（从Token中获取用户信息）
- **响应结果**：
  - `user`: 用户基本信息
  - `roles`: 用户角色列表
  - `permissions`: 用户权限标识集合
  - `postType`: 用户岗位类型

### 4. 获取路由信息接口
- **接口地址**：`GET /getRouters`
- **功能描述**：根据用户权限生成前端路由菜单结构
- **请求参数**：无（从Token中获取用户ID）
- **响应结果**：返回符合前端路由格式的菜单树结构

### 5. 获取高频功能接口
- **接口地址**：`GET /getHighUse`
- **功能描述**：获取用户常用功能统计信息
- **请求参数**：无
- **响应结果**：返回用户操作频率最高的功能列表

### 6. 获取数据统计接口
- **接口地址**：`GET /getStatistics`
- **功能描述**：获取用户相关的数据统计信息
- **请求参数**：无
- **响应结果**：返回各类业务数据统计

### 7. 获取图表数据接口
- **接口地址**：`GET /getChartData`
- **功能描述**：获取用于前端图表展示的数据
- **请求参数**：无
- **响应结果**：返回各类图表数据，根据不同岗位类型返回不同数据结构
