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




目录
相关文章
|
2天前
|
弹性计算 运维 搜索推荐
三翼鸟携手阿里云ECS g9i:智慧家庭场景的效能革命与未来生活新范式
三翼鸟是海尔智家旗下全球首个智慧家庭场景品牌,致力于提供覆盖衣、食、住、娱的一站式全场景解决方案。截至2025年,服务近1亿家庭,连接设备超5000万台。面对高并发、低延迟与稳定性挑战,全面升级为阿里云ECS g9i实例,实现连接能力提升40%、故障率下降90%、响应速度提升至120ms以内,成本降低20%,推动智慧家庭体验全面跃迁。
|
2天前
|
数据采集 人工智能 自然语言处理
3分钟采集134篇AI文章!深度解析如何通过云无影AgentBay实现25倍并发 + LlamaIndex智能推荐
结合阿里云无影 AgentBay 云端并发采集与 LlamaIndex 智能分析,3分钟高效抓取134篇 AI Agent 文章,实现 AI 推荐、智能问答与知识沉淀,打造从数据获取到价值提炼的完整闭环。
343 90
|
9天前
|
人工智能 自然语言处理 前端开发
Qoder全栈开发实战指南:开启AI驱动的下一代编程范式
Qoder是阿里巴巴于2025年发布的AI编程平台,首创“智能代理式编程”,支持自然语言驱动的全栈开发。通过仓库级理解、多智能体协同与云端沙箱执行,实现从需求到上线的端到端自动化,大幅提升研发效率,重塑程序员角色,引领AI原生开发新范式。
820 156
|
2天前
|
数据采集 缓存 数据可视化
Android 无侵入式数据采集:从手动埋点到字节码插桩的演进之路
本文深入探讨Android无侵入式埋点技术,通过AOP与字节码插桩(如ASM)实现数据采集自动化,彻底解耦业务代码与埋点逻辑。涵盖页面浏览、点击事件自动追踪及注解驱动的半自动化方案,提升数据质量与研发效率,助力团队迈向高效、稳定的智能化埋点体系。(238字)
244 156
|
3天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
10天前
|
机器人 API 调度
基于 DMS Dify+Notebook+Airflow 实现 Agent 的一站式开发
本文提出“DMS Dify + Notebook + Airflow”三位一体架构,解决 Dify 在代码执行与定时调度上的局限。通过 Notebook 扩展 Python 环境,Airflow实现任务调度,构建可扩展、可运维的企业级智能 Agent 系统,提升大模型应用的工程化能力。
|
人工智能 前端开发 API
前端接入通义千问(Qwen)API:5 分钟实现你的 AI 问答助手
本文介绍如何在5分钟内通过前端接入通义千问(Qwen)API,快速打造一个AI问答助手。涵盖API配置、界面设计、流式响应、历史管理、错误重试等核心功能,并提供安全与性能优化建议,助你轻松集成智能对话能力到前端应用中。
796 154