微信小程序:学生课程成绩管理系统 (纯前端版)
项目简介
本项目是一个纯前端实现的微信小程序,用于管理学生、课程及成绩信息。由于是纯前端实现,所有数据将存储在微信小程序的本地缓存 (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
: 关联到学生信息的studentId
courseId
: 关联到课程信息的courseId
score
: 分数
创作过程概述
- 需求分析:明确管理员和学生端的核心功能。
- 技术选型:确定使用微信小程序纯前端实现,数据存储于本地缓存。
- 项目结构设计:
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
- 学生用户需先注册。
- 管理员账号:
注意事项
- 数据安全:本项目为纯前端演示,密码明文存储在本地,请勿在生产环境中使用此方式。
- 数据持久性:数据存储在本地缓存,用户清理微信缓存或卸载小程序会导致数据丢失。
- 功能限制:由于是纯前端实现,无法实现复杂的数据校验、并发控制等后端逻辑。