Giter VIP home page Giter VIP logo

reader-api's Introduction

阅小说App接口文档

阅小说iOS客户端源码

阅小说Android客户端源码

所有人都可以调用相关的接口,接口不做任何身份验证。仅供大家开发交流使用。

开放的接口会对针对IP的访问次数和频次有所限制,如果需要无限制使用或有任何疑问可以通过以下方式联系我

Telegram: https://t.me/yuenov

Gmail: [email protected]

注意:不要抓包使用阅小说App内的接口,阅小说App内的接口专属阅小说App使用 接口使用客户端内算法动态加密,生成的密钥有时效性限制。

阅小说App下载地址:

http://yuenov.com


HTTP接口

HTTP的域名为 http://yuenov.com

国内运营商偶尔会屏蔽80端口所以建议不要使用80端口进行访问

目前除了80端口还开放了15555 16666 17777 18888 19999这几个端口,强烈建议使用这几个端口进行访问,访问的格式为域名+端口+路径。例如

http://yuenov.com:15555/path

阅小说图片访问的格式示例

http://pt.yuenov.com:15555/path

HTTP接口返回的数据统一的格式为:

{
  "result":{
    "code":0,
    "msg":"成功"
  },
  "data":{
  }
}

返回的字段定义如下:

名称 类型 必需 说明
result Object HTTP返回的数据状态信息
  • code : Integer类型 HTTP返回的数据状态码(非HTTP状态码)
  • msg : String类型 HTTP返回的数据状态说明
data Object HTTP返回的数据

数据的状态码code定义如下

状态码 说明
0 返回数据正确
101 新用户创建成功
102 未查询到数据
203 书源已经失效
1001 参数校验出错
1002 返回值异常
1003 非法请求
1005 权限验证异常
1007 远程调用服务超时
9999 系统出错

注:下面接口返回的数据全部在data对象内

书架

批量检查书籍是否有更新

下载到本地的书籍在特定时机应该检查书籍是否有更新,使得本地的数据保持最新的状态。一般用于连载书籍检查是否有新章节更新。

/app/open/api/chapter/getByBookId配合使用,来更新本地缓存的目录

路径 /app/open/api/book/checkUpdate
请求方式 POST application/json
参数 名称 类型 必需 说明
books List 检查更新的书籍列表,每个对象的信息如下
  • bookId : Integer类型 需要检查更新的书籍号
  • chapterId : Long类型 需要检查更新的书籍最后一章的章节号

返回结果

名称 类型 必需 说明
updateList List 需要更新的书籍列表,每个对象的信息如下
  • bookId : Integer类型 需要检查更新的书籍号
  • chapterId : Long类型 需要检查更新的书籍最后一章的章节号

搜索书籍

根据关键词搜索书籍

路径 /app/open/api/book/search
请求方式 GET
参数 名称 类型 必需 说明
keyWord String 书籍关键词
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据

返回的结果

名称 类型 必需 说明
list List 搜索的结果书籍列表
pageNum Integer 请求第几页数据
pageSize Integer 请求每页多少条的数据
total Integer 实际返回多少条数据

书籍的字段定义如下

名称 类型 必需 说明
author String 作者
bookId Integer 书籍号
categoryName String 书籍所属分类
chapterStatus String 书籍连载状态
  • END : String类型 书籍已完结
  • SERIALIZE : String类型 书籍连载中
coverImg String 书籍的封面路径,返回的是书籍封面的路径并非URL地址,需要手动拼接上域名+端口参考这里
desc String 书籍内容介绍
title String 书籍的名称
word String 书籍的字数

发现

发现页

App内发现页面接口

路径 /app/open/api/category/discovery
请求方式 GET

返回结果

名称 类型 必需 说明
list List 发现页书籍分类列表,列表中每个对象有以下字段
  • bookList : List类型 书籍列表,每个书籍的定义在这里
  • categoryName : String类型 每个分类的名称
  • type : String类型 每个分类的类型
    • READ_MOST : String类型 大家都在看
    • RECENT_UPDATE : String类型 最近更新
    • CATEGORY : String类型 书籍分类
  • categoryId : Integer类型 只有当type=CATEGORY时才有值表示书籍分类号

分类

书籍的全部分类

路径 /app/open/api/category/getCategoryChannel
请求方式 GET

返回结果

名称 类型 必需 说明
channels List 获取所有的频道分类列表,目前有男生频道和女生频道,列表中每个对象包含以下字段
  • categories : List类型 分类信息列表
  • channelId : Integer类型 频道号
  • channelName : String类型 频道名称

分类信息的字段定义如下:

名称 类型 必需 说明
categoryId Integer 分类号
categoryName String 分类名
coverImgs List<String> 分类的封面列表,包含该分类排名前三书籍的封面路径并非URL地址,需要手动拼接上域名+端口参考这里

榜单

书籍榜单信息

路径 /app/open/api/rank/getList
请求方式 GET

返回结果

名称 类型 必需 说明
channels List 获取所有的频道榜单目前有男生频道和女生频道每个对象包含以下字段
  • ranks : List类型 榜单信息列表
  • channelId : Integer类型 频道号
  • channelName : String类型 频道名称

榜单信息的字段定义如下:

名称 类型 必需 说明
rankId Integer 榜单号
rankName String 榜单名
coverImgs List 榜单的封面列表,包含该榜单排名前三书籍的封面路径并非URL地址,需要手动拼接上域名+端口参考这里

榜单列表

每个榜单内的书籍列表

路径 /app/open/api/rank/getPage
请求方式 GET
参数 名称 类型 必需 说明
channelId Integer 频道号
rankId Integer 榜单号
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据

返回结果

名称 类型 必需 说明
list List 榜单书籍列表,每个书籍的定义在这里
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据
total Integer 总共有多少条数据

完本

所有完本书籍信息

路径 /app/open/api/category/getCategoryEnd
请求方式 GET
参数 名称 类型 必需 说明
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据

返回数据

名称 类型 必需 说明
list List 全部完结书籍的分类列表,列表中每个对象有以下字段
  • bookList : List类型 书籍列表,每个书籍的定义在这里
  • categoryName : String类型 每个分类的名称
  • categoryId : Integer类型 书籍分类号
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据
total Integer 总共有多少条数据

专题

书籍专题信息

路径 /app/open/api/book/getSpecialList
请求方式 GET
参数 名称 类型 必需 说明
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据

返回结果

名称 类型 必需 说明
specialList List 全部的专题列表,列表中每个对象有以下字段
  • bookList : List类型 书籍列表,每个书籍的定义在这里
  • name : String类型 每个专题的名称
  • id : Integer类型 专题号

专题列表

专题下全部的书籍和换一换列表

路径 /app/open/api/book/getSpecialPage
请求方式 GET
参数 名称 类型 必需 说明
id Integer 专题号
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据

返回结果

名称 类型 必需 说明
list List 专题的书籍列表,每个书籍的定义在这里
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据
total Integer 总共有多少条数据

发现页查看全部

查看发现页分类的全部或部分内容(查看全部,换一换)

路径 /app/open/api/category/discoveryAll
请求方式 GET
参数 名称 类型 必需 说明
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据
type String 发现页的分类类型
  • READ_MOST : String类型 大家都在看
  • RECENT_UPDATE : String类型 最近更新
  • CATEGORY : String类型 书籍分类
categoryId Integer 书籍分类号,仅当type=CATEGORY有效

返回结果

名称 类型 必需 说明
list List 发现页某个分类的书籍列表,每个书籍的定义在这里
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据
total Integer 总共有多少条数据

书城

分类书籍列表

某个分类下所有的书籍

路径 /app/open/api/book/getCategoryId
请求方式 GET
参数 名称 类型 必需 说明
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据
categoryId Integer 书籍所属的分类号
channelId Integer 某个频道下的分类书籍
orderBy String 分类书籍排序与筛选规则,不传返回全部书籍默认排序
  • NEWEST : String类型 按照最新的书籍进行排序
  • HOT : String类型 按照最火爆的书籍进行排序
  • END : String类型 筛选已完结的书籍

返回结果

名称 类型 必需 说明
list List 分类的书籍列表,每个书籍的定义在这里
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据
total Integer 总共有多少条数据

书籍详情

每本书的详细信息

路径 /app/open/api/book/getDetail
请求方式 GET
参数 名称 类型 必需 说明
bookId Integer 书籍号

返回结果

名称 类型 必需 说明
author String 书籍作者
bookId Integer 书籍号
categoryName String 书籍所属分类名
chapterNum Integer 总共有多少章节
coverImg String 书籍的封面路径,返回的是书籍封面的路径并非URL地址,需要手动拼接上域名+端口参考这里
desc String 书籍内容介绍
title String 书籍的名称
update Object 书籍更新信息包含以下字段
  • chapterId : Long类型 最新的章节号
  • chapterName : String类型 最新的章节名称
  • chapterStatus : String类型 书籍连载状态
    • END : String类型 书籍已完结
    • SERIALIZE : String类型 书籍连载中
  • time : Date类型 书籍最近更新时间
word String 书籍的字数
recommend List 相关书籍推荐列表,每个书籍的定义在这里

书籍推荐

在书籍详情中的推荐列表和换一换

路径 /app/open/api/book/getRecommend
请求方式 GET
参数 名称 类型 必需 说明
bookId Integer 书籍号
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据

返回结果

名称 类型 必需 说明
list List 书籍推荐列表,每个书籍的定义在这里
pageNum Integer 请求第几页的数据,pageNum最小值为1
pageSize Integer 请求每页多少条的数据
total Integer 当前请求有多少条数据

书籍目录

获取书籍全部或部分目录信息,当书籍有更新时需要调用该接口来更新本地保存的目录信息,传入chapterId获取此章节之后的数据,不传chapterId是获取全部目录。如果本地已经保存过目录信息,建议最好传入最后一章chapterId来更新本地目录。而不是全量获取所有的目录。

路径 /app/open/api/chapter/getByBookId
请求方式 GET
参数 名称 类型 必需 说明
bookId Integer 书籍号
chapterId Long 从第几章开始请求目录信息,如果不传请求全部的目录信息

返回结果

名称 类型 必需 说明
author String 作者
bookId Integer 书籍号
coverImg String 返回的是书籍封面的路径并非URL地址,需要手动拼接上域名+端口参考这里
desc String 书籍内容介绍
title String 书籍的名称
word String 书籍的字数
chapters List 书籍的目录列表,每个目录包含以下字段
  • id : Long类型 章节号
  • name : String类型 章节名
  • v : Integer类型 书籍的版本号,非常重要,书籍下载接口/app/open/api/chapter/get需要传递这个参数

书籍章节下载

下载章节内容,目前开放接口不支持批量下载

由于书源失效会导致部分书籍不可访问。如果错误码为203表示书源已经失效,此时服务器会自动更新书源。
如果书源失效并返回203请重新调用书籍目录接口/app/open/api/chapter/getByBookId来获取最新的目录信息
此时当前接口需要传递v这个参数,这个参数由/app/open/api/chapter/getByBookId接口返回。
v表示当前此书籍的版本。默认为0,表示此书籍的书源没有失效过。1表示为此书籍的书源更新过一次。
/app/open/api/chapter/getByBookId返回v=1,如果当前接口传v=0表示从旧书源获取内容,会导致获取内容失败。

路径 /app/open/api/chapter/get
请求方式 POST application/json
参数 名称 类型 必需 说明
bookId Integer 下载的书籍号
chapterIdList List<Long> 下载的章节号列表
v Integer 书籍的版本号

返回结果

名称 类型 必需 说明
list List 下载的章节内容,每个章节的字段如下
  • content : String类型 章节内容
  • id : Long类型 章节号
  • name : String类型 章节名

章节刷新

刷新章节内容,获取最新的章节数据。与下载不一样,下载是获取服务器缓存的数据,但不是最新的数据。一般是下载的内容不正确时会调用该接口。该接口响应时间比较长,谨慎调用。

路径 /app/open/api/chapter/updateForce
请求方式 POST application/json
参数 名称 类型 必需 说明
bookId Integer 更新的书籍号
chapterIdList List<Long> 更新的章节号列表

返回结果

名称 类型 必需 说明
list List 更新的章节内容,每个章节的字段如下
  • content : String类型 章节内容
  • id : Long类型 章节号
  • name : String类型 章节名

其他

配置接口

获取热门搜索,书籍默认分类等配置信息,通常是在每次开机时启动

路径 /app/open/api/system/getAppConfig
请求方式 GET

返回结果

名称 类型 必需 说明
categories List 书籍默认的分类列表,每个分类的字段如下
  • categoryId : Integer类型 分类号
  • categoryName : String类型 分类名
hotSearch List 热搜书籍列表,每个书籍的定义在这里

声明

服务器只提供搜索以及在线转码的计算能力,没有存储任何小说内容。如有任何疑问请通过上面提供的联系方式联系我们。

reader-api's People

Contributors

yuenov avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.