agent-skill-backend/README.md

193 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 可学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+
### 配置说明
1. 修改 `application-dev.yml` 文件中的数据库连接信息
2. 修改 `application.yml` 文件中的Redis连接信息
3. 修改 `application.yml` 文件中的AI模型API密钥
4. 修改 `application.yml` 文件中的短信服务配置
### 数据库初始化
1. 执行 `db/create_tables.sql` 创建数据库表
2. 执行 `db/init_data.sql` 初始化基础数据
### 启动项目
```bash
# 编译项目
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部署
1. 构建Docker镜像
```bash
docker build -t agent-skills .
```
2. 运行Docker容器
```bash
docker run -p 8080:8080 --name agent-skills agent-skills
```
### 生产环境部署
1. 打包项目
```bash
mvn clean package -DskipTests
配置文件直接打在jar包内
```
2. 部署jar包
```bash
java -jar agentSkills.jar --spring.profiles.active=prod
或者执行脚本启动
./start.sh
```
## 注意事项
1. 项目使用Redis作为缓存需要确保Redis服务正常运行
2. 项目使用阿里云短信服务,需要配置相关参数
3. 项目使用AI模型API需要配置相关API密钥
## 许可证
本项目仅供内部使用,未经授权不得用于商业用途。
## 联系方式
如有问题,请联系项目维护人员。