小程序实现的学生信息管理系统(纯前端)

282 阅读5分钟

学生管理微信小程序 (纯前端版)

本项目是一个纯前端的微信小程序,用于演示学生信息管理的基本功能。所有数据存储在小程序的全局变量中,关闭小程序后数据会丢失。

创作过程

  1. 需求分析: 根据用户提出的需求,明确了小程序需要包含以下核心功能:

    • 学生注册
    • 管理员登录
    • 添加学生 (管理员权限)
    • 修改学生信息 (管理员权限)
    • 删除学生 (管理员权限)
    • 查询学生列表 (公开和管理员视图)
    • 退出登录 (管理员)
  2. 技术选型:

    • 前端框架: 微信原生小程序框架。
    • 数据存储: 由于用户明确表示不需要链接数据库或云开发,选择使用小程序全局变量 App.globalData 来模拟数据存储。这意味着数据是非持久化的。
    • UI设计: 采用微信小程序内置组件,并辅以简单的 WXSS 样式,力求界面简洁明了。
  3. 项目结构设计: 采用微信小程序标准的项目结构: miniprogram/ ├── app.js # 小程序逻辑,全局数据 ├── app.json # 小程序公共配置 ├── app.wxss # 小程序公共样式表 ├── pages/ # 页面文件目录 │ ├── index/ # 首页 │ ├── login/ # 管理员登录页 │ ├── register/ # 学生注册/管理员添加学生页 │ ├── manage/ # 学生信息管理页 (管理员) │ ├── edit/ # 编辑学生信息页 (管理员) │ └── list/ # 公开学生列表查询页 └── README.md # 项目说明文件

  4. 模块化开发:

    • app.js: 初始化全局数据,包括模拟的学生列表 fakeStudents 和管理员账户 fakeAdmin
    • 首页 (pages/index/): 提供导航到登录、注册和公开列表的入口。
    • 登录页 (pages/login/): 实现管理员账户的验证逻辑。
    • 注册/添加页 (pages/register/): 实现学生信息的录入,区分"学生注册"和管理员"添加学生"两种场景。包含表单验证,如学号唯一性检查。
    • 管理页 (pages/manage/): 仅管理员可访问。展示学生列表,提供搜索、添加、编辑、删除学生信息以及退出登录的功能。
    • 编辑页 (pages/edit/): 专用于修改学生信息,加载现有数据并允许管理员保存更改。包含表单验证。
    • 列表页 (pages/list/): 公开页面,允许任何人查看学生列表(可考虑隐藏敏感信息如电话号码),并提供搜索功能。
  5. 功能实现细节:

    • 管理员认证: 通过 app.globalData.isAdmin 标记管理员登录状态。各管理员页面在 onLoadonShow 时检查此状态,未登录则重定向到登录页。
    • 数据操作: 所有增删改查操作直接在 app.globalData.fakeStudents 数组上进行。
    • ID生成: 新学生ID使用 Date.now() 生成,确保在当前会话中的唯一性。
    • 页面跳转与参数传递: 使用 wx.navigateTo, wx.redirectTo 等API进行页面跳转,并通过URL query参数传递如学生ID等信息。
    • 用户反馈: 使用 wx.showToastwx.showModal 提供操作反馈和确认提示。
    • 表单处理: 通过 data-fieldbindinput 实现表单数据的双向绑定和统一处理。
  6. 测试与迭代: 在微信开发者工具中进行各功能模块的测试,根据测试结果进行代码调整和优化。例如,完善了学号唯一性校验逻辑,区分了注册和编辑场景下的不同提示信息。

功能介绍

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 -> "退出登录"按钮
  • 描述: 管理员退出当前登录状态,小程序会跳转回首页。

使用说明

  1. 在微信开发者工具中导入项目。
  2. 编译并运行。
  3. 管理员账户:
    • 用户名: admin
    • 密码: admin
  4. 所有数据为临时存储,关闭小程序或刷新开发者工具后,数据将重置为 app.js 中定义的初始状态。

编辑.png

登录.png

列表.png

列表2.png

首页.png

添加.png

注册.png