mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-19 18:45:03 +08:00
138 lines
3.5 KiB
Markdown
138 lines
3.5 KiB
Markdown
|
|
[根目录](../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
|
||
|
|
```
|