前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【融职培训】Web前端学习 第9章 教务管理系统开发6 后台代码讲解

【融职培训】Web前端学习 第9章 教务管理系统开发6 后台代码讲解

作者头像
学习猿地
发布2020-07-08 18:37:37
3410
发布2020-07-08 18:37:37
举报
文章被收录于专栏:学习猿地学习猿地

一、拦截器

在项目中,前台获取数据时,需要前台提供token信息,后台验证才可以获取数据,验证代码如下。

代码语言:javascript
复制
 1 // 在router中请求中使用中间件
 4   router.get('/getclazz', app.middleware.checktoken(),controller.clazz.get);
 5 
 6 // app/milldeware/checktoken.js
 8 // 检验前台的请求头中是否存在token
 9 module.exports = () => {
10     return async function (ctx, next) {
11         if (ctx.request.header['token']) {
12             await next();
13         } else {
14             ctx.status = 401;
15             ctx.body = {
16                 message: '没有token'
17             }
18             return;
19         }
20     }
21   };

二、后台生成token

在登录时,后台需要生成token返回给前端,生成token代码如下:

代码语言:javascript
复制
const token = this.app.jwt.sign({ username:username }, this.app.config.jwt.secret);

三、查询数据

代码语言:javascript
复制
1 // 联查表中的数据
2 const studentList = awathis.app.model.Students.findAll({
3     include: [{  
4         model: this.app.model.Clazz,
5          as: 'clazz'
6     }]
7 });

四、增加数据

在前端完成增加班级或学生的时候,后台要接受前端的数据,并将它传到数据库里面,具体代码如下所示:

代码语言:javascript
复制
1 // 获取前端传的页面
2      let name = this.ctx.request.body.name;
3     const clazz = {
4         clazzname: name
5     }
6     //添加至数据库
7     await this.app.model.Clazz.creat(clazz);

五、删除数据

前端在完成删除的时候,后台需要删除对应id的数据库里面的数据,再传给前端,删除代码如下:

代码语言:javascript
复制
 1 // 获取对应的id
 2     let id = this.ctx.params.id
 3     // 查询需要删除的学生名
 4     const student = awaithis.app.model.Students.findOne({
 5         where: {
 6             id: id
 7         }
 8     })
 9     // 删除
10     student.destroy()

六、修改数据

前端执行修改点击时,后台需要获取前端对应的id以及修改的信息,修改后传到数据库里,再返回给前端,代码如下所示:

代码语言:javascript
复制
 1 // 获取对应的id
 2     let id = this.ctx.params.id
 3 // 获取需要修改的值
 4     let putclazzname =   this.ctx.request.body.putclazzname
 5 // 修改值
 6     let row = {
 7         clazzname: putclazzname
 8     },
 9         options = {
10             where: {
11                 id: id
12             }
13         }
14 // 返回给数据库
15     await this.app.model.Clazz.update(row, options);
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、拦截器
  • 二、后台生成token
  • 三、查询数据
  • 四、增加数据
  • 五、删除数据
  • 六、修改数据
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档