在线考试系统,大四毕设,采用 vue 与 springcloud 微服务架构开发,前后端完全分离,json
格式数据交互,全部由本人独立开发完成。目前项目已部署在本人的学生版阿里云 centos7
服务器上。
主要功能有:对班级和科目的管理;对试题和试卷的管理(包含 excel 文件模板大批量一
次性上传试题到题库,自动从题库中抽题出试卷);用户、角色、权限三级设计实现方法级
别的细粒度权限控制;aop 后置通知实现整个系统重要操作日志的记录。
项目技术栈
前端
� 前端后台管理系统由 vue 与 elementUI 搭建,路由使用 vue-router,前端在线考试系
统由 nuxt 搭建,ajax 请求均使用 axios。
� vsCode 工具开发
后台
� mysql 数据库,mybatis(通用 Mapper、PageHelper 分页助手)
� springBoot(spring、springMVC)
� springCloud(eureka、zuul、feign)搭建微服务工程
� nginx 反向代理域名
� 采用 jwt+rsa 加密生成 token,写入 cookie 的方式做无状态登录
� maven、idea、postman 工具开发
说明
目录说明
� exam_online_hfr_admin 为前端后台管理项目,npm install 安装依赖后 npm run dev 可
运行
� exam_online_hfr_portal 为前端在线开心系统项目,npm install 安装依赖后 npm run dev
可运行
� exam_online_hfr_api 为后端微服务项目,maven 下载完依赖,修改 application.yml 配
置文件中的数据库密码和 jwt 配置后即可运行
后台 api 接口说明
� 接口基准地址:http://zuul.itdupan.com/api/
o 示例:http://zuul.itdupan.com/api/school/grade/findGrades,其中 api 为 zuul 网
关前缀,school 为 zuul 转发到的微服务名称路径,/grade/findGrades 为
controller 为 controller 请求访问路径。所有请求都经过 zuul 网关,已在网关
zuulFilter 中做鉴权。
� 服务端已开启 cors 跨域支持
o 只允 许 http://hongfurui.itdupan.com 和 http://exam.itdupan.com 两 个域名 对
http://zuul.itdupan.com 进行跨域访问
� 请求方式
GET 查询
POST 新增
PUT 更新
DELETE 删除
� 使用 HttpStatus Code 做标识状态
200 OK 响应成功
201 CREATED 新增或更新成功
204 DELETED 删除成功