学生管理微信小程序 (纯前端版)
本项目是一个纯前端的微信小程序,用于演示学生信息管理的基本功能。所有数据存储在小程序的全局变量中,关闭小程序后数据会丢失。
创作过程
-
需求分析: 根据用户提出的需求,明确了小程序需要包含以下核心功能:
- 学生注册
- 管理员登录
- 添加学生 (管理员权限)
- 修改学生信息 (管理员权限)
- 删除学生 (管理员权限)
- 查询学生列表 (公开和管理员视图)
- 退出登录 (管理员)
-
技术选型:
- 前端框架: 微信原生小程序框架。
- 数据存储: 由于用户明确表示不需要链接数据库或云开发,选择使用小程序全局变量
App.globalData来模拟数据存储。这意味着数据是非持久化的。 - UI设计: 采用微信小程序内置组件,并辅以简单的 WXSS 样式,力求界面简洁明了。
-
项目结构设计: 采用微信小程序标准的项目结构: miniprogram/ ├── app.js # 小程序逻辑,全局数据 ├── app.json # 小程序公共配置 ├── app.wxss # 小程序公共样式表 ├── pages/ # 页面文件目录 │ ├── index/ # 首页 │ ├── login/ # 管理员登录页 │ ├── register/ # 学生注册/管理员添加学生页 │ ├── manage/ # 学生信息管理页 (管理员) │ ├── edit/ # 编辑学生信息页 (管理员) │ └── list/ # 公开学生列表查询页 └── README.md # 项目说明文件
-
模块化开发:
app.js: 初始化全局数据,包括模拟的学生列表fakeStudents和管理员账户fakeAdmin。- 首页 (
pages/index/): 提供导航到登录、注册和公开列表的入口。 - 登录页 (
pages/login/): 实现管理员账户的验证逻辑。 - 注册/添加页 (
pages/register/): 实现学生信息的录入,区分"学生注册"和管理员"添加学生"两种场景。包含表单验证,如学号唯一性检查。 - 管理页 (
pages/manage/): 仅管理员可访问。展示学生列表,提供搜索、添加、编辑、删除学生信息以及退出登录的功能。 - 编辑页 (
pages/edit/): 专用于修改学生信息,加载现有数据并允许管理员保存更改。包含表单验证。 - 列表页 (
pages/list/): 公开页面,允许任何人查看学生列表(可考虑隐藏敏感信息如电话号码),并提供搜索功能。
-
功能实现细节:
- 管理员认证: 通过
app.globalData.isAdmin标记管理员登录状态。各管理员页面在onLoad或onShow时检查此状态,未登录则重定向到登录页。 - 数据操作: 所有增删改查操作直接在
app.globalData.fakeStudents数组上进行。 - ID生成: 新学生ID使用
Date.now()生成,确保在当前会话中的唯一性。 - 页面跳转与参数传递: 使用
wx.navigateTo,wx.redirectTo等API进行页面跳转,并通过URL query参数传递如学生ID等信息。 - 用户反馈: 使用
wx.showToast和wx.showModal提供操作反馈和确认提示。 - 表单处理: 通过
data-field和bindinput实现表单数据的双向绑定和统一处理。
- 管理员认证: 通过
-
测试与迭代: 在微信开发者工具中进行各功能模块的测试,根据测试结果进行代码调整和优化。例如,完善了学号唯一性校验逻辑,区分了注册和编辑场景下的不同提示信息。
功能介绍
1. 学生注册
- 路径:
pages/index/index-> "学生注册"按钮 ->pages/register/register - 描述: 允许新用户填写姓名、学号、班级、电话等信息进行注册。
- 校验: 会检查学号是否已存在。
2. 管理员登录
- 路径:
pages/index/index-> "管理员登录"按钮 ->pages/login/login - 描述: 管理员输入预设的用户名和密码进行登录。
- 预设账户: 用户名
admin,密码admin(在app.js中定义)。 - 成功: 登录成功后跳转到学生管理页面。
- 失败: 提示账号或密码错误。
3. 添加学生 (管理员功能)
- 路径:
pages/manage/manage-> "添加新学生"按钮 ->pages/register/register?source=manage - 描述: 管理员登录后,可以在管理页面添加新的学生信息。表单与学生注册共用,但提示语和后续逻辑略有不同。
- 校验: 会检查学号是否已存在。
4. 修改学生信息 (管理员功能)
- 路径:
pages/manage/manage-> 对应学生条目的 "编辑"按钮 ->pages/edit/edit?id={studentId} - 描述: 管理员可以修改已存在的学生信息。页面会预先加载该学生的原有信息。
- 校验: 如果修改了学号,会检查新学号是否与系统中其他学生冲突。
5. 删除学生 (管理员功能)
- 路径:
pages/manage/manage-> 对应学生条目的 "删除"按钮 - 描述: 管理员可以删除指定的学生信息。操作前会有确认提示框。
6. 查询学生列表
- 公开查询:
- 路径:
pages/index/index-> "查看学生列表"按钮 ->pages/list/list - 描述: 任何人都可以查看学生列表,默认显示姓名、学号、班级。提供按姓名、学号、班级搜索的功能。
- 路径:
- 管理员查询 (管理视图):
- 路径:
pages/manage/manage(登录后自动加载) - 描述: 管理员看到的学生列表包含更详细的信息和操作按钮(编辑、删除)。同样提供搜索功能。
- 路径:
7. 退出登录 (管理员功能)
- 路径:
pages/manage/manage-> "退出登录"按钮 - 描述: 管理员退出当前登录状态,小程序会跳转回首页。
使用说明
- 在微信开发者工具中导入项目。
- 编译并运行。
- 管理员账户:
- 用户名:
admin - 密码:
admin
- 用户名:
- 所有数据为临时存储,关闭小程序或刷新开发者工具后,数据将重置为
app.js中定义的初始状态。