当前位置:   article > 正文

nodejs+vue学生选课成绩管理系统express前后端分离elementU案例源码_前后端分离vue2.0+nodejs+session传值

前后端分离vue2.0+nodejs+session传值

本课题要求实现一套nodejs+vue前后端分离的学生选课成绩管理系统,系统主要包括管理员,学生和教师三大模块
(a) 管理员;管理员进入系统主要功能包括首页,个人中心,教师管理,学生管理,公告信息管理,课程类型管理,课程信息管理,选课信息管理,成绩信息管理等功能并进行操作。
(b) 教师;教师进入系统主要功能包括首页,个人中心,公告信息管理,课程信息管理,选课信息管理,成绩信息管理等功能并进行操作。
© 学生;学生进入系统主要功能包括首页,个人中心,公告信息管理,课程信息管理,选课信息管理,成绩信息管理等功能并进行操作。

 

越来越多的学生喜欢把前端Vue+nodejs技术组合当做自己的毕业设计项目.其实是非常新颖的毕设了。在众多毕设项目中也算是给老师眼前一亮。也给自己的加不少分。总比那些java图书管理、进销存系统等几十年不变的系统强上几百倍,至少在老师看来你还算是跟的上互联网潮流了。


本项目Nodejs+express+vue+Elementui+mysql系统,采用vscode软件开发,基于web的B/S架构设计完成,前端使用vue.js+Elementui进行前后端分离,前端框架采用了比较流行的渐进式javaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。非常适合作为计算机专业的同学参考资料进行学习.主要编程语言为nodejs和mysql。Sequelize 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, MariaDB, SQLite 以及 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 预读和延迟加载,读取复制等功能。充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

 


网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理模块,对于学生成绩管理系统将是又一个传统管理到智能化信息管理的改革,对于传统的学生成绩管理,所包括的信息内容比较多,对于用户想要对这些数据进行管理维护需要花费很大的时间信息,而且对于数据的存储比较麻烦,想要查找某一相关的数据信息比较繁琐,随着互联网大潮的到来,决定开发一套智能化、信息化的学生成绩管理系统,主要对首页,个人中心,教师管理,学生管理,公告信息管理,课程类型管理,课程信息管理,选课信息管理,成绩信息管理等功能模块的管理系统的研发。

 

  1. import { version } from '../../package.json'
  2. import { Router } from 'express'
  3. import { Op } from 'sequelize'
  4. import toRes from '../lib/toRes'
  5. import UsersModel from '../models/UsersModel'
  6. import jwt from 'jsonwebtoken'
  7. export default ({ config, db }) => {
  8. let api = Router()
  9. // 用户登录接口
  10. api.post('/login', async (req, res) => {
  11. try {
  12. let userinfo = await UsersModel.findOne({ where: { username: req.query.username, password: req.query.password } })
  13. if (userinfo === null) {
  14. toRes.session(res, -1, '用户名或密码错误!')
  15. return;
  16. }
  17. const token = jwt.sign(
  18. {
  19. id: userinfo.dataValues.id,
  20. username: userinfo.dataValues.username,
  21. role: userinfo.dataValues.role
  22. },
  23. config.jwtSecret,
  24. {
  25. expiresIn: 60 * 60 * 24 * 1
  26. }
  27. )
  28. userinfo.dataValues.token = token
  29. delete userinfo.dataValues.password
  30. req.session.userinfo = userinfo
  31. toRes.session(res, 0, '登录成功!', token)
  32. } catch(err) {
  33. toRes.session(res, 500, '服务器错误!', '', 500)
  34. }
  35. })
  36. // 用户退出接口
  37. api.all('/logout', (req, res) => {
  38. if (!toRes.auth(req, res, '管理员')) return
  39. req.session.destroy(err => {
  40. toRes.session(res, 0, '退出成功!')
  41. })
  42. })
  43. // 注册接口
  44. api.post('/register', async (req, res) => {
  45. try {
  46. const userinfo = await UsersModel.create(req.body)
  47. if (userinfo === null) {
  48. toRes.session(res, -1, '注册失败!')
  49. } else {
  50. toRes.session(res, 0, '注册成功!')
  51. }
  52. } catch(err) {
  53. toRes.session(res, 500, '服务器错误!', '', 500)
  54. }
  55. })

 

目录
第一章 绪论 5
1.1 研究背景 5
1.2系统研究现状 5
1.3 系统实现的功能 6
1.4系统实现的特点 6
1.5 本文的组织结构 6
第二章开发技术与环境配置 7
2.1 nodejs语言简介 7
2.2 vue技术 8
2.3 MySQL环境配置 8
2.4 vscode环境配置 9
2.5 mysql数据库介绍 9
2.6 B/S架构 9
第三章系统分析与设计 11
3.1 可行性分析 11
3.1.1 技术可行性 11
3.1.2 操作可行性 11
3.1.3经济可行性 11
3.2 需求分析 12
3.3 总体设计 12
3.4 数据库设计与实现 13
3.4.1 数据库概念结构设计 13
3.4.2 数据库具体设计 14
第四章 系统功能的具体实现 22
4.1 系统功能模块 22
4.2 管理员功能模块 25
第五章 系统测试 29
总结 30
参考文献 31
致谢 32

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/185353
推荐阅读
相关标签
  

闽ICP备14008679号