Files
jsowell-charger-web/jsowell-framework/CLAUDE.md

138 lines
3.5 KiB
Markdown
Raw Normal View History

2026-02-03 14:20:30 +08:00
[根目录](../CLAUDE.md) > **jsowell-framework**
# jsowell-framework 模块
核心框架模块,提供安全、权限、登录等基础服务。
---
## 变更记录 (Changelog)
### 2026-02-03 11:32:30
- 初始化模块文档
- 识别 45 个核心类
---
## 模块职责
- **安全框架**: Spring Security 配置
- **JWT 认证**: Token 生成与验证
- **权限控制**: 数据权限、接口权限
- **数据源管理**: 动态数据源、Druid 配置
- **AOP 切面**: 日志、限流、数据权限
- **异常处理**: 全局异常处理
---
## 入口与启动
本模块为基础框架模块,无独立启动入口。
---
## 对外接口
### 核心服务
| 服务 | 说明 |
|------|------|
| `TokenService` | JWT Token 服务 |
| `SysLoginService` | 登录服务 |
| `SysPasswordService` | 密码服务 |
| `PermissionService` | 权限服务 |
| `UserDetailsServiceImpl` | 用户详情服务 |
### 配置类
| 配置类 | 说明 |
|--------|------|
| `SecurityConfig` | Spring Security 配置 |
| `RedisConfig` | Redis 配置 |
| `DruidConfig` | Druid 数据源配置 |
| `MyBatisConfig` | MyBatis 配置 |
| `ThreadPoolConfig` | 线程池配置 |
### AOP 切面
| 切面 | 说明 |
|------|------|
| `LogAspect` | 操作日志记录 |
| `DataScopeAspect` | 数据权限过滤 |
| `DataSourceAspect` | 动态数据源切换 |
| `RateLimiterAspect` | 接口限流 |
| `CostTimeAspect` | 耗时统计 |
---
## 关键依赖与配置
### Maven 依赖
```xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.jsowell</groupId>
<artifactId>jsowell-system</artifactId>
</dependency>
</dependencies>
```
---
## 常见问题 (FAQ)
### Q: Token 过期如何处理?
Token 有效期配置在 `application.yml``token.expireTime`,默认 1440 分钟
### Q: 如何添加接口白名单?
`SecurityConfig` 中配置 `permitAllUrls` 或使用 `@Anonymous` 注解
### Q: 数据权限如何配置?
使用 `@DataScope` 注解,配置 `deptAlias``userAlias`
---
## 相关文件清单
```
jsowell-framework/
├── src/main/java/com/jsowell/framework/
│ ├── aspectj/ # AOP 切面
│ │ ├── LogAspect.java
│ │ ├── DataScopeAspect.java
│ │ ├── DataSourceAspect.java
│ │ ├── RateLimiterAspect.java
│ │ └── CostTimeAspect.java
│ ├── async/ # 异步处理
│ ├── config/ # 配置类
│ │ ├── SecurityConfig.java
│ │ ├── RedisConfig.java
│ │ ├── DruidConfig.java
│ │ ├── MyBatisConfig.java
│ │ └── ThreadPoolConfig.java
│ ├── datasource/ # 动态数据源
│ ├── interceptor/ # 拦截器
│ ├── manager/ # 管理器
│ ├── security/ # 安全相关
│ │ ├── filter/
│ │ └── handle/
│ └── web/
│ ├── domain/ # 服务器信息
│ ├── exception/ # 异常处理
│ └── service/ # 核心服务
└── pom.xml
```