六、项目发布 -- 4. 电子书详情页API开发、电子书列表API开发

电子书详情页API的编写

同理如下app.get中路由、回调;回调中要连接数据库、接收前端传过来的值、到数据库中做查询,然后回调(如果回调失败返回什么JSON,如果回调成功返回什么JSON);最后千万别忘记了关闭数据库的连接

发现获取失败

首先我们就要先考虑sql语句正不正确,如下fileName是undefined

那我们看看前端是否传了fileName,如下确实传了,仔细检查发现是fileName写成了filename

修改后可以看到详情展示成功

电子书列表API的编写

这个电子书列表的数据是用于书城首页那个分类,分类点进去后就展示这个分类的全部图书。所以这个数据需要是一个树状结构,然后包含所有的分类,分类下对应包含电子书这样子。

如下,同理通过app.get(),里面一个路由,一个回调;回调中连接数据库、到数据库中做查询;查询中sql语句、成功/失败回调;回调中如果成功返回什么数据、如果失败返回什么数据;

因为我们要做成树状结构,即有分类,分类下有对应图书,所以应该是创建一个对象来盛放这个树状数据,对象中是以key-value的形式,一个个key就是分类,value中就是那些图书,大致就是这样:

{体育类 : [ {图书1} ,{图书2},{图书3}..] ;经济学类:[ {图书8} ,{图书9} ..]}

怎么做呢,定义一个对象,遍历这个分类,让这个分类作为key,然后寻找数据库查询的数据中分类名等于这个分类名的图书都过滤出来,然后赋值给这个分类key即可

这样我们book/list就实现了,接下来我们还要实现book/falt-list

这样如下,搜索就能成功,这就是flat-list在起作用

书架API的编写

我们点击书架的清除缓存时,可以看到还少一个shelf接口

书架我们直接返回一个空数组就可以,因为我们目前并没有实现书架图书的在线缓存,之前那个缓存是tab栏点击缓存是某本电子书的缓存,所以我们这个书架图书的在线缓存我们并没有做,所以我们这个接口并不需要设计的太复杂

但是如上我们可以看到没有加号方框,就不能到书城中选书,很明显不能这样,所以回到前端代码

可以看到获取书架数据是先到缓存中获取,缓存中没有再去请求API,然后是获取的数据data下的bookList中获取的,所以不应该是直接给返回一个空数组,而是返回bookList,这个bookList是空数组

然后把后端代码提交到gitee上即可

这个.gitignore文件的作用是告诉Git哪些文件或文件夹不应该被跟踪或提交到版本控制中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/564962.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mapbox控制3D模型旋转

贴个群号 WebGIS学习交流群461555818,欢迎大家 效果 原理与源码 获取角度,然后一直更改角度,角度到达180度后赋值成-180度,然后转到开始获取的角度的角度的时候就停止旋转 function rotateModel(layerID){let bearing map.get…

2024.4.21周报

目录 摘要 Abstract 文献阅读:Next Item Recommendation with Self-Attentive Metric Learning 问题及方法 论文贡献 方法论 序列感知的推荐系统 神经注意模型 模型:ATTREC 序列推荐 基于Self-Attention的用户短期兴趣建模 用户长期兴趣建模…

卷积神经网络CNN入门

卷积神经网络应用领域 因为卷积神经网络主要应用场景就是计算机视觉任务,因此有必要简单介绍一下CV领域发展情况: 可以发现,在 ImageNet 图像数据集中分析图像的错误率十年间已经被深度学习给降低到了比人类(HuMan)识…

【matlab 代码的python复现】 Matlab实现的滤波器设计实现与Python 的库函数相同实现Scipy

实现一个IIR滤波器的设计 背景 Matlab 设计的滤波器通常封装过于完整,虽然在DSP中能够实现更多功能的滤波器设计但是很难实现Python端口的实现。 我们以一段原始的生物电信号EEG信号进行处理。 EEG信号 1.信号获取 EEG信号通常通过头皮电极,经过多通道采样芯片采样,将获…

35K的鸿蒙音视频开发岗位面经分享~

一个月前,阿里云在官网音视频终端 SDK 栏目发布适配 HarmonyOS NEXT 的操作文档和 SDK,官宣 MediaBox 音视频终端 SDK 全面适配 HarmonyOS NEXT。 此外,阿里云播放器 SDK 也在华为开发者联盟官网鸿蒙生态伙伴 SDK 专区同步上线,面…

OpenTelemetry-1.介绍

目录 1.是什么 2.为什么使用 OpenTelemetry 3.数据类型 Tracing Metrics Logging Baggage 4.架构图 5.核心概念 6.相关开源项目 ​编辑 7.分布式追踪的起源 8.百花齐放的分布式追踪 Zipkin Skywalking Pinpoint Jaeger OpenCensus OpenTracing 9.Openteleme…

「杭州*康恩贝」4月26日PolarDB开源数据库沙龙,开启报名!

4月26日(周五),PolarDB开源社区联合康恩贝将共同举办开源数据库技术沙龙! 时间:4月26日13:30 地点:浙江省杭州市滨江区滨康路568号康恩贝中心2楼 活动亮点 浙江英诺珐医药有限公司信息经理 朱常青 分享《…

数据结构-二叉树-堆

一、物理结构和逻辑结构 在内存中的存储结构,逻辑结构为想象出来的存储结构。 二、完全二叉树的顺序存储结构 parent (child - 1)/2 leftchild 2*parent 1; rightchild 2*parent 2 上面的顺序结构只适合存储完全二叉树。如果存储,会浪费很多的空…

清华大学:序列推荐模型稳定性飙升,STDP框架惊艳登场

获取本文论文原文PDF,请公众号留言:论文解读 引言:在线平台推荐系统的挑战与机遇 在线平台已成为我们日常生活中不可或缺的一部分,它们提供了丰富多样的商品和服务。然而,如何为用户推荐感兴趣的项目仍然是一个挑战。…

对接浦发银行支付(八)-- 对账接口

一、背景 本文不是要讲述支付服务的对账模块具体怎么做,仅是介绍如何对接浦发银行的对账接口。 也就是说,本文限读取到对账文件的内容,不会进一步去讲述如何与支付平台进行对账。 如果要获取商户的对账单,需要遵循以下步骤&…

使用自购服务器部署RustDesk - 远程桌面服务

服务器官网:雨云 - 新一代云服务提供商 推荐购买宿迁主机,使用NAT网络不购买独立IP,国内主机独立IP价格很贵,这种方式虽然不能省略端口号,但是可以确保访问速度很快,NAT给的10个端口基本够用; …

探索RadSystems:低代码开发的新选择(二)

系列文章目录 探索RadSystems:低代码开发的新选择(一)🚪 文章目录 系列文章目录前言一、RadSystems Studio是什么?二、用户认证三、系统角色许可四、用户记录管理五、时间戳记录总结 前言 在数字化时代,低…

路由过滤,路由策略小实验

目录 一,实验拓扑: 二,实验要求: 三,实验思路: 四,实验过程: 1,IP配置: 2、R1 和R2 运行 RIPv2,R2,R3 和R4运行 oSPF&#xff0…

8款有效删除Android锁屏的手机解锁软件

为了保护重要数据,许多手机用户倾向于使用图案锁、密码、指纹甚至面部识别来锁定他们的设备。但有时,他们无法解锁手机,因为忘记了复杂的密码、多次重复错误的锁定图案、或者手机被恶意代码攻击等。 8款有效删除Android锁屏的手机解锁软件 那…

光伏无人机勘探技术应用分析

光伏无人机勘探与传统勘探想必,具有智能化作业、测控精度高、环境适应性强等明显优势;卫星勘探辅助其能更快速甚至实时完成测绘拼图;在进行勘察时,可根据需要自由更换机载设备;自动诗经建模使数据更直观,工…

在Rockey操作系统上安装Asterisk和DAHDI的详细步骤,拷贝粘贴就能用

目录 RockyAsterisk验证 Rocky Centos之后,Rocky和Alma Linux接棒前行。今天我们选择Rocky Linux操作系统来介绍,如何安装Asterisk和DAHDI等开源软件。 Asterisk 首先我们下载DAHDI 3.2 和Asterisk,在本文下载连接里有。下载到Rocky操作系…

腾讯云服务器,部署mysql数据库后无法远程访问?

一,首先确定自己部署的数据库,是否可以正常登录,验证部署是否是否成功 mysql -u root -p二、放开mysql远程访问权限,依次输入这些命令 create user root% identified with mysql_native_password by xxxxx; grant all privilege…

AI预测福彩3D第9套算法实战化测试第1弹2024年4月22日第1次测试

经过前面多套算法的测试,总结了一些规律,对模型优化了一些参数,比如第8套算法的测试,7码的命中率由最开始的20%提高到了50%。虽然命中率有了很大的提高,但是由于咱们之前的算法只是为了测试和记录,提供的方…

软考134-上午题-【软件工程】-进度管理

一、甘特图(了解) 1-1、定义 Gantt图是一种简单的水平条形图,它以日历为基准描述项目任务。 水平轴表示日历时间线(如时、天、周、月和年等),每个条形表示一个任务,任务名称垂直地列在左边的列中,图中水…

67条tips实战案例渗透测试大佬的技巧总结

67条tips实战案例渗透测试大佬的技巧总结。 Tips 1. 手动端口探测 nmap的-sV可以探测出服务版本,但有些情况下必须手动探测去验证 使用Wireshark获取响应包未免大材小用,可通过nc简单判断 eg. 对于8001端口,nc连接上去,随便输…