最终版1.4

陈映江 5 months ago committed by Gitea
parent bdc0ca63e2
commit 88e90c8b00

@ -0,0 +1,84 @@
## 功能特性
### 1. 用户管理系统
- 用户注册与邮箱验证
- 用户登录与密码管理
- 个人资料管理(用户名修改、密码修改)
- 用户教育阶段设置(小学/初中/高中)
### 2. 数学题目生成系统
- 支持三种教育阶段的题目生成:
- 小学:基础四则运算(+、-、×、÷)
- 初中:包含平方、开方运算
- 高中包含三角函数sin、cos、tan
- 自动生成带括号的表达式
- 智能选项生成(正确答案+干扰项)
### 3. 答题测试系统
- 自适应题目数量10-30题可选
- 图形化答题界面
- 实时答题记录
- 自动评分与结果展示
## 技术特点
### 核心技术栈
- Java Swing图形用户界面
- Jackson用户数据序列化
- BCrypt密码加密存储
- JavaMail邮件验证码发送
### 设计模式
- MVC架构模式
- 抽象工厂模式(题目生成器)
- 单例模式(用户服务)
## 使用说明
### 系统要求
- Java 8或更高版本
- 网络连接(用于邮件验证)
### 安装与运行
1. 克隆或下载项目源代码
2. 使用IDE导入项目
3. 配置邮件服务参数(在[RegisterFrame.java](file://D:\filee\软导\java\结对\project\MathLearningApp\git\src\main\java\mathlearning\ui\RegisterFrame.java)和[ChangeCodeFrame.java](file://D:\filee\软导\java\结对\project\MathLearningApp\git\src\main\java\mathlearning\ui\ChangeCodeFrame.java)中)
4. 编译并运行[App.java](file://D:\filee\软导\java\结对\project\MathLearningApp\git\src\main\java\mathlearning\App.java)
### 使用流程
1. **注册账户**:输入用户名、邮箱,获取验证码并设置密码
2. **登录系统**:使用注册邮箱和密码登录
3. **选择教育阶段**:首次登录需选择小学/初中/高中
4. **开始测试**:在主界面选择题目数量开始答题
5. **查看结果**:提交后自动评分并显示结果
## 项目亮点
1. **安全性**
- 密码BCrypt加密存储
- 邮箱验证机制
- 验证码时效控制10分钟
2. **智能化**
- 根据教育阶段自适应题目难度
- 智能选项生成算法
- 表达式计算引擎
3. **用户体验**
- 友好的图形界面
- 实时反馈机制
- 完善的错误处理
## 注意事项
1. 邮件服务配置:
- 需要在[RegisterFrame.java](file://D:\filee\软导\java\结对\project\MathLearningApp\git\src\main\java\mathlearning\ui\RegisterFrame.java)和[ChangeCodeFrame.java](file://D:\filee\软导\java\结对\project\MathLearningApp\git\src\main\java\mathlearning\ui\ChangeCodeFrame.java)中配置SMTP参数
- 默认使用QQ邮箱SMTP服务
2. 数据存储:
- 用户数据保存在`data/users.json`文件中
- 首次运行会自动创建数据文件
3. 密码要求:
- 长度6-10位
- 必须包含大小写字母和数字
Loading…
Cancel
Save