- 添加 CacheManager 导入以支持缓存管理 - 从 Redis 中删除用户信息后增加从缓存中移除 token 映射逻辑 - 添加用户名和 token 的双向缓存清理机制 - 集成 Sa-Token 登出流程并完善异常处理 - 添加登出成功和异常的日志记录功能 - 优化注释描述提高代码可读性 |
||
|---|---|---|
| .mvn/wrapper | ||
| db | ||
| src | ||
| .gitignore | ||
| Dockerfile | ||
| PAYMENT_GUIDE.md | ||
| README.md | ||
| mvnw.cmd | ||
| pom.xml | ||
README.md
可学AI-skills平台后端
项目简介
可学AI-skills平台是一个基于Spring Boot的智能技能管理系统,提供技能生成、内容管理、用户认证、支付等功能。
技术栈
- 基础框架:Spring Boot 3.2.2
- 持久层:MyBatis 3.0.3
- 数据库:MySQL
- 缓存:Redis
- 认证:Sa-Token 1.38.0
- 模板引擎:Thymeleaf
- API文档:Swagger 3.0.0
- 文件处理:sevenzipjbinding 16.02-2.01
- 短信服务:SMS4J 3.3.5
- 分布式锁:Redisson 3.23.5
- AI集成:DeepSeek、GLM-4.6v
项目结构
backend/
├── .mvn/ # Maven包装器
├── db/ # 数据库脚本
├── src/
│ ├── main/
│ │ ├── java/com/kexue/skills/ # 主源码
│ │ │ ├── annotation/ # 自定义注解
│ │ │ ├── aspect/ # AOP切面
│ │ │ ├── common/ # 通用工具和常量
│ │ │ ├── config/ # 配置类
│ │ │ ├── controller/ # 控制器
│ │ │ ├── entity/ # 实体类
│ │ │ ├── exception/ # 异常处理
│ │ │ ├── interceptor/ # 拦截器
│ │ │ ├── mapper/ # 数据访问层
│ │ │ ├── service/ # 服务层
│ │ │ ├── task/ # 定时任务
│ │ │ ├── utils/ # 工具类
│ │ │ └── SkillsApp.java # 应用入口
│ │ └── resources/ # 资源文件
│ │ ├── mapper/ # MyBatis映射文件
│ │ ├── sql/ # SQL脚本
│ │ ├── static/ # 静态资源
│ │ ├── templates/ # Thymeleaf模板
│ │ ├── application-*.yml # 配置文件
│ │ └── logback-spring.xml # 日志配置
│ └── test/ # 测试代码
├── .gitignore # Git忽略文件
├── Dockerfile # Docker构建文件
├── README.md # 项目说明
├── mvnw.cmd # Maven包装器脚本
└── pom.xml # Maven依赖配置
核心功能
1. 用户认证与授权
- 基于Sa-Token的认证系统
- 支持账号密码登录
- 支持手机验证码登录
- 角色权限管理
- 防重复提交
2. 内容管理系统
- 内容分类管理
- 内容标签管理
- 内容发布与管理
- 内容点赞与浏览统计
3. 技能生成系统
- 技能上传与解析(支持RAR等压缩格式)
- 技能结构分析
- 技能介绍生成
4. 支付系统
- 微信支付集成
- 支付宝集成
- 支付订单管理
5. 账户管理
- 账户余额管理
- 积分管理
- 交易记录
6. 系统管理
- 菜单管理
- 角色管理
- 字典管理
- 系统日志
7. AI集成
- DeepSeek模型集成
- GLM-4.6v模型集成
- 智能内容生成
快速开始
环境要求
- JDK 17+
- Maven 3.6+
- MySQL 5.7+
- Redis 5.0+
配置说明
- 修改
application-dev.yml文件中的数据库连接信息 - 修改
application.yml文件中的Redis连接信息 - 修改
application.yml文件中的AI模型API密钥 - 修改
application.yml文件中的短信服务配置
数据库初始化
- 执行
db/create_tables.sql创建数据库表 - 执行
db/init_data.sql初始化基础数据
启动项目
# 编译项目
mvn clean compile
# 运行项目
mvn spring-boot:run
访问地址
- 项目首页:http://localhost:8080
- Swagger文档:http://localhost:8080/doc.html
主要API
用户认证
POST /api/login- 用户登录POST /api/logout- 用户登出GET /api/currentUser- 获取当前用户信息
内容管理
GET /api/cms/content/list- 获取内容列表POST /api/cms/content/save- 保存内容DELETE /api/cms/content/delete- 删除内容
技能管理
POST /api/skill/upload- 上传技能POST /api/skill/analyze- 分析技能结构POST /api/skill/genIntroduce- 生成技能介绍
支付管理
POST /api/pay/wx- 微信支付POST /api/pay/alipay- 支付宝支付GET /api/payment/order/list- 获取支付订单列表
部署说明
Docker部署
- 构建Docker镜像
docker build -t agent-skills .
- 运行Docker容器
docker run -p 8080:8080 --name agent-skills agent-skills
生产环境部署
- 打包项目
mvn clean package -DskipTests
配置文件直接打在jar包内
- 部署jar包
java -jar agentSkills.jar --spring.profiles.active=prod
或者执行脚本启动
./start.sh
注意事项
- 项目使用Redis作为缓存,需要确保Redis服务正常运行
- 项目使用阿里云短信服务,需要配置相关参数
- 项目使用AI模型API,需要配置相关API密钥
许可证
本项目仅供内部使用,未经授权不得用于商业用途。
联系方式
如有问题,请联系项目维护人员。