81 lines
2.8 KiB
Markdown
81 lines
2.8 KiB
Markdown
|
|
# 项目修改历史记录
|
|||
|
|
|
|||
|
|
## 2025-01-XX - 学员登录功能改造
|
|||
|
|
|
|||
|
|
### 修改内容
|
|||
|
|
|
|||
|
|
#### 1. 登录页面改造
|
|||
|
|
- **文件**: `ruoyi-ui/src/views/login.vue`
|
|||
|
|
- **修改说明**:
|
|||
|
|
- 将登录页面改为学员登录页面
|
|||
|
|
- 只需输入学员编号即可登录,无需密码和验证码
|
|||
|
|
- 添加醒目的"管理员登录"链接,链接到管理员登录页面
|
|||
|
|
- 登录成功后跳转到学员测试题列表页面
|
|||
|
|
|
|||
|
|
#### 2. 创建管理员登录页面
|
|||
|
|
- **文件**: `ruoyi-ui/src/views/admin-login.vue`
|
|||
|
|
- **修改说明**:
|
|||
|
|
- 创建独立的管理员登录页面
|
|||
|
|
- 保留原有的账号、密码、验证码登录方式
|
|||
|
|
- 添加"返回学员登录"链接
|
|||
|
|
|
|||
|
|
#### 3. 学员登录API
|
|||
|
|
- **文件**: `ruoyi-ui/src/api/login.js`
|
|||
|
|
- **修改说明**:
|
|||
|
|
- 新增 `studentLogin` 方法,用于学员登录
|
|||
|
|
- 接口地址: `/student/login`
|
|||
|
|
- 参数: `studentNo` (学员编号)
|
|||
|
|
- 添加判空处理,确保学员编号不为空
|
|||
|
|
|
|||
|
|
#### 4. Store用户模块扩展
|
|||
|
|
- **文件**: `ruoyi-ui/src/store/modules/user.js`
|
|||
|
|
- **修改说明**:
|
|||
|
|
- 新增 `StudentLogin` action,处理学员登录逻辑
|
|||
|
|
- 学员登录成功后设置token和学员角色
|
|||
|
|
- 添加判空处理,确保数据安全
|
|||
|
|
|
|||
|
|
#### 5. 学员测试题列表页面
|
|||
|
|
- **文件**: `ruoyi-ui/src/views/student/tests.vue`
|
|||
|
|
- **修改说明**:
|
|||
|
|
- 创建学员端心理测试题列表页面
|
|||
|
|
- 显示所有开放的测试题(量表和问卷)
|
|||
|
|
- 支持搜索功能
|
|||
|
|
- 卡片式展示,点击可开始测试
|
|||
|
|
- 支持量表和问卷两种类型的测试
|
|||
|
|
- 显示学员编号和退出登录功能
|
|||
|
|
|
|||
|
|
#### 6. 路由配置更新
|
|||
|
|
- **文件**: `ruoyi-ui/src/router/index.js`
|
|||
|
|
- **修改说明**:
|
|||
|
|
- 添加管理员登录路由: `/admin-login`
|
|||
|
|
- 添加学员测试题列表路由: `/student/tests`
|
|||
|
|
- 学员测试页面不使用Layout组件,作为独立页面
|
|||
|
|
|
|||
|
|
#### 7. 权限控制更新
|
|||
|
|
- **文件**: `ruoyi-ui/src/permission.js`
|
|||
|
|
- **修改说明**:
|
|||
|
|
- 将 `/admin-login` 添加到白名单
|
|||
|
|
- 处理学员登录后的路由跳转逻辑
|
|||
|
|
- 学员角色只能访问学员相关页面
|
|||
|
|
- 已登录用户访问登录页面时根据角色跳转
|
|||
|
|
|
|||
|
|
### 功能特点
|
|||
|
|
|
|||
|
|
1. **学员登录简化**: 只需输入学员编号即可登录,无需密码,提升用户体验
|
|||
|
|
2. **管理员登录分离**: 管理员和学员使用不同的登录入口,界面更清晰
|
|||
|
|
3. **测试题展示**: 学员登录后可以看到所有开放的心理测试题
|
|||
|
|
4. **权限控制**: 学员和管理员使用不同的角色权限,确保数据安全
|
|||
|
|
5. **响应式设计**: 测试题列表页面采用卡片式布局,支持响应式显示
|
|||
|
|
|
|||
|
|
### 技术要点
|
|||
|
|
|
|||
|
|
- 使用Vue.js + Element UI实现
|
|||
|
|
- 采用Vuex进行状态管理
|
|||
|
|
- 路由守卫控制页面访问权限
|
|||
|
|
- API接口统一管理
|
|||
|
|
- 代码添加详细注释,提高可维护性
|
|||
|
|
|
|||
|
|
### 开发者
|
|||
|
|
wanxiubin
|
|||
|
|
|