🏆🏆🏆教程全知识点简介:1. 内容 2. 目标 1.1产品与开发 1.2环境配置 1.3 运行方式 1.4目录说明 2.用户认证 2.1微某信平台 Json Web Token(JWT) 定义路由,书架管理--添加书籍 3.书架 4.1分类列表 5.搜索 5.3搜索-精准&高匹配&推荐 6.小说 6.4推荐-同类热门推荐 7.浏览记录 8.1配置-阅读偏好 8.配置 9.1项目部署uWSGI 配置 启动 9.部署 10.1异常和日志 10.补充 10.2 flask-restful 1.项目目录实现 2.数据库的设计 3.数据库迁移: 1.JWT:json web token 2.jwt工具的封装 4.用户权限校验 5.登录验证装饰器 1.书架列表 2.书架管理 3.最后阅读 2.分类书籍列表 3.热门搜索 7.3小说-详情 2.小说目录 2.阅读偏好 3.阅读设置
📚📚仓库code.zip 👉直接-->: gitee.com/yinuo112/Ba… 🍅🍅
✨ 本教程项目亮点
🧠 知识体系完整:覆盖从基础原理、核心方法到高阶应用的全流程内容
💻 全技术链覆盖:完整前后端技术栈,涵盖开发必备技能
🚀 从零到实战:适合 0 基础入门到提升,循序渐进掌握核心能力
📚 丰富文档与代码示例:涵盖多种场景,可运行、可复用
🛠 工作与学习双参考:不仅适合系统化学习,更可作为日常开发中的查阅手册
🧩 模块化知识结构:按知识点分章节,便于快速定位和复习
📈 长期可用的技术积累:不止一次学习,而是能伴随工作与项目长期参考
🎯🎯🎯全教程总章节
🚀🚀🚀本篇主要内容
1.同类热门推荐
-
接口设计:
- 请求地址:'/recommend/hots/category_id'
- 请求方法:GET
- 请求参数:
参数名称 是否必须 参数位置 参数说明 category_id True url路径参数 书籍分类id- 返回结果:书籍的基本信息
-
实现步骤:
- 1.定义路由,接收url路径参数,作为视图函数的参数
- 2.根据参数分类id,查询数据库、获取大分类数据
- 3.判断如果有大分类数据
- 4.获取该大分类下面的二级分类数据,
- 5.根据分类,查询书籍表,获取对应分类的书籍数据,默认查询4条
- 6.保存书籍的基本信息
- 7.转成json格式返回
- 8.如果没有大分类数据,默认返回4条数据。
2.小说目录
-
在applet_app目录下,新建book.py文件
-
接口设计:
- 请求地址:'/book/chapters/book_id'
- 请求方法:GET
- 请求参数:
参数名 参数类型 是否必须 参数位置 参数说明 book_id int True url路径参数 书籍id page int True 查询字符串 页数,默认1 pagesize int True 查询字符串 每页数据的条目数
order int True 查询字符串 排序条件,0表示升序,1降序
* 返回结果:章节目录信息,分类信息
[Flask 模板指南](https://flask.palletsprojects.com/en/3.0.x/templating/)
* 实现步骤:
* 1.获取查询字符串参数,page/pagesize/order
* 2.根据书籍id参数,查询书籍表
* 3.查询书籍章节目录表,按照书籍id进行过滤查询
* 4.根据order参数的排序条件,如果1倒序排序,如果0升序排序
* 5.对排序的结果,进行分页处理
* 6.遍历分页的数据,获取章节信息
* 7.转成json格式,返回数据
### 3.小说阅读
* 接口设计:
* 请求地址:'/book/reader/book_id'
* 请求方法:GET
* 请求参数:
~~~python
参数名 是否必须 参数类型 参数说明
book_id True int url路径参数,书籍id
chapter_id False int 章节id,如果不传,默认按照用户阅读进度展示
Content-Type True application/json 请求头中指定数据格式
- 返回数据:小说书名、具体的章节id、章节内容;
- 实现步骤:
- 1.根据书籍id,查询书籍表,确认书籍的存在
- 2.获取查询字符串参数章节id,校验参数
- 3.根据章节id,查询书籍章节表
- 4.判断查询结果
- 5.如果数据存在,查询书籍内容表
- 6.如果用户登录,查询用户阅读进度表;
- 7.返回数据
4.小说详情
- 实现步骤:
- 1.根据书籍id,查询数据书籍表
- 2.判断,如果用户登录,查询用户的浏览记录
- 3.判断查询结果,保存浏览记录
- 4.如果用户未登录,根据书籍id查询书籍章节表,默认倒序排序。
- 5.返回结果
1.我的浏览记录
-
接口设计:
- 请求地址:'/my/histories'
- 请求方法:GET
- 请求参数:
参数名 是否必须 参数类型 参数说明 page True int 查询字符串,页数 pagesize True int 查询字符串,每页的条目数- 返回数据:分页后的浏览数据,书籍名称、作者、封面图片、日期
-
实现步骤:
- 1.新建my.py文件,用来实现关于浏览记录的功能代码;
- 2.创建蓝图、定义蓝图、注册蓝图
- 3.导入登录验证装饰器
- 4.获取参数,page和pagesize
- 5.查询数据库浏览记录表,根据用户id查询,分页处理
- 6.获取分页后的数据
- 7.转成json,返回数据
2.阅读偏好
-
接口设计:
- 请求地址:'/config/preference'
- 请求方法:POST
- 请求参数:
参数名 是否必须 参数类型 参数说明 gender True string 请求体,用户性别- 返回结果:设置成功
-
实现步骤:
- 1.获取参数,post请求体中json数据
- 2.校验参数,性别的范围
- 3.查询数据库,用户表,获取用户信息
- 4.保存数据、提交数据
- 5.返回结果
3.阅读设置
-
接口设计:
- 请求路径:‘/config/reader’
- 请求方法:POST
- 请求参数:application/json
参数名 是否必须 参数类型 参数说明 brightness True int 亮度10-100 font_size True string 字号大小 background True string 内置背景颜色 turn True string T1表示仿真、T2表示平滑、T3表示默认设置- 返回数据:返回设置成功。
-
实现步骤:
- 1.获取参数、亮度、字号、背景、翻页效果
- 2.查询数据库,用户表,根据用户id查询用户信息
- 3.保存设置信息,提交数据
- 4.返回结果
🚀✨ (未完待续)项目系列下一章
📚下一篇 将进入更精彩的环节! 🔔 记得收藏 & 关注,第一时间获取更新! 🍅 一起见证整个系列逐步成型的全过程。