四级结束,评分项目小总结
程序员文章站
2022-06-17 23:45:50
12.12 英语四级虽然想说我最近很忙,没时间刷四级题,但是都是我懒的理由罢了,我准备不是很充分,买的卷子也没刷几套。不过反正也结束了,结果就听天命吧。不过让我很震惊的是网上的视频,十天过四级,三天过四级,一小时过四级。。。评分项目总结每一次写项目,都能学到很多东西,就像这次的项目,我学到了ajax以外的axios,ECharts写扇形图,折线图。接触了token,了解了token和session都能做拦截器,都能验证是否登录,但是session没有to...
12.12 英语四级
虽然想说我最近很忙,没时间刷四级题,但是都是我懒的理由罢了,我准备不是很充分,买的卷子也没刷几套。不过反正也结束了,结果就听天命吧。不过让我很震惊的是网上的视频,十天过四级,三天过四级,一小时过四级。。。
评分项目总结
每一次写项目,都能学到很多东西,就像这次的项目,我学到了ajax以外的axios,ECharts写扇形图,折线图。接触了token,了解了token和session都能做拦截器,都能验证是否登录,但是session没有token的安全系数高,并且后端人员可以根据token返回的值来处理不同账号的权限问题。
函数封装
在路由中跳转接口时,有些项目需要很多接口,但是跳转的页面确实同一个,例如这里有个显示数据的页面,我通过不同的操作来使他显示不同的数据,每显示一种数据,我们都需要重新渲染一下页面,如果用ejs来写的话,每次都需要写方法,得数据,跳页面。但是每次很多东西都是没有改变的,我们只需要把他改变的地方当成参数传进去,就可以避免很多代码的重复,提供利用率。这是一个很基础的思想,为什么要拿来单独说呢,因为我刚开始写的时候没想到,没有整体的大局观,傻乎乎写了六百多行,最后函数封装再写,就两百多行了。下面是封装的函数和部分函数的调用
//跳转到得分页面函数封装
function ToScore(req, Url, ToUrl, scoreCategory, res) {
var name = req.session.userName;
var arg = url.parse(req.url).query;
var params = querystring.parse(arg);
var page = params.page;
var pageSize = 10;
if (page === undefined) {
db.findDepartment(1, pageSize, scoreCategory, function (err, data, Page) {
res.render(ToUrl, {
name: name,
url: Url,
data: data,
page: Page,
unit: ""
})
})
} else {
db.findDepartment(page, pageSize, scoreCategory, function (err, data, Page) {
res.render(ToUrl, {
name: name,
url: Url,
data: data,
page: Page,
unit: ""
})
})
}
}
router.get('/score1_class', (req, res) => {
ToScore(req, 'score1_number?',
'backstage/administrator_score1_class', "score1", res)
})
router.get('/score2', (req, res) => {
ToScore(req, 'score2?',
'backstage/administrator_score2', "score2", res)
})
router.get('/score3', (req, res) => {
ToScore(req, 'score3?',
'backstage/administrator_score3', "score3", res)
})
router.get('/score4', (req, res) => {
ToScore(req, 'score4?',
'backstage/administrator_score4', "score4", res)
})
router.get('/score5', (req, res) => {
ToScore(req, 'score5?',
'backstage/administrator_score5', "score5", res)
})
本文地址:https://blog.csdn.net/small_shadow/article/details/111084215