微信小程序:学生课程成绩管理系统 (纯前端版)
项目简介
本项目是一个纯前端实现的微信小程序,用于管理学生、课程及成绩信息。由于是纯前端实现,所有数据将存储在微信小程序的本地缓存 (wx.setStorageSync / wx.getStorageSync) 中,这意味着数据会在小程序卸载或缓存被清除时丢失。
功能模块
1. 通用功能
- 用户登录:区分管理员和学生用户。
- 用户注册:仅限学生用户注册。
2. 管理员 (默认账号: admin, 密码: admin)
- 学生管理:
- 添加新学生(学号、姓名、班级、初始登录用户名和密码)。
- 查看学生列表。
- 课程管理:
- 添加新课程(课程编号、课程名称、授课教师)。
- 查看课程列表。
- 成绩管理:
- 录入/修改学生成绩(选择学生、选择课程、输入分数)。
- 查看所有成绩记录(学生姓名、课程名称、分数)。
- 退出登录
3. 学生
- 注册账号:提供学号、姓名、班级、登录用户名和密码进行注册。
- 登录系统
- 查看个人成绩:显示已选课程的成绩列表。
- 退出登录
数据存储
所有数据(用户信息、学生信息、课程信息、成绩信息)均通过微信小程序的 wx.setStorageSync API 存储在本地。
- 用户 (
users): 存储用户的登录信息。userId: 用户唯一标识username: 用户名password: 密码 (纯前端演示,明文存储,实际应用中极不安全)role: 角色 ('admin' 或 'student')studentId: (可选) 如果是学生,关联到学生信息的studentId
- 学生 (
students): 存储学生的详细信息。studentId: 学号 (唯一)name: 学生姓名className: 班级
- 课程 (
courses): 存储课程信息。courseId: 课程编号 (唯一)courseName: 课程名称teacher: 授课教师
- 成绩 (
grades): 存储学生的课程成绩。gradeId: 成绩记录唯一标识studentId: 关联到学生信息的studentIdcourseId: 关联到课程信息的courseIdscore: 分数
创作过程概述
- 需求分析:明确管理员和学生端的核心功能。
- 技术选型:确定使用微信小程序纯前端实现,数据存储于本地缓存。
- 项目结构设计:
app.js,app.json,app.wxss:小程序全局配置和逻辑。pages/:存放各个页面的目录。login/:登录页面。register/:学生注册页面。admin/:管理员功能页面。dashboard/:管理员主面板。student_manage/:学生管理页面。course_manage/:课程管理页面。grade_manage/:成绩管理页面。
student/:学生功能页面。dashboard/:学生主面板。view_grades/:学生查看成绩页面。
utils/(如果需要): 辅助函数。
- 数据结构设计:定义
users,students,courses,grades的数据结构。 - 页面开发:
- 登录/注册:实现用户身份验证和新用户创建逻辑。
- 管理员模块:
- 学生管理:实现学生信息的增、查。
- 课程管理:实现课程信息的增、查。
- 成绩管理:实现成绩的录入/修改、查看。
- 学生模块:
- 查看成绩:根据登录学生信息,展示其各科成绩。
- 数据交互:使用
wx.setStorageSync和wx.getStorageSync进行数据的读写操作。 - 全局状态管理:使用
app.js中的globalData存储当前登录用户信息。 - UI/UX:使用 WXML 和 WXSS 构建基本的用户界面,确保操作流程顺畅。
- 测试与调试:对各功能模块进行测试,确保数据准确性和操作的正确性。
- 文档编写:撰写
readme.md,说明项目功能、结构和使用方法。
如何运行
- 下载或克隆项目代码。
- 打开微信开发者工具。
- 选择 "导入项目",选择项目根目录。
- 填写 AppID (如果需要,可以使用测试号)。
- 点击 "导入"。
- 项目启动后,默认进入登录页面。
- 管理员账号:
admin - 管理员密码:
admin - 学生用户需先注册。
- 管理员账号:
注意事项
- 数据安全:本项目为纯前端演示,密码明文存储在本地,请勿在生产环境中使用此方式。
- 数据持久性:数据存储在本地缓存,用户清理微信缓存或卸载小程序会导致数据丢失。
- 功能限制:由于是纯前端实现,无法实现复杂的数据校验、并发控制等后端逻辑。