# 可学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密钥 ## 许可证 本项目仅供内部使用,未经授权不得用于商业用途。 ## 联系方式 如有问题,请联系项目维护人员。