Need help with reader-api?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

yuenov
145 Stars 43 Forks MIT License 23 Commits 0 Opened issues

Description

开源阅小说App使用所有的API

Services available

!
?

Need anything else?

Contributors list

No Data

阅小说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 发现页的分类类型
  • READMOST : String类型 大家都在看
  • RECENTUPDATE : 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&ltLong&gt 下载的章节号列表
v Integer 书籍的版本号

返回结果

|名称|类型|必需|说明| | ------------ | ------------ | ------------ |------------ | |

list
| List|否| 下载的章节内容,每个章节的字段如下
  • content
    :
    String类型
    章节内容
  • id
    :
    Long类型
    章节号
  • name
    :
    String类型
    章节名

#### 章节刷新

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

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

返回结果

|名称|类型|必需|说明| | ------------ | ------------ | ------------ |------------ | |

list
| List|否| 更新的章节内容,每个章节的字段如下
  • content
    :
    String类型
    章节内容
  • id
    :
    Long类型
    章节号
  • name
    :
    String类型
    章节名

其他

配置接口

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

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

返回结果

|名称|类型|必需|说明| | ------------ | ------------ | ------------ |------------ | |

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

声明

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.