eggjs 怎么实现账单详情页的删除接口?
2023-03-14 22:36:58 时间
原型
我们可以打开「掘掘记账本」在线预览 http://cost.chennick.wang/detail?id=1548
测试账号:admin,测试密码:111111。
如下:里面需要详情接口,编辑接口,删除接口。
删除接口实现
1、控制层编写 delete 方法
// 删除账单 async delete () { const { ctx, app } = this; try { // 1、获取参数 const { id = "" } = ctx.request.body; // 2、判空处理 if (!id) { ctx.body = { status: 400, desc: '详情id不能为空', data: null } return; } console.log('1、获取查询参数id',id); // 3、拿到 token 获取用户信息 user_id const token = ctx.request.header.authorization; const decode = await app.jwt.verify(token, app.config.jwt.secret); if (!decode) return; let user_id = decode.id; console.log('2、拿到 token 获取用户信息 user_id',user_id); // 4、通过 user_id id 删除账单数据 const deleteData = await ctx.service.bill.delete(user_id, id); console.log('3、通过 user_id id 删除账单数据', deleteData); ctx.body = { status: 200, desc: '删除成功', data: null } } catch(error) { console.log(error); ctx.body = { status: 500, desc: '系统异常', data: null } } }
2、服务层编写 delete 方法
// 删除账单 async delete(user_id, id) { const { app } = this; try { const result = await app.mysql.delete('bill', { id, user_id, }); return result; } catch (error) { console.log(error); return null; } }
3、路由配置
// 删除账单 router.post('/api/bill/delete', verify_token, controller.bill.delete);
测试
我们输入参数,不要忘记头部 token。
执行之后成功,刷新数据库发现数据删除成功。
如果参数 id 不传,就会报错
相关文章
- 免费云空间服务器吗
- Linux指令入门-磁盘管理
- 使用阿里云心得
- 阿里云服务器送域名吗
- 腾讯云服务器不备案吗
- 域名和网站空间费用是多少
- ecs使用体验报告
- Docker为什么“输”给了Kubernetes?
- 为什么在采用公共云之前需要深思熟虑
- 数据中心投资者需要知道什么
- apipost自动化测试工具
- 又一个NFT域名成交,半年身价暴涨数百倍!
- 飞天加速计划ECS初使用体验
- 操作实践一 识别计算机硬件
- 国别域名invest.ae以48万元交易价领衔sedo榜!
- 一个三字母域名预告以1291万售出,或许跟NFT市场的“疯狂”有关?
- 项目二 认识计算机硬件设备
- 在搭建网站前,先看看云服务器与虚拟主机的四个区别
- 天池携手广东电网开展“广东电网智慧现场作业挑战赛”
- 云计算会发生哪些演变?