具体实现已完成成品部分截图
项目技术介绍
本课题研究,前端使用 vue 框架,后端使用node、mysql链接数据库完成前端与后端开发。
后端使用nodejs来搭建服务器
前端:Vue和ElementUI
数据库:mysql
数据库工具:Navicat/SQLyog都可以
开发运行软件:VScode/webstorm/hbuiderx均可
工作计划
(1)完成选题 2024年11月20日 — 2024年11月26日
(2)完成任务书下达 2024年11月27日 — 2024年12月15日
(3)完成开题报告 2024年12月16日 — 2025年01月24日
(4)完成中期检查 2025年01月25日 — 2025年02月25日
(5)完成论文初稿 2025年02月26日 — 2025年03月31日
(6)完成论文定稿 2025年04月01日 — 2025年04月30日
(7)完成相似比检测 2025年04月15日 — 2025年05月15日
(8)完成答辩 2025年05月14日 — 2025年05月22日
(9)材料归档 2025年05月25日 — 2025年06月03日
开发工具和技术简介
1.Vue.js,采用MVVM模式的渐进式JavaScript框架,它提供了一种简洁、灵活的方式来构建顾客界面。Vue.js的核心库只关注视图层,使得它更易于与其他库或者是现有的项目整合,它体积小,性能好,生态系统庞大。
后端技术简介:
2.MYSQL,是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,这样就增加了速度并提高了灵活性。
3.Element-UI提供了丰富的表格、表单和菜单组件,非常适合构建管理后台系统。使用表单组件实现数据的输入和验证。
4.使用MySQL关系型数据库关联数据库将数据保存在不同的表中,这样就增加了速度并提高了灵活性。
5.Express 是一个基于 Node平台的Web应用开发框架, 提供了简洁的路由定义方式对获取 http 请求参数进行简化处理。
6.JavaScript基于node.js技术进行服务器端编程,在数据被提交到服务器之前验证数据,读写HTML元素,嵌入动态文本与HTML页面。
VScode是我们最常用的网页编辑器,通过日常学习,我们基本熟练运用,在完成项目的过程中,我们可以更加节省时间。而且VScode包含很多插件并且免费,下载更加快捷方便,可以给我们提供很多便捷条件。运行的便捷给我提供很大帮助。
错误处理和异常处理
node.js是一种脚本语言,能够把数据库与js页面实现交互,与大部分后端语言一样,能够把js页面传递过来的数据进行处理,对数据库进行更新,之后把数据库的记录传递到js页面当中,能够为分布式程序提供基础操作。使得程序员能够简单实现数据在前后端之间进行相互传递,在后端能够利用数据库SQL语句把信息取出,把数据显示在js页面当中,node.js运用的是单线程技术,与多线程程序不同,因此可以很大程度避免了程序堵塞的问题,虽然是单线程技术,但是node.js具有超强的并发能力,能够在服务器上建立高并发的程序。
在系统中,设计了一个健壮的错误处理和异常处理策略。系统会捕获可能发生的错误和异常情况,并提供相应的处理和反馈机制。
系统将采用适宜的异常类别来描述各种类型的错误和异常状况,并通过异常处理策略去捕获和应对这些异常。在处理异常时,系统会提供相关的错误数据和日志记录,以协助开发者和管理者进行问题诊断和解决。此外,系统还会向用户提供友好的错误提示,以确保用户能够理解问题并采取适当的行动。
实施方案:
本网站前端使用vue框架,后端使用js的node,满足用户的讯息接受,信息搜索,资讯查看的操作。
前端使用web技术html、css、js等进行静态网页开发。做到基础的框架设计以及css定位。
后端使用mysql+node进行开发。对后台的数据可进行增删改查。方便管理后台数据。
- 通过阅读官网文档、观看老师提供的教学视频,再结合实践项目案例以及相关书籍,学习掌握相关核心知识和技术。
- 使用axios网络请求库等工具,实现前后端数据的交互。
- 通过数据库,将不同的数据进行规划整理,设计出较为高效的方案。
- 在设计网站过程中,注重页面的加载速度,界面美观度,交互的流畅性等。
nodejs类核心代码部分展示
import { version } from '../../package.json'
import { Router } from 'express'
import { Op } from 'sequelize'
import toRes from '../lib/toRes'
import UsersModel from '../models/UsersModel'
import jwt from 'jsonwebtoken'
export default ({ config, db }) => {
let api = Router()
// 注册接口
api.post('/register', async (req, res) => {
try {
const userinfo = await UsersModel.create(req.body)
if (userinfo === null) {
toRes.session(res, -1, '注册失败!')
} else {
toRes.session(res, 0, '注册成功!')
}
} catch(err) {
toRes.session(res, 500, '服务器错误!', '', 500)
}
})
// 顾客登录接口
api.post('/login', async (req, res) => {
try {
let userinfo = await UsersModel.findOne({ where: { username: req.query.username, password: req.query.password } })
if (userinfo === null) {
toRes.session(res, -1, '顾客名或密码错误!')
return;
}
const token = jwt.sign(
{
id: userinfo.dataValues.id,
username: userinfo.dataValues.username,
role: userinfo.dataValues.role
},
config.jwtSecret,
{
expiresIn: 60 * 60 * 24 * 1
}
)
userinfo.dataValues.token = token
delete userinfo.dataValues.password
req.session.userinfo = userinfo
toRes.session(res, 0, '登录成功!', token)
} catch(err) {
toRes.session(res, 500, '服务器错误!', '', 500)
}
})
// 顾客退出接口
api.all('/logout', (req, res) => {
if (!toRes.auth(req, res, '管理员')) return
req.session.destroy(err => {
toRes.session(res, 0, '退出成功!')
})
})
主要参考文献
[1]冯彦. 基于JSP和Struts框架的动态Web开发技术研究以及实践[D]. 吉林大学, 2023(3):12-19.
[2]贾广宇. MVC设计模式下Web开发框架的研究与应用[D]. 大连海事大学, 2020(19):135-142.
[3]Ferrel P J, Kawai K, Everhart D, et al. Distributing web applications across a pre-existing web: US, US8943035[P]. 2023(16):113-121.
[4]陈佳, 李树强. web开发实践 : 慕课版[M]. 人民邮电出版社, 2023(10):8-16.
5]温晓南.基于兴趣的分享式社交网络开发[D].吉林.吉林大学2023(30)
[6]徐俊.基于Vue框架的阅读平台管理系统研究与设计[D].北京.北京邮电大学.2024
[7]李平.基于jsp技术的web数据库设计[j].电脑与信息技术,2020(9):77-79.
[8]冯小强. 企业网站的建设与分析[J]. 考试周刊, 2023(8):132-138.
[9]李兴华,王月清.名师讲坛:Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax) [平装][M].清华大学出版社,2023(13):210-222.
[10]李张永, 陈和平, 顾进广. 跨平台移动Web开发框架与数据交互方法[J]. 计算机工程与设计, 2023(2):56.
[11]吕浩志. 基于DWZ、NHibernate和ASP.NET MVC3架构的Web开发应用[J]. 科技视界, 2020(27):120.
[12]许巍巍.基于GPON技术的宽带接入应用研究[J].科学技术创新,2023(12):90-91.
[13]陆洋.互联网宽带接入技术及其工程实践研究[D].南京:南京邮电大学,2018.
源码获取详细视频演示:文章底部获取博主联系方式!!!!
如果你对本设计介绍不满意或者想获取更详细的信息,文章最下方名片联系我即可~
本系统包修改时间和标题(就是把系统的标题改成你的毕设题目哦),包安装部署运行调试,就是在你的电脑上运行起来