当前位置: 首页 > news >正文

校园管理系统练习项目源码-前后端分离-【node版】

今天给大家分享一个校园管理系统,前后端分离项目。这是最近在练习前端编程,结合 node 写的一个完整的项目。
使用的技术:
Node.js:版本要求16.20以上。
后端框架:Express框架。
数据库: MySQL 8.0。
Vue2:前端采用Vue2框架,配合Element UI组件库。
实现的功能有:
课程管理
教师管理
学生管理
公告管理
管理员管理
教学楼管理
宿舍管理
年级管理
班级管理
通过这次的编程项目练习,让我更快的掌握了前端编程技术和后端Express框架,还是非常好的。如果你也在学习编程,也可以借鉴一下,仿照这个项目也写一个。
系统截图:
首页:
在这里插入图片描述
教师管理:
在这里插入图片描述
学生管理:
在这里插入图片描述
系统功能就简单的分享一部分,有兴趣的小伙伴可以去看一下完整的源码~ (非开源项目)
https://wwwoop.com/home/Index/projectInfo?goodsId=115&typeParam=1&subKey=-1

在这里插入图片描述
零星代码:

const ClassModel = require('../models/class.model')
const GradeModel = require('../models/grade.model')
const Response = require('../utils/response')
const AppError = require('../utils/appError')
const asyncHandler = require('../utils/asyncHandler')/*** 班级控制器类*/
class ClassController {/*** 获取所有班级*/getAll = asyncHandler(async (req, res) => {const { page, pageSize } = req.queryconst result = await ClassModel.getAll(page, pageSize)res.json(Response.success(result))})/*** 获取单个班级*/getOne = asyncHandler(async (req, res) => {const classInfo = await ClassModel.findById(req.params.id)if (!classInfo) {return res.json(Response.error('班级不存在'))}res.json(Response.success(classInfo))})/*** 创建班级*/create = asyncHandler(async (req, res) => {try {// 验证年级是否存在if (req.body.grade_id) {const grade = await GradeModel.findById(req.body.grade_id)if (!grade) {return res.json(Response.error('所选年级不存在'))}}const classId = await ClassModel.create(req.body)const classInfo = await ClassModel.findById(classId)res.json(Response.success(classInfo, '创建成功'))} catch (error) {res.json(Response.error(error.message))}})/*** 更新班级*/update = asyncHandler(async (req, res) => {try {// 验证年级是否存在if (req.body.grade_id) {const grade = await GradeModel.findById(req.body.grade_id)if (!grade) {return res.json(Response.error('所选年级不存在'))}}await ClassModel.update(req.params.id, req.body)const classInfo = await ClassModel.findById(req.params.id)res.json(Response.success(classInfo, '更新成功'))} catch (error) {res.json(Response.error(error.message))}})/*** 删除班级*/delete = asyncHandler(async (req, res) => {try {await ClassModel.delete(req.params.id)res.json(Response.success(null, '删除成功'))} catch (error) {res.json(Response.error(error.message))}})/*** 获取所有年级(用于下拉选择)*/getAllGrades = asyncHandler(async (req, res) => {try {const result = await GradeModel.getAll()res.json(Response.success(result.list))} catch (error) {res.json(Response.error(error.message))}})
}module.exports = new ClassController()

文章转载自:

http://UG4Hib4Y.mLhfr.cn
http://dD4PzV0p.mLhfr.cn
http://XBj7RZna.mLhfr.cn
http://8EsbAir9.mLhfr.cn
http://cfvzUWBD.mLhfr.cn
http://fWxxpnIy.mLhfr.cn
http://vYhNhH2l.mLhfr.cn
http://SbmfVtGz.mLhfr.cn
http://4luwRtIX.mLhfr.cn
http://wPu04D4C.mLhfr.cn
http://2HmGaBJj.mLhfr.cn
http://zV8aN590.mLhfr.cn
http://QpIf8Bsu.mLhfr.cn
http://eCuQKf16.mLhfr.cn
http://dq3T7syy.mLhfr.cn
http://nSE0xeKu.mLhfr.cn
http://fwMW1vOw.mLhfr.cn
http://8dEOey68.mLhfr.cn
http://9yhlHbE2.mLhfr.cn
http://nkNI69Bq.mLhfr.cn
http://tB7VQ6pg.mLhfr.cn
http://ieItZEp9.mLhfr.cn
http://0BHzQOtr.mLhfr.cn
http://GiKvTsMp.mLhfr.cn
http://iiVL8RBT.mLhfr.cn
http://XCxCL0SI.mLhfr.cn
http://vrNReTvy.mLhfr.cn
http://xlBH830r.mLhfr.cn
http://4o7nq3dE.mLhfr.cn
http://IAeDSZK1.mLhfr.cn
http://www.dtcms.com/a/377085.html

相关文章:

  • websocket和socket区别
  • Linux驱动如何向应用层提供sysfs操作接口
  • 人工智能学习:Transformer结构中的前馈全连接层
  • 项目需求分析(2)
  • 灌区泵站远程监控物联网网关解决方案
  • 【114B】基于51单片机GSM自动售货机【Keil程序+报告+原理图】
  • 【前言技术拓展Trip one】 芯片自动化和具身智能
  • Windows-Use实战:AI驱动的Windows自动化
  • OpenResty 限流方案对比:lua_shared_dict vs Redis
  • 保安员【单选题】考试题库及答案
  • 为什么90%的前端开发者永远成不了架构师?真相残酷但必须说
  • python如何提取链接中的域名
  • 简单介绍一下Clickhouse及其引擎
  • Qt信号槽机制
  • 【大数据相关】ClickHouse命令行与SQL语法详解
  • 市面上主流接口测试工具对比
  • 【51单片机】【protues仿真】基于51单片机密码锁系统
  • S7-200 SMART 实战:自动包装控制系统的指令应用拆解
  • 【Linux】常用命令汇总
  • 减速机和减速电机市场:增长逻辑、驱动因素及头部格局全解析
  • 第3节-使用表格数据-外键
  • 面试题: Mysql中的深分页如何处理
  • OpenCV 图像直方图
  • 【51单片机】【protues仿真】基于51单片机智能路灯PCF8591系统
  • 虚拟局域网(VLAN)入门指南:打破物理界限的网络划分术
  • 【HD-RK3576-PI】LoRa无线串口模块
  • 自动驾驶中的传感器技术42——Radar(3)
  • kafka消息积压出现的原因、危害及解决方案
  • 《sklearn机器学习——数据预处理》非线性转换
  • 登顶 NAVSIM!博世最新IRL-VLA:逆强化学习重构自动驾驶VLA闭环训练