eggjs 怎么实现账单详情页的删除接口?

简介: eggjs 怎么实现账单详情页的删除接口?

原型


我们可以打开「掘掘记账本」在线预览 http://cost.chennick.wang/detail?id=1548

测试账号:admin,测试密码:111111。


如下:里面需要详情接口,编辑接口,删除接口。


6dbba5b5411141c9a94dfa04c0835096.png



删除接口实现


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。


1d73d86a8d414356a4059826c3abd786.png


执行之后成功,刷新数据库发现数据删除成功。


cef80eee89904e87afef7b6900bb8489.png


如果参数 id 不传,就会报错


7dac6fb4e32a4d10b7c5ff6f8c05d7c4.png




目录
相关文章
|
6月前
|
XML JSON API
开发者必备:淘宝商品列表接口集成全攻略
淘宝开放平台提供的商品列表数据接口让开发者编程获取商品列表数据。接口支持按关键词、类目等查询条件获取商品详情,包括标题、价格等信息。具备灵活性高、数据丰富及操作便捷等特点。使用流程包括注册账号、构建并发送HTTP请求及处理响应数据。可用于电商数据分析、商品推荐等场景。开发者需遵守规定确保数据安全合法。[体验API](c0b.cc/R4rbK2)
|
6月前
|
前端开发 开发工具 数据库
支付系统资料-青戈版沙箱支付,订单编号样式设计,还有七天无理由退款,常与会员系统相搭配,内网穿透客户看到页面,前端展示,直播过程所有都能访问的写法
支付系统资料-青戈版沙箱支付,订单编号样式设计,还有七天无理由退款,常与会员系统相搭配,内网穿透客户看到页面,前端展示,直播过程所有都能访问的写法
支付系统资料-青戈版沙箱支付,订单编号样式设计,还有七天无理由退款,常与会员系统相搭配,内网穿透客户看到页面,前端展示,直播过程所有都能访问的写法
|
8月前
|
移动开发 前端开发
flowable流程跳转或退回到网关上的用户节点后流程走不下去了
flowable流程跳转或退回到网关上的用户节点后流程走不下去了
479 2
|
开发者
【 uniapp - 黑马优购 | 购物车页面(1)】如何创建购物车编译模式、 商品列表区域实现
【 uniapp - 黑马优购 | 购物车页面(1)】如何创建购物车编译模式、 商品列表区域实现
294 0
|
存储 小程序 API
【 uniapp - 黑马优购 | 购物车页面(2)】如何实现收货地址区域功能、常见问题解决方案
【 uniapp - 黑马优购 | 购物车页面(2)】如何实现收货地址区域功能、常见问题解决方案
354 0
|
存储 前端开发 BI
九宫格抽奖系统源码开发功能规则实例解析
九宫格抽奖系统源码开发功能规则实例解析
|
存储 监控 安全
转账通缩功能开发实例源码规则解析
转账通缩功能开发实例源码规则解析
|
数据库
eggjs 怎么实现账单详情页的编辑接口?
eggjs 怎么实现账单详情页的编辑接口?
127 0
eggjs 怎么实现账单详情页的编辑接口?
|
数据安全/隐私保护
eggjs 怎么实现账单详情页的获取详情接口?
eggjs 怎么实现账单详情页的获取详情接口?
83 0
eggjs 怎么实现账单详情页的获取详情接口?
|
数据库
eggjs 怎么实现新增账单接口?
eggjs 怎么实现新增账单接口?
113 0
eggjs 怎么实现新增账单接口?