UNIAPP H5端 APP端小说阅读器

缘起

学习uniapp有一年多,前期做过一个同城项目,后面工作忙,没有继续深入学习。2020年由于疫情的缘故,在家搁置时间过长,期间父亲大人迷上了小说,我就去网上找各种破解版小说APP给他。刚开始还好,看着看着软件强制更新了,就又给他找其他的破解APP,看一段时间又更新了。。。周而复始,后来就想为什么不自己弄一个呢,于是就有了今天这个项目。

主要功能

我主张一切从简,小说阅读器的主要功能:能看能搜。无论是三岁小孩,还是八十老妪,打开就能懂如何使用。

界面设计

业余前端,不追求页面的极致,能看就行。

  1. 主页
  2. 分类页
  3. 书籍详情页
  4. 书籍阅读页


  5. 书架页
  6. 我的页

    我的页没有实质性功能,没有登录操作。

制作期间去uniapp的插件市场观摩了其他大佬做的小说阅读器,本来是不想重复造轮子的,使用过程中发现了一些BUG,我无法解决,后来不得不自己造轮子了。

程序开发

鉴于自己都是前端小白,努力做到页面结构划分清晰,让人看着不乱,能自己扩展。所以组件我选用了官方组件,css纯手写。



页面内部js也有注释说明,能详尽详。

API接口说明

页面都是异步请求加载数据的,下面列出所有界面需要的接口。

首页

  1. 获取分类小说总数接口

getcategorycount

返回示例

{"msg":"操作成功","code":200,"cclist":[{"count":42,"category":"其他小说"},{"count":345,"category":"历史军事"},{"count":160,"category":"女生频道"},{"count":53,"category":"武侠仙侠"},{"count":391,"category":"游戏竞技"},{"count":14,"category":"玄幻奇幻"},{"count":210,"category":"科幻灵异"},{"count":102,"category":"都市言情"}]}
  1. 搜索接口

searchBook

返回示例

{"msg":"操作成功","booklist":[{"create_time":"2020-05-10 10:40:55","fiction_url":"ww.abc.com","author":"糖衣古典","description":"……","id":1252,"title":"盗墓者传奇:月夜鬼吹灯","f_type":"科幻灵异","book_img":"24340.jpg","f_status":"连载中"}],"code":200}

小说分类页接口

  1. 获取某分类下有多少本小说

getbooklist

返回示例

{"msg":"操作成功","code":200,"totalpages":1,"bookList":[{"id":1360,"title":"诡秘之主","author":"爱潜水的乌贼","description":"明依旧照耀,神秘从未远离,这是一段“愚者”的传说。","updateTime":null,"createTime":"2020-05-11 11:00:18","wordNumber":null,"bookImg":"1949.gif","fictionUrl":"https://www.abcw.com/index.html","fstatus":"连载中","ftype":"玄幻奇幻"}]}

书籍详情页接口

  1. 获取书籍详情

getbookinfo?fictionid=1351

{"msg":"操作成功","code":200,"bookData":{"id":1351,"title":"三国美人志","author":"最后的茄子","description":"书籍描述","updateTime":null,"createTime":"2020-05-10 17:05:15","wordNumber":null,"bookImg":"woshitupian","fictionUrl":"www.xsddss.com","fstatus":"已完结","ftype":"游戏竞技"}}
  1. 获取章节目录

getchapterlist

{"msg":"操作成功","code":200,"chapterlist":[{"id":null,"fictionId":null,"chapterTitle":"第一章 穿越成陶松","content":null,"createDate":null,"chapterUrl":"www.xxx.com","corder":1}]

读书详情页接口

getcontent

{"msg":"操作成功","code":200,"content":"我是内容"}

以上是运行项目所需要的API接口,各位读者可根据自己的语言的特性,开发相关的API接口。

结语

经过半个月的努力,一套属于我自己的小说阅读器诞生了,uniapp可以打包成H5和APP。我自己买了个服务器,部署了H5端,运行了一段时间,自我感觉还好。1M的带宽,有点慢,大家体验一下。

疑问:小说从哪里来?

百度 免费小说 会出来一堆网站,自己选一个反应快的界面不乱的广告少的网站进行抓取。
怎么抓取?

  1. 打包成APP的,可以参考uniapp插件里头的仔仔小说阅读器,直接前端抓取。
  2. 打包成H5形式的,有跨域问题,不能在前端抓取,需要有自己的后台进行抓。如果你会JAVA就用Java抓,会phython就用phython抓。 抓取技术Java我用的jsoup,会jquery就能分析出来界面结构。

采集之后的小说可以保存到自己的数据库中,这样页面基本是秒加载的。当然你可以不保存到库,页面打开的时候后台动态抓取,动态返回文章内容章节内容等。这样是做的一点好处就是:后台不用跑自动任务去更新小说章节;缺点:就是有点慢。目前我采用的是动态采集,孰优孰劣,自己取舍。

源码地址

开源中国: https://gitee.com/aper/iread/

UNIAPP 小说采集阅读器相关推荐

  1. 小说下载阅读器_初始简单版

    小说下载阅读器_初始简单版 相信园子里面的很多人和我一样喜欢阅读小说,下面是这几年用的比较多一点的阅读器,功能相对完整. Windows本地程序/手机 1.http://www.mybook66.co ...

  2. Delphi 10.4.2 轻松实现Android/IOS txt小说电子书阅读器应用APP翻页效果

    Delphi 10.4.2是最新版本的跨平台本机应用开发工具,一套代码可编译到五个操作系统上:iOS.Android.Windows.macOS 和 Linux: 本代码仅仅数十行即可轻松实现Andr ...

  3. python +pyqt 小说下载阅读器 转语音合成 ,基于PyQt5生成图形页面(已打成exe可直接下载使用)

    最近在学习python,写了一款简单的小说下载器,基本功能都已经实现,废话不多说 直接上效果 简单说下功能把 1.支持在线阅读,翻页 键盘快捷键上下(阅读) 左右(翻页).可以导出TXT到本地,默认是 ...

  4. 小说下载阅读器 官网

    Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...

  5. 基于PyQt5和requests的小说在线阅读器(小说爬虫)

    效果: 绝对布局 无章节预加载 在不关闭的情况下再次搜索存在bug 代码: python部分: import sys from PyQt5.QtGui import QIcon from PyQt5. ...

  6. CSDN11期 软件创新 :小说下载阅读器 点评

    首先,"点评"只是个人看法,只是技术上的讨论,不带有褒贬色彩. 原项目在这里 http://chuang.csdn.net/mybook66 这是一个 小说下载阅读器 1.支持各小 ...

  7. UWP_小说在线阅读器:功能要求与技术要求

    注:2017年2月23日正式提上日程 学了WP开发也有一年了,也没做过什么软件的.17年进发UWP,锻炼自己一下.做一个开源的小说阅读器吧. 既然开发一个软件.所以要设计一下吧. 功能要求: 可能要用 ...

  8. 用安卓手机看小说,阅读器APP怎么选

    安卓手机上看小说,有很多种阅读APP供大家选择.作为小说爱好者,经过多款测评,选出以下小说阅读器,体验相对较好,推荐给喜欢在手机上看小说的朋友们. 第一款:Neat Reader 这款阅读器界面设计比 ...

  9. 用Windows电脑看txt小说,阅读器软件怎么选

    Windows电脑上有哪些好用的TXT阅读器?综合来看,以下小说阅读器,体验相对较好.这些阅读器都支持TXT EPUB等常见小说格式. Top1:Neat Reader Neat Reader这款阅读 ...

  10. 用安卓手机看txt小说,阅读器APP怎么选

    txt是最常见的一种文档格式,大家经常会下载一些txt小说或资料在手机上阅读.经过多款测评,选出以下小说阅读器,体验相对较好,推荐给喜欢在手机上看小说的朋友们. 1)  Neat Reader 这款阅 ...

最新文章

  1. HTML标签元素的分类
  2. Python多继承基础
  3. [Python] 制作启动uiautomator2 的web版 uiautomatorviewer2 批处理启动
  4. 对谈|人工智能来了,翻译们会失业吗?
  5. IIS中部署vue程序,刷新直接404
  6. 为支持nginx高并发而修改的一些Linux内核参数
  7. redis数据结构小结
  8. R语言colorRampPalette函数-创建颜色梯度(渐变色)
  9. uniapp 微信分享
  10. 群晖docker火狐_群晖 篇一:群晖Docker下搭建ubuntu开发环境
  11. 推土机距离_推土机工程师指南
  12. 思考互联网发展三阶段
  13. 以自动开发票为例,解析RPA(机器人流程自动化)在财务场景的使用
  14. C语言上学期整理(第6章)
  15. window11安装JDK1.8【jdk-8u121】
  16. 2022年尿素行业分析
  17. 千锋深圳python培训
  18. 03-Mybatis的关键核心类说明
  19. 多家支付公司完成“备付金”100%交存三方支付行业纷纷寻求破局
  20. dayjs 中文文档

热门文章

  1. 如何复制百度文档中的内容
  2. 全国中小学信息技术创新与实践大赛:软件创意编程赛道
  3. 八十九、Java内置函数(常用函数)
  4. 【遗传算法】基于改进的遗传和粒子群算法求解高斯烟羽模型气体扩散优化问题含Matlab源码
  5. Android之线性布局的4个重要参数
  6. Axure RP9教程 入门讲解
  7. 浮栅场效应管 符号_华成英 - 模拟电子技术基础 | 场效应管
  8. Newtonsoft动态解析Json数据
  9. PCIE5.0英文版协议
  10. 有时更贵的ADC是最划算的