摘 要
在教育信息化浪潮的推动下,答辩流程正经历从传统模式向数字化、智能化方向的深刻变革。为响应这一变革,我们精心打造了一款基于Node.js后端技术和先进前端框架Vue.js的答辩系统。该系统融合了Node.js的高效异步处理能力、事件驱动架构及其灵活可扩展的优势,旨在显著提升答辩流程的运行效率,增强答辩透明度,并为用户提供流畅、直观的操作界面。我们集成了项目管理、文档审批、答辩日程规划、成绩记录等核心模块,实现了答辩流程的全方位数字化管理。通过这一系统,无论是管理员、教师还是学生,都能享受到前所未有的便捷体验,轻松完成各自的角色任务。我们坚信,这款答辩系统的广泛应用将极大促进教育信息化的发展,为学术研究注入新的活力,推动教育事业的持续进步。
关键词:答辩系统;Node.js;MySQL数据库;Koa框架:
Abstract
Driven by the wave of educational informatization, the defense process is undergoing a profound transformation from traditional models to digital and intelligent directions. In response to this change, we have carefully crafted a defense system based on Node.js backend technology and advanced frontend framework Vue.js. This system integrates the efficient asynchronous processing capability, event driven architecture, and flexible scalability advantages of Node.js, aiming to significantly improve the running efficiency of the defense process, enhance the transparency of the defense, and provide users with a smooth and intuitive operating interface. We have integrated core modules such as project management, document approval, defense schedule planning, and score recording to achieve comprehensive digital management of the defense process. Through this system, administrators, teachers, and students can enjoy unprecedented convenience and easily complete their respective role tasks. We firmly believe that the widespread application of this defense system will greatly promote the development of educational informatization, inject new vitality into academic research, and promote the continuous progress of the education industry.
Keywords:Defense system; Node.js; MySQL database; Koa framework:
目 录
第1章绪 论
1.1课题背景
在教育信息化快速发展的背景下,传统的答辩管理模式逐渐暴露出流程繁琐、效率低下、信息不透明等问题,迫切需要一种更为高效、便捷且用户友好的数字化解决方案。Vue.js作为前端开发的佼佼者,以其组件化、数据驱动和易于上手的特点,成为构建现代化Web应用的首选框架[4];而Node.js,则以其非阻塞I/O、高性能和丰富的生态系统,在后端开发中占据重要地位。因此,结合Vue.js与Node.js的技术优势,开发一套答辩系统课题显得尤为重要[10]。该系统旨在通过前后端分离架构,实现答辩流程的全程数字化管理,包括项目管理、文档审批、答辩安排、成绩记录等功能,不仅能够有效提升答辩效率与透明度,还能为用户提供流畅、直观的操作体验,进而推动教育信息化的深入发展,为学术研究提供更加高效、公正的答辩环境。
1.2研究的意义
基于Vue.js与Node.js的答辩系统研究,在教育信息化领域具有重要的实践与创新意义。该系统深度整合了管理员、教师及学生用户的多维度需求,通过得分项目管理、开题报告与任务书管理、论文信息管理、答辩安排与评分确认、答辩成绩管理等核心功能,实现了答辩流程的全方位数字化管理[11]。同时,系统还提供了系统管理、用户反馈、公告消息及资源管理等一系列辅助功能,不仅提升了答辩工作的效率与透明度,还增强了用户的互动体验与满意度。这一研究不仅推动了答辩流程的标准化与智能化,还为教育管理者提供了数据驱动的决策支持,促进了教育评价体系的持续改进与创新,为教育信息化的深入发展贡献了重要力量[15]。
1.3国内外研究现状
在国内,Vue.js与Node.js技术在答辩系统中的应用已经取得了显著的成果,展现出强大的生命力和创新力。众多高校和科研机构纷纷投入到这一领域的研究中,旨在通过数字化手段优化答辩流程,提升工作效率。例如,某重点大学研发的毕业设计答辩平台,不仅实现了论文文档的电子化提交、版本追踪、指导教师的在线批注与反馈等核心功能,还融入了Vue.js前端框架的组件化设计理念,使得用户界面更加直观、易用。此外,该平台还创新性地集成了在线预约答辩时间、自动生成答辩日程表、答辩过程直播与回放等功能,极大地简化了答辩流程,提高了整体工作效率。这些功能的实现,不仅得益于Vue.js与Node.js技术的强大支持,更体现了国内研究者对教育信息化需求的深刻理解和精准把握[17]。
在国外,基于Vue.js与Node.js的答辩系统开发同样展现出蓬勃生机和创新活力。众多知名学术机构和在线教育平台纷纷投入资源,致力于开发更加智能化、个性化的答辩系统。以欧洲某知名学术机构为例,他们研发的在线答辩管理系统不仅支持多语言界面,方便国际学者使用,还充分利用Vue.js前端框架的灵活性和组件化设计优势,实现了答辩材料的快速上传、智能分类管理与高效检索。同时,Node.js后端技术确保了系统的高并发处理能力和数据安全性[19],使得答辩过程更加流畅、稳定。此外,该系统还特别注重用户交互体验的优化,通过动态图表展示答辩进度、实时消息推送、个性化推荐等功能,增强了用户的参与度和满意度。这些创新实践不仅推动了答辩系统的智能化发展,更为教育信息化的全球合作与交流提供了有益借鉴。
综上所述,无论是国内还是国外,Vue.js与Node.js技术的结合都在答辩系统的开发中发挥了重要作用,不仅提升了系统的功能与性能,还优化了用户体验,为教育信息化的深入发展注入了新的活力。未来,随着技术的不断进步和应用场景的不断拓展,基于Vue.js与Node.js的答辩系统将会在教育领域发挥更加广泛而深远的影响。。
1.4本文的主要内容
1.系统背景与需求分析:首先,介绍答辩系统在教育信息化背景下的重要性,分析当前答辩流程中存在的问题,如流程繁琐、效率低下、信息不透明等。接着,明确答辩系统的目标用户群体,包括学生、教师和管理员,并针对他们的需求进行详细分析,如学生需要便捷地提交论文、查看答辩安排和成绩,教师需要在线批注论文、参与答辩评分,管理员需要全面监控答辩流程、管理用户信息和数据统计等。
2.技术选型与架构设计:基于需求分析,选择Vue.js作为前端框架,利用其组件化、数据绑定和路由管理等特性,构建直观、交互性强的用户界面。同时,选择Node.js作为后端技术,结合Koa等框架,实现高效、异步的数据处理和API接口服务。此外,采用MySQL等数据库存储系统数据,确保数据的安全性和可扩展性。整体架构设计注重前后端分离,提高系统的可维护性和扩展性。
3.核心功能实现:答辩系统的核心功能包括论文管理、答辩安排、在线答辩、评分与反馈等。论文管理模块支持论文的上传、下载、版本控制和在线批注等功能;答辩安排模块允许管理员和教师设置答辩时间、地点和参与者,生成答辩日程表;在线答辩模块提供视频/音频直播、屏幕共享和即时通讯等功能,支持远程答辩;评分与反馈模块允许教师在线评分、填写评语,并生成答辩报告,同时学生可查看评分和反馈结果。
4.用户体验与界面设计:界面设计简洁明了,色彩搭配和谐,操作流程直观易懂。同时,通过动画效果、加载提示和错误提示等细节优化,提升用户的操作流畅度和满意度。
5.系统测试与优化:在系统开发完成后,进行全面的功能测试和性能测试,确保系统的稳定性和可靠性。针对发现的问题,进行优化和改进,如优化数据库查询、提高API接口响应速度、修复界面bug等。同时,收集用户反馈,持续优化系统功能和用户体验。
第2章相关技术概述
2.1 MVVM模式
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
2.2 KOA框架
Node.js是一个异步的世界,官方API支持的都是callback形式的异步编程模型,这会带来许多问题,例如:1、callback嵌套问题;2、异步函数中可能同步调用callback返回数据,带来不一致性。为了解决以上问题Koa出现了。
koa是由Express原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的Web框架。使用koa编写web应用,可以免除重复繁琐的回调函数嵌套,并极大地提升错误处理的效率。koa不在内核方法中绑定任何中间件,它仅仅提供了一个轻量优雅的函数库,使得编写Web应用变得得心应手。开发思路和express差不多,最大的特点就是可以避免异步嵌套。
阿里内部就在使用Koa框架,并在Koa基础上面做了一些扩展和封装。并且基于koa开发了一个开源框架egg
2.3 MySQL数据库
MySQL数据库,作为开源关系型数据库管理系统的佼佼者,以其高性能、可靠性、易用性和灵活性,在全球范围内被广泛应用于各类企业级应用中。MySQL采用SQL(结构化查询语言)作为数据操作的标准语言,支持复杂的查询、数据更新、索引优化等功能,确保数据的高效存取和完整性。其强大的事务处理能力,为业务逻辑的原子性、一致性、隔离性和持久性提供了坚实保障。此外,MySQL还具备高度的可配置性和可扩展性,通过优化存储引擎、调整配置参数等手段,可以轻松应对高并发、大数据量的应用场景。基于Vue.js与Node.js的答辩系统中,MySQL作为后端数据存储的核心,不仅为系统提供了稳定可靠的数据支持,还通过其丰富的数据操作功能,助力系统实现复杂的业务逻辑和高效的数据管理。
2.4 Node.JS开发语言
Node.js是一个开源的JavaScript运行环境,它能够在服务器端执行JavaScript代码。Node.js采用事件驱动和非阻塞I/O模型,使其在处理高并发时展现出优越的性能和吞吐量,特别适合构建网络应用。
第3章系统需求分析
3.1可行性分析
通过综合考虑技术、经济、操作等因素,可以对基于Vue.js与Node.js的答辩系统的可行性进行全面评估。这将有助于确定项目的成功概率,并为项目规划提供坚实的基础。
3.1.1技术可行性分析
Vue.js作为前端框架,以其组件化、数据绑定设计等优势,非常适合构建交互性强、界面友好的答辩系统。同时,Node.js作为后端技术,以其高效、异步和非阻塞I/O的特性,能够轻松应对高并发请求,确保系统的稳定运行。此外,Vue.js与Node.js均拥有广泛的社区支持和丰富的第三方库,降低了开发难度,提高了开发效率。因此,从技术角度来看,基于Vue.js与Node.js构建答辩系统是可行的。
3.1.2经济可行性分析
相较于传统开发方式,基于Vue.js与Node.js的答辩系统开发成本相对较低。一方面,Vue.js和Node.js均为开源技术,无需支付额外的许可费用;另一方面,由于技术成熟度高,开发周期短,可以节省大量人力和时间成本。此外,系统部署在云服务器上,也降低了硬件投入和维护成本。因此,从经济角度来看,该系统具有可行性。
3.1.3操作可行性分析
答辩系统的用户群体主要包括学生、教师和管理员。这些用户通常对计算机和网络操作有一定的了解,因此能够轻松上手使用基于Vue.js与Node.js构建的答辩系统。同时,系统界面设计简洁明了,操作流程直观易懂,进一步提高了用户的操作便利性。因此,从操作角度来看,该系统同样具有可行性。
3.2功能需求分析
通过对基于Vue.js与Node.js的答辩系统的功能需求分析,系统划分为了学生、教师用户和管理员三大角色。各角色主要包括的功能说明如下:
(一)学生用户功能:
首页:集中展示学生用户的个人信息、待办事项以及最新通知,方便学生快速了解当前学术进度。
公告消息:实时接收并查看学校或系统发布的最新公告和消息,确保学生不错过任何重要信息。
新闻资讯:提供丰富的学术和校园新闻资讯,帮助学生拓宽视野,了解行业动态。
用户反馈:便捷的反馈渠道,允许学生提交对系统或服务的意见和建议,促进系统持续优化。
我的账户:全面的个人信息管理功能,包括账户设置、密码修改等,保障学生账户安全。
个人中心:个人首页展示学生学术动态,开题报告、任务书、论文信息等模块帮助学生高效管理学术任务;答辩安排模块清晰呈现答辩时间和地点;答辩成绩模块方便学生查看成绩和评语;评论管理模块则让学生管理自己的学术交流。
(二)教师用户功能:
后台首页:教师管理界面的概览,集中展示待审批事项、学生进度等关键信息。
开题报告管理:全面查看并审批学生的开题报告,确保学生研究方向的准确性和可行性。
任务书管理:浏览并编辑学生的任务书,提供必要的指导和建议。
任务书审批管理:高效审批学生的任务书申请,确保学术任务的顺利推进。
论文信息管理:全面监控学生的论文撰写进度,确保论文质量符合学术要求。
答辩安排管理:灵活安排并修改学生的答辩时间和地点,确保答辩流程顺畅。
评分确认管理:准确记录并确认学生的答辩评分,保证评分的公正性和准确性。
(三)管理员功能:
后台首页:系统管理的核心界面,全面展示系统运行状态和用户概况。
系统用户管理:全面管理管理员、教师用户和学生用户的信息和权限,确保系统安全。
得分项目管理:设置并管理不同项目的得分标准和权重,为学术评价提供科学依据。
开题报告、任务书管理:全面监控并管理所有学生的开题报告和任务书,确保学术任务的规范性和质量。
论文信息管理:全面监控并管理所有学生的论文信息,为学术管理提供数据支持。
答辩安排管理:统筹安排并修改所有学生的答辩时间和地点,确保答辩流程的顺畅和高效。
评分确认、答辩成绩管理:准确记录并管理所有学生的答辩评分和成绩,为学术评价提供可靠依据。
系统管理(轮播图管理):灵活设置并管理系统轮播图,提升系统界面的美观度和用户体验。
留言管理(用户反馈):及时查看并处理用户的留言和反馈,促进系统持续优化和改进。
公告消息管理:高效发布并管理系统公告和消息,确保用户及时了解系统动态和重要信息。
资源管理(新闻资讯、资讯分类):全面管理系统的新闻资讯和资讯分类,为用户提供丰富、有价值的学术资源。
该系统的用户角色用例图具体如下所示。
基于Vue.js与Node.js的答辩系统学生角色用例图如下所示。

图3-1 学生角色用例图
基于Vue.js与Node.js的答辩系统教师用户角色用例图如下所示。

图3-2 教师用户角色用例图
基于Vue.js与Node.js的答辩系统管理员角色用例图如下所示。

图3-3 管理员角色用例图
3.3系统流程分析
3.3.1操作流程
登录流程图,如图所示:

图3-4 登录流程图
3.3.2添加信息流程
添加信息流程图,如图所示:

图3-5 添加信息流程图
3.3.3删除信息流程
删除信息流程图,如图所示:

图3-6 删除信息流程图
第4章系统设计
4.1系统功能设计
4.1.1前台功能模块
系统功能模块设计是系统开发过程中的重要阶段,它旨在将系统划分为不同的模块,每个模块负责完成特定的功能或任务。基于Vue.js与Node.js的答辩系统由前台和后台两大功能模块组成,每个模块下又包含具体的功能操作。前台功能模块图如下所示。

图4-1前台功能模块图
4.1.2后台功能模块
后台模块主要包含教师用户和管理员二大角色功能。系统后台功能模块图如下图所示。

图4-2系统后台功能模块图
4.2数据库设计
数据库的设计是系统的设计中比较重要的一部分内容,数据库设计是一切系统设计的基础,首先需要进行概念模型E-R图的设计,然后进行关系模型物理模型的建立。
4.2.1概念模型
数据库概念结构设计主要涉及数据库的实体和实体之间的关系。通过实体-关系模型或者其他适当的模型,我将定义网站中涉及的各个实体以及它们之间的联系。下面我将罗列用户实体属性图和网站E-R图。
- 用户实体属性如下图所示。

图4-3 用户实体属性图
- 开题报告实体属性如下图所示。

图4-4 开题报告实体属性图
- 答辩安排实体属性如下图所示。

图4-5 答辩安排实体属性图
下面是答辩系统中主要的数据库表总E-R实体关系图。

图4-6系统总体E-R图
4.2.2物理模型
本系统采MySQL数据库管理系统对数据进行管理。下面是对各个表中的字段数据类型、大小等做简短描述。基于Vue.js与Node.js的答辩系统所需要的部分数据结构表如下表所示。
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | parent | varchar | 64 | 0 | Y | N | 父级菜单 | |
8 | parent_sort | int | 10 | 0 | N | N | 0 | 父级菜单排序 |
9 | position | varchar | 32 | 0 | Y | N | 位置: | |
10 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
11 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
12 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
13 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
14 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
15 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
16 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
17 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
18 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
19 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
20 | option | text | 65535 | 0 | Y | N | 配置: | |
21 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
22 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | code_token_id | int | 10 | 0 | N | Y | ||
2 | token | varchar | 255 | 0 | Y | N | ||
3 | code | varchar | 255 | 0 | Y | N | 验证码 | |
4 | expire_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 失效时间 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | defense_arrangement_id | int | 10 | 0 | N | Y | 答辩安排ID | |
2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
3 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
4 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
5 | student_major | varchar | 64 | 0 | Y | N | 学生专业 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
8 | opening_question | varchar | 64 | 0 | Y | N | 开题题目 | |
9 | research_background | text | 65535 | 0 | Y | N | 研究背景 | |
10 | research_objective | text | 65535 | 0 | Y | N | 研究目的 | |
11 | task_name | varchar | 64 | 0 | Y | N | 任务名称 | |
12 | task_requirements | text | 65535 | 0 | Y | N | 任务要求 | |
13 | task_content | text | 65535 | 0 | Y | N | 任务内容 | |
14 | paper_files | varchar | 255 | 0 | Y | N | 论文文件 | |
15 | abstract_of_the_paper | text | 65535 | 0 | Y | N | 论文摘要 | |
16 | defense_judges | int | 10 | 0 | Y | N | 0 | 答辩评委 |
17 | defense_batch | varchar | 64 | 0 | Y | N | 答辩批次 | |
18 | defense_time | date | 10 | 0 | Y | N | 答辩时间 | |
19 | time_frame | varchar | 64 | 0 | Y | N | 时间范围 | |
20 | venue_for_defense | varchar | 64 | 0 | Y | N | 答辩地点 | |
21 | score_confirmation_limit_times | int | 10 | 0 | N | N | 1 | 评分限制次数 |
22 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
23 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
24 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
25 | source_id | int | 10 | 0 | Y | N | 来源ID | |
26 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | defense_score_id | int | 10 | 0 | N | Y | 答辩成绩ID | |
2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
3 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
4 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
5 | student_major | varchar | 64 | 0 | Y | N | 学生专业 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
8 | opening_question | varchar | 64 | 0 | Y | N | 开题题目 | |
9 | research_background | text | 65535 | 0 | Y | N | 研究背景 | |
10 | research_objective | text | 65535 | 0 | Y | N | 研究目的 | |
11 | task_name | varchar | 64 | 0 | Y | N | 任务名称 | |
12 | task_requirements | text | 65535 | 0 | Y | N | 任务要求 | |
13 | task_content | text | 65535 | 0 | Y | N | 任务内容 | |
14 | paper_files | varchar | 255 | 0 | Y | N | 论文文件 | |
15 | abstract_of_the_paper | text | 65535 | 0 | Y | N | 论文摘要 | |
16 | defense_judges | int | 10 | 0 | Y | N | 0 | 答辩评委 |
17 | defense_batch | varchar | 64 | 0 | Y | N | 答辩批次 | |
18 | paper_quality | double | 9 | 2 | Y | N | 0.00 | 论文质量 |
19 | defense_performance | double | 9 | 2 | Y | N | 0.00 | 答辩表现 |
20 | answer_to_the_question | double | 9 | 2 | Y | N | 0.00 | 问题回答 |
21 | defense_score | varchar | 64 | 0 | Y | N | 答辩成绩 | |
22 | scoring_items | varchar | 64 | 0 | Y | N | 得分项目 | |
23 | qualified_level | varchar | 64 | 0 | Y | N | 合格等级 | |
24 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
25 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
26 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
27 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
28 | source_id | int | 10 | 0 | Y | N | 来源ID | |
29 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | message_id | int | 10 | 0 | N | Y | 留言板ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
3 | title | varchar | 64 | 0 | Y | N | 标题: | |
4 | content | longtext | 2147483647 | 0 | N | N | 内容: | |
5 | nickname | varchar | 32 | 0 | N | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像: | |
7 | | varchar | 125 | 0 | Y | N | 留言者邮箱 | |
8 | phone | varchar | 11 | 0 | Y | N | 留言者手机号码 | |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
11 | reply | longtext | 2147483647 | 0 | Y | N | 回复 | |
12 | reply_state | tinyint | 4 | 0 | Y | N | 0 | 回复状态 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | opening_report_id | int | 10 | 0 | N | Y | 开题报告ID | |
2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
3 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
4 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
5 | student_major | varchar | 64 | 0 | Y | N | 学生专业 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
8 | opening_question | varchar | 64 | 0 | Y | N | 开题题目 | |
9 | opening_document | varchar | 255 | 0 | Y | N | 开题文件 | |
10 | research_background | text | 65535 | 0 | Y | N | 研究背景 | |
11 | research_objective | text | 65535 | 0 | Y | N | 研究目的 | |
12 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
13 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
14 | task_book_limit_times | int | 10 | 0 | N | N | 1 | 任务书限制次数 |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | paper_information_id | int | 10 | 0 | N | Y | 论文信息ID | |
2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
3 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
4 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
5 | student_major | varchar | 64 | 0 | Y | N | 学生专业 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
8 | opening_question | varchar | 64 | 0 | Y | N | 开题题目 | |
9 | research_background | text | 65535 | 0 | Y | N | 研究背景 | |
10 | research_objective | text | 65535 | 0 | Y | N | 研究目的 | |
11 | task_name | varchar | 64 | 0 | Y | N | 任务名称 | |
12 | task_requirements | text | 65535 | 0 | Y | N | 任务要求 | |
13 | task_content | text | 65535 | 0 | Y | N | 任务内容 | |
14 | paper_files | varchar | 255 | 0 | Y | N | 论文文件 | |
15 | abstract_of_the_paper | text | 65535 | 0 | Y | N | 论文摘要 | |
16 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
17 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
18 | defense_arrangement_limit_times | int | 10 | 0 | N | N | 1 | 答辩安排限制次数 |
19 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
21 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
22 | source_id | int | 10 | 0 | Y | N | 来源ID | |
23 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | schedule_id | smallint | 5 | 0 | N | Y | 日程ID:[0,32767] | |
2 | content | varchar | 255 | 0 | Y | N | 日程内容 | |
3 | scheduled_time | datetime | 19 | 0 | Y | N | 计划时间 | |
4 | user_id | int | 10 | 0 | N | N | 用户id | |
5 | create_time | datetime | 19 | 0 | Y | N | 创建时间 | |
6 | update_time | datetime | 19 | 0 | Y | N | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | score_id | int | 10 | 0 | N | Y | 评分ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评分人: |
3 | nickname | varchar | 64 | 0 | Y | N | 昵称: | |
4 | score_num | double | 5 | 2 | N | N | 0.00 | 评分: |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
8 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
9 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | score_confirmation_id | int | 10 | 0 | N | Y | 评分确认ID | |
2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
3 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
4 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
5 | student_major | varchar | 64 | 0 | Y | N | 学生专业 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
8 | opening_question | varchar | 64 | 0 | Y | N | 开题题目 | |
9 | research_background | text | 65535 | 0 | Y | N | 研究背景 | |
10 | research_objective | text | 65535 | 0 | Y | N | 研究目的 | |
11 | task_name | varchar | 64 | 0 | Y | N | 任务名称 | |
12 | task_requirements | text | 65535 | 0 | Y | N | 任务要求 | |
13 | task_content | text | 65535 | 0 | Y | N | 任务内容 | |
14 | paper_files | varchar | 255 | 0 | Y | N | 论文文件 | |
15 | abstract_of_the_paper | text | 65535 | 0 | Y | N | 论文摘要 | |
16 | defense_judges | int | 10 | 0 | Y | N | 0 | 答辩评委 |
17 | defense_batch | varchar | 64 | 0 | Y | N | 答辩批次 | |
18 | paper_quality | double | 9 | 2 | Y | N | 0.00 | 论文质量 |
19 | defense_performance | double | 9 | 2 | Y | N | 0.00 | 答辩表现 |
20 | answer_to_the_question | double | 9 | 2 | Y | N | 0.00 | 问题回答 |
21 | defense_score | varchar | 64 | 0 | Y | N | 答辩成绩 | |
22 | scoring_items | varchar | 64 | 0 | Y | N | 得分项目 | |
23 | qualified_level | varchar | 64 | 0 | Y | N | 合格等级 | |
24 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
25 | defense_score_limit_times | int | 10 | 0 | N | N | 1 | 确认成绩限制次数 |
26 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
27 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
28 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
29 | source_id | int | 10 | 0 | Y | N | 来源ID | |
30 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | scoring_items_id | int | 10 | 0 | N | Y | 得分项目ID | |
2 | scoring_items | varchar | 64 | 0 | Y | N | 得分项目 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_users_id | int | 10 | 0 | N | Y | 学生用户ID | |
2 | student_id | varchar | 64 | 0 | N | N | 学生学号 | |
3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
4 | student_gender | varchar | 64 | 0 | Y | N | 学生性别 | |
5 | student_age | varchar | 64 | 0 | Y | N | 学生年龄 | |
6 | student_major | varchar | 64 | 0 | Y | N | 学生专业 | |
7 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
8 | student_mobile_phone | varchar | 64 | 0 | Y | N | 学生手机 | |
9 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
10 | collect_len | int | 10 | 0 | N | N | 0 | 收藏数 |
11 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
12 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | task_book_id | int | 10 | 0 | N | Y | 任务书ID | |
2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
3 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
4 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
5 | student_major | varchar | 64 | 0 | Y | N | 学生专业 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
8 | opening_question | varchar | 64 | 0 | Y | N | 开题题目 | |
9 | research_background | text | 65535 | 0 | Y | N | 研究背景 | |
10 | research_objective | text | 65535 | 0 | Y | N | 研究目的 | |
11 | task_name | varchar | 64 | 0 | Y | N | 任务名称 | |
12 | task_files | varchar | 255 | 0 | Y | N | 任务文件 | |
13 | task_requirements | text | 65535 | 0 | Y | N | 任务要求 | |
14 | task_content | text | 65535 | 0 | Y | N | 任务内容 | |
15 | task_book_approval_limit_times | int | 10 | 0 | N | N | 0 | 审批申请限制次数 |
16 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
17 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
18 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
19 | source_id | int | 10 | 0 | Y | N | 来源ID | |
20 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | task_book_approval_id | int | 10 | 0 | N | Y | 任务书审批ID | |
2 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
3 | student_id | varchar | 64 | 0 | Y | N | 学生学号 | |
4 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
5 | student_major | varchar | 64 | 0 | Y | N | 学生专业 | |
6 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
7 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
8 | opening_question | varchar | 64 | 0 | Y | N | 开题题目 | |
9 | research_background | text | 65535 | 0 | Y | N | 研究背景 | |
10 | research_objective | text | 65535 | 0 | Y | N | 研究目的 | |
11 | task_name | varchar | 64 | 0 | Y | N | 任务名称 | |
12 | task_requirements | text | 65535 | 0 | Y | N | 任务要求 | |
13 | task_content | text | 65535 | 0 | Y | N | 任务内容 | |
14 | approval_documents | varchar | 255 | 0 | Y | N | 审批文件 | |
15 | describe_the_content | text | 65535 | 0 | Y | N | 描述内容 | |
16 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
17 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
18 | paper_information_limit_times | int | 10 | 0 | N | N | 0 | 提交论文限制次数 |
19 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
21 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
22 | source_id | int | 10 | 0 | Y | N | 来源ID | |
23 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | teacher_users_id | int | 10 | 0 | N | Y | 教师用户ID | |
2 | teacher_id | varchar | 64 | 0 | N | N | 教师工号 | |
3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
4 | teacher_gender | varchar | 64 | 0 | Y | N | 教师性别 | |
5 | teachers_age | varchar | 64 | 0 | Y | N | 教师年龄 | |
6 | affiliated_college | varchar | 64 | 0 | Y | N | 所属学院 | |
7 | proof_of_identity | varchar | 255 | 0 | Y | N | 身份证明 | |
8 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
9 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | int | 10 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
第5章系统实现
5.1系统实现概述
系统实现部分就是将系统分析,系统设计部分的内容通过编码进行功能实现,以一个实际应用系统的形式展示系统分析与系统设计的结果。
5.2前台功能模块的实现
5.2.1学生登录界面
注册用户登录时,输入用户名及密码即可登录前台进行相关功能操作。学生登录界面如下图所示:

图5-1 学生登录界面图
登录关键代码如下:
Login.prototype.api = async function(req) {
var body = req.body;
var obj = await $.services["user"].get_obj({
username: body.username
},{like:false});
if (obj) {
var group = await $.services["user_group"].get_obj({
name:obj.user_group
})
if (group){
if (group.name!=="管理员"){
var sql = "select examine_state from "+ group.source_table +" WHERE user_id = " + obj.user_id;
var userExamine = await $.mysql.run(sql);
if (userExamine && userExamine.length > 0 && userExamine[0].examine_state!=="已通过"){
return {
error: {
code: 70000,
message: "该用户审核未通过"
},
};
}
}
if (obj.state!==1){
return {
error: {
code: 70000,
message: "用户非可用状态,不能登录"
},
};
}
var password = md5(body.password);
if (password === obj.password) {
req.session.user = obj;
var date = Date.parse(new Date());
var token = md5(obj.user_id + "_" + date);
await $.services["access_token"].add({
token,
info: JSON.stringify(obj),
user_id:obj.user_id
});
obj.token = token;
return {
result: {obj}
};
} else {
return {
error: {
code: 70000,
message: "密码错误"
},
};
}
}else {
return {
error: {
code: 70000,
message: "用户组不存在"
},
};
}
} else {
return {
error: {
code: 70000,
message: "账户不存在"
}
};
}
};
5.2.2前台首页界面
前台首页模块是系统的主入口,为用户提供导航和重要信息展示。通过清晰的界面布局和内容展示,为用户提供良好的导航菜单、轮播图、功能浏览体验,引导用户进行系统内各项操作。前台首页界面如下图所示:

图5-2 前台首页界面图
5.2.3答辩安排界面
在答辩安排界面,用户可以查看答辩安排列表,可点击查看详情,答辩安排界面如下图所示:

图5-3 答辩安排界面图
答辩安排关键代码如下:
Service.prototype.set = async function(query, body, config) {
var sql = $.mysql.toSetSql(query, body, Object.assign({}, this.config, config || {}));
var ret = await this.run(sql);
return ret;
};
5.2.4用户反馈界面
用户反馈功能提供了一个直接向平台管理者反映问题、提出建议的渠道。学生用户可以在此提交意见和建议,有助于平台不断优化用户体验,更好地服务于学生的学习和生活。用户反馈界面如下图所示:

图5-4 用户反馈界面图
5.2.5个人中心界面
在个人中心界面中,个人首页展示学生学术动态,开题报告、任务书、论文信息等模块帮助学生高效管理学术任务;答辩安排模块清晰呈现答辩时间和地点;答辩成绩模块方便学生查看成绩和评语;评论管理模块则让学生管理自己的学术交流。个人中心界面如下图所示:

图5-5 个人中心界面图
5.3系统后台功能模块的实现
5.3.1后台首页界面
在后台首页界面,管理员和教师用户可以查看答辩成绩统计图表,系统后台首页界面如下图所示:

图5-6 后台首页界面图
5.3.2论文信息管理界面
论文信息管理界面,教师用户可以查看、跟踪学生的论文进展,提供必要的指导和支持;管理员则负责论文信息的整体管理和统计,确保论文信息的准确性和完整性。论文信息界面如下图所示:

图5-7 论文信息管理界面图
论文信息管理关键代码:
Service.prototype.get_list = async function(query, config) {
var sql = $.mysql.toGetSql(query, Object.assign({}, this.config, config || {}));
return await this.run(sql);
};
Service.prototype.add = async function(body, config, config) {
var sql = $.mysql.toAddSql(body, Object.assign({}, this.config, config || {}));
var ret = await this.run(sql);
return ret;
};
Service.prototype.set = async function(query, body, config) {
var sql = $.mysql.toSetSql(query, body, Object.assign({}, this.config, config || {}));
var ret = await this.run(sql);
return ret;
};
5.3.3开题报告管理界面
在开题报告管理界面,教师用户可以查看、审核和任务书等,确保学生的研究方向合理且具备可行性;管理员则负责监督整个开题报告管理的流程,确保流程的顺畅和合规。开题报告界面如下图所示:

图5-8 开题报告界面图
5.3.4系统管理界面
在系统管理界面,管理员可以对系统首页轮播图进行管理,可以进行查看、添加和删除操作。系统管理界面如下图所示:

图5-9系统管理界面图
系统管理关键代码如下:
Service.prototype.add = async function(body, config, config) {
var sql = $.mysql.toAddSql(body, Object.assign({}, this.config, config || {}));
var ret = await this.run(sql);
return ret;
};
上传图片关键代码如下:
Controller.prototype.upload = async function(req) {
var query = req.query;
var url = "";
if (req.files && req.files.file) {
var f = req.files.file;
const render = fs.createReadStream(f.tempFilePath);
var name = f.name;
var dir = f.dir || "";
var file = _dir + dir + name;
try {
if (fs.existsSync(file)) {
var arr = name.split(".");
name = arr[0];
var extension = arr[arr.length - 1];
var num = 10000;
for (var i = 0; i < num; i++) {
var na = name + "_" + (i + 1) + "." + extension;
file = path.join(_dir, na);
if (!fs.existsSync(file)) {
name = na;
break;
}
}
}
const upStream = fs.createWriteStream(file);
render.pipe(upStream);
url = _path + name;
} catch (e) {
console.log("上传失败:", e);
}
return {
result: {
url
}
};
} else {
return {
code: 10000,
message: "上传的文件(file)不能为空!",
};
}
};
5.3.5答辩安排管理界面
在答辩安排管理界面,教师用户可以查看答辩安排,了解答辩的具体时间和地点,以便做好答辩准备;管理员则负责答辩安排的制定和调整,确保答辩流程的顺利进行。答辩安排界面如下图所示:

图5-10 答辩安排管理界面图
5.3.6评分确认管理界面
在评分确认管理界面,教师用户可以在答辩结束后对学生的表现进行评分,并确认评分结果;管理员则对评分过程进行监督,确保评分的公正性和准确性。评分确认管理界面如下图所示:

图5-11 评分确认管理界面图
评分确认信息关键代码如下:
Service.prototype.set = async function(query, body, config) {
var sql = $.mysql.toSetSql(query, body, Object.assign({}, this.config, config || {}));
var ret = await this.run(sql);
return ret;
第6章系统测试
6.1测试概述
在软件开发生命周期中,系统测试占据着举足轻重的地位。通过进行全面而系统的测试,我们能够确保软件在实际使用环境中具备稳定运行的能力,从而满足用户的多样化需求,并显著提升软件的整体质量与可靠性。这一过程不仅有助于识别并修复潜在问题,还能为软件的持续优化提供有力支撑。
随着现代信息的快速发展,在社会各大领域中已经都开始应用网络信息技术,在应用网络技术的同时人们也开始把软件的质量问题作为了一个重要焦点来关注,因为一个软件的好与坏它决定着这个系统在市场上的生存,所以我们必须要把软件质量来做好,这样才有一定的生存能力。对于用户来说它们首先选用的都是保证这个系统软件的质量问题,因为一个系统的软件质量决定着用户在后期上成本经济的问题。图6.1就是纠错测试流程。

表6.1测试与纠错信息流程
6.2测试用例
在系统的功能验证阶段,我们将对全部的功能界面进行全面测试。具体而言,我们将模拟用户行为,输入各类数据并进行提交操作,随后仔细观察和分析每个页面的响应反馈。这一过程旨在验证系统的功能完整性,确保页面所呈现的功能与预期相符,并能够完全实现预设的交互逻辑。通过这种全面细致的测试方法,我们将确保系统在实际应用中能够稳定、准确地响应用户需求。
下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6.2系统登录功能测试用例
功能描述 | 用于系统登录 | |
测试目的 | 检测登录时的合法性检查 | |
测试数据以及操作 | 预期结果 | 实际结果 |
输入的用户名和密码带有非法字符 | 提示用户名或者密码错误 | 与预期结果一致 |
输入的用户名或者密码为空 | 提示用户名或者密码错误 | 与预期结果一致 |
输入的用户名和密码不存在 | 提示用户名或者密码错误 | 与预期结果一致 |
输入正确的用户名和密码 | 登录成功 | 与预期结果一致 |
下表是用户注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6.3用户注册功能测试用例
功能描述 | 用于用户注册 | |
测试目的 | 检测用户注册时的合法性检查 | |
测试数据以及操作 | 预期结果 | 实际结果 |
输入的手机号不合法 | 提示请输入正确的手机号码 | 与预期结果一致 |
输入的字段为空 | 提示必填项不能为空 | 与预期结果一致 |
输入的密码少于6位 | 提示密码必须为6-12位 | 与预期结果一致 |
输入的密码大于12位 | 提示密码必须为6-12位 | 与预期结果一致 |
下表是开题报告管理功能的测试用例,检测了开题报告中对开题报告的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员登录系统。
表6.4开题报告管理的测试用例
功能描述 | 用于开题报告管理 | |
测试目的 | 检测开题报告时的各种操作的运行情况 | |
测试数据以及操作 | 预期结果 | 实际结果 |
点击添加开题报告,必填项合法输入,点击提交 | 提示添加成功 | 与预期结果一致 |
点击添加开题报告,必填项输入不合法,点击提交 | 提示必填项不能为空 | 与预期结果一致 |
点击修改开题报告,必填项修改为空,点击提交 | 提示必填项不能为空 | 与预期结果一致 |
点击修改开题报告,必填项输入不合法,点击提交 | 提示必填项不能为空 | 与预期结果一致 |
点击删除开题报告,选择开题报告删除 | 提示删除成功 | 与预期结果一致 |
点击搜索开题报告,输入存在的开题报告名 | 查找出相应开题报告信息 | 与预期结果一致 |
点击搜索开题报告,输入不存在的开题报告名 | 不显示开题报告信息 | 与预期结果一致 |
下表新闻资讯管理功能的测试用例,检测了新闻资讯中对新闻资讯的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员登录系统。
表1.6新闻资讯管理的测试用例
功能描述 | 用于新闻资讯管理 | |
测试目的 | 检测新闻资讯时的各种操作的运行情况 | |
测试数据以及操作 | 预期结果 | 实际结果 |
点击添加新闻资讯,必填项合法输入,点击提交 | 提示添加成功 | 与预期结果一致 |
点击添加新闻资讯,必填项输入不合法,点击提交 | 提示必填项不能为空 | 与预期结果一致 |
点击修改新闻资讯,必填项修改为空,点击提交 | 提示必填项不能为空 | 与预期结果一致 |
点击修改新闻资讯,必填项输入不合法,点击提交 | 提示必填项不能为空 | 与预期结果一致 |
点击删除新闻资讯,选择新闻资讯删除 | 提示删除成功 | 与预期结果一致 |
点击搜索新闻资讯,输入存在的新闻资讯名 | 查找出相应新闻资讯信息 | 与预期结果一致 |
点击搜索新闻资讯,输入不存在的新闻资讯名 | 不显示新闻资讯信息 | 与预期结果一致 |
下表是用户反馈管理功能的测试用例,检测了用户反馈中对用户反馈的增加,删除,修改,查询、回复操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员登录系统。
表1.7用户反馈管理的测试用例
功能描述 | 用于用户反馈 | |
测试目的 | 检测用户反馈时的各种操作的运行情况 | |
测试数据以及操作 | 预期结果 | 实际结果 |
点击添加用户反馈,必填项合法输入,点击提交 | 提示添加成功 | 与预期结果一致 |
点击添加用户反馈,必填项输入不合法,点击提交 | 提示必填项不能为空 | 与预期结果一致 |
点击修改用户反馈,必填项修改为空,点击提交 | 提示必填项不能为空 | 与预期结果一致 |
点击修改用户反馈,必填项输入不合法,点击提交 | 提示必填项不能为空 | 与预期结果一致 |
点击删除用户反馈,选择用户反馈删除 | 提示删除成功 | 与预期结果一致 |
点击搜索用户反馈,输入存在的用户反馈名 | 查找出相应用户反馈信息 | 与预期结果一致 |
点击搜索用户反馈,输入不存在的用户反馈名 | 不显示用户反馈信息 | 与预期结果一致 |
点击回复用户反馈,必填项输入不合法,点击提交 | 提示提交成功 | 与预期结果一致 |
点击回复用户反馈,必填项输入不合法,点击提交 | 提示必填项不能为空 | 与预期结果一致 |
点击查看回复 | 显示已回复的用户反馈信息 | 与预期结果一致 |
6.3测试分析
本基于Vue.js与Node.js的答辩系统开发与设计满足相关信息的管理需求,在设计时借鉴了国内外优秀网站的优点,从界面到系统设计都保证了管理员以及用户能够方便操作。系统的主要特点和优点归纳如下:
(1)本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给用户带来了极大的方便。
(2)该基于Vue.js与Node.js的答辩系统开发与设计内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因用户的马虎操作而出现的失误,其操作方便,用户界面友好,能够上网的人都可以很好的进行操作。
经过对上述的测试结果分析,所有基本功能齐全,操作简单,系统运行性能良好,系统安全可靠,能促进基于Vue.js与Node.js的答辩系统的发展,发展前景广阔。
第7章总结
Node.js技术被成功应用于一款功能全面、性能优异的答辩系统中,该系统充分利用了Node.js的异步I/O和事件驱动特性,确保了服务器端的卓越表现,即便在高并发环境下也能维持稳定运行。Node.js的模块化设计理念使得系统组件管理变得轻松高效,增强了代码的可读性和可维护性。
在答辩系统的后端实现过程中,Node.js的非阻塞I/O模型扮演了核心角色。这一特性使得系统能够同时处理大量请求,从而大幅缩短了响应时间,提升了用户体验。此外,Node.js的事件驱动架构使系统能够即时响应各类事件,包括用户提交答辩材料、审核状态更新等,确保了信息的实时同步。
该答辩系统实现了流程的全面线上化,涵盖了从材料提交、审核审批到成果展示与评分反馈的各个环节。用户操作简便,只需简单几步即可完成答辩材料的上传、审核进度的查看以及线上答辩的参与。同时,系统提供了详尽的数据分析和可视化功能,有助于管理者全面掌控答辩进度并准确评估学生表现。
基于Node.js构建的答辩系统不仅彰显了Node.js在高性能Web应用开发中的强大实力,也为答辩管理的现代化转型提供了坚实的技术支撑。展望未来,持续的技术探索和优化将进一步提升系统功能,增强用户体验,为学术研究和教育事业的繁荣发展注入新的活力。
参考文献
[1]Tural S .Hands-On Microservices with JavaScript:Build scalable web applications with JavaScript, Node.js, and Docker[M].Packt Publishing Limited:2024-12-20. DOI:10.0000/9781788625265.
[2]黄苗苗.基于Vue和Node.js的作业管理系统的设计与实现[J].现代信息科技,2024,8(22):102-105+110.DOI:10.19850/j.cnki.2096-4706.2024.22.020.
[3]Bethany G ,Manuel S .Node.js Cookbook:Practical recipes for building server-side web applications with Node.js 22[M].Packt Publishing Limited:2024-11-15. DOI:10.0000/9781804614105.
[4]黎青霞.Node. js在Web开发中的应用研究[J].信息记录材料,2024,25(10):91-93+96.DOI:10.16009/j.cnki.cn13-1295/tq.2024.10.074.
[5]Adam F .Mastering Node.js Web Development:Go on a comprehensive journey from the fundamentals to advanced web development with Node.js[M].Packt Publishing Limited:2024-06-24. DOI:10.0000/9781837637355.
[6]Joran Q .Building Real-World Web Applications with Vue.js 3:Build a portfolio of Vue.js and TypeScript web applications to advance your career in web development[M].Packt Publishing Limited:2024-01-12. DOI:10.0000/9781837632824.
[7]Clive H .Vue.js for Jobseekers:A complete guide to learning Vue.js, building projects, and getting hired (English Edition)[M].BPB Publishers:2023-09-11. DOI:10.0000/9789355518750.
[8]赵莲芬,李树强.基于云原生技术的高校毕业设计管理平台设计与实现[J].电脑知识与技术,2023,19(19):89-92.DOI:10.14004/j.cnki.ckt.2023.1111.
[9]李翠霞,严晓龙,王勇.Node.js Web开发实战[M].人民邮电出版社:202008.262.
[10]丁凯,肖慧娟,陶铭,等.基于笔试答辩考核的计算机系统实验教学改革实践探究[J].电脑知识与技术,2022,18(33):122-124.DOI:10.14004/j.cnki.ckt.2022.2108.
[11]陈承欢.Vue.js基础与应用开发实战[M].人民邮电出版社:202211.318.
[12]吴婷婷,孟思明.MySQL数据库[M].人民邮电出版社:202207.271.
[13]李晓薇.vue.js前端应用技术分析[J].网络安全技术与应用,2022,(04):44-45.
[14]袁文光.一种基于Node.js的校园高并发Web应用架构[J].南通职业大学学报,2021,35(04):77-81.
[15]刘洪通,邱胜海,董莺,等.毕业设计在线答辩系统设计与实现[J].电脑知识与技术,2021,17(29):70-72+91.DOI:10.14004/j.cnki.ckt.2021.2809.
[16]赵彦宁,陈紫薇,赵思琪,等.在线答辩标准化现状研究及标准体系构建[J].质量探索,2021,18(03):43-48.
[17]唐榜.基于Node.js的Web服务端框架研究与实现[D].西南科技大学,2021.DOI:10.27415/d.cnki.gxngc.2021.000946.
[18]马远征,杨秀芬,夏星,等.中医院校学生“云答辩”使用情况可视化分析[J].科教文汇(下旬刊),2021,(06):114-116.DOI:10.16871/j.cnki.kjwhc.2021.02.048.
[19]凌杰.Node.js后端全程实战[M].人民邮电出版社:202305.371.
[20]曾尚文.细节决定成败——综合实践活动中开题答辩课的优化设计[J].发明与创新(中学生),2018,(Z1):40-41.
我要感谢我的论文指导老师。在论文写作的过程中,导师耐心细致的指导,以及提出的具有建设性的意见,都给予了我极大的帮助,让我受益匪浅。导师严谨的治学态度、敬业精神以及高水平的教学能力,都给我树立了追求卓越的典范,这对我以后的人生道路和学业成就都产生了极大的积极影响。
此外,我还要感谢我班的同学们,他们既是我的同窗好友,也是我的良师益友。正是由于你们的支持和关怀,使得我在大学期间的学习和生活都变得异常充实。感谢那些在大学期间给予我帮助的所有老师和同学们,是你们给予了我在学业道路上的前进动力。
还有要感谢我的父母,是你们一直默默支持我。是你们的教诲和关爱让我勇往直前,做一个坚韧、努力、有担当的人。在未来的道路上,我会不断努力,用实际行动来回报你们对我的期望。
再次,感谢所有给予我帮助的人,包括指导老师、同学们、家人和朋友们。我会珍惜这份感恩之情,将这份力量用于学习和未来的生活中,不断追求卓越,成为一个更加优秀的人。
点赞+收藏+关注 → 私信领取本源代码、数据库