mirror of
https://github.com/gedoor/legado.git
synced 2024-08-30 09:23:26 +08:00
285 lines
6.0 KiB
Markdown
285 lines
6.0 KiB
Markdown
# 阅读[API](/app/src/main/java/io/legado/app/api/controller)
|
||
|
||
## 对于[Web](/app/src/main/java/io/legado/app/web/)的配置
|
||
|
||
您需要先在设置中启用"Web 服务"。
|
||
|
||
## 使用
|
||
|
||
### Web
|
||
|
||
以下说明假设您的操作在本机进行,且开放端口为1234。
|
||
如果您要从远程计算机访问[阅读](),请将`127.0.0.1`替换成手机IP。
|
||
|
||
#### 插入单个书源
|
||
|
||
请求BODY内容为`JSON`字符串,
|
||
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt)
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/saveSource
|
||
Method = POST
|
||
```
|
||
|
||
#### 插入多个书源or订阅源
|
||
|
||
请求BODY内容为`JSON`字符串,
|
||
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt),**为数组格式**。
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/saveBookSources
|
||
URL = http://127.0.0.1:1234/saveRssSources
|
||
Method = POST
|
||
```
|
||
|
||
#### 获取书源
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/getBookSource?url=xxx
|
||
URL = http://127.0.0.1:1234/getRssSource?url=xxx
|
||
Method = GET
|
||
```
|
||
|
||
#### 获取所有书源or订阅源
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/getBookSources
|
||
URL = http://127.0.0.1:1234/getRssSources
|
||
Method = GET
|
||
```
|
||
|
||
#### 删除多个书源or订阅源
|
||
|
||
请求BODY内容为`JSON`字符串,
|
||
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt),**为数组格式**。
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/deleteBookSources
|
||
URL = http://127.0.0.1:1234/deleteRssSources
|
||
Method = POST
|
||
```
|
||
|
||
#### 调试源
|
||
|
||
key为书源搜索关键词,tag为源链接
|
||
|
||
```
|
||
URL = ws://127.0.0.1:1235/bookSourceDebug
|
||
URL = ws://127.0.0.1:1235/rssSourceDebug
|
||
Message = { key: [String], tag: [String] }
|
||
```
|
||
|
||
#### 获取替换规则
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/getReplaceRules
|
||
Method = GET
|
||
```
|
||
|
||
#### 替换规则管理
|
||
|
||
请求BODY内容为`JSON`字符串,
|
||
替换规则参考[这个文件](/app/src/main/java/io/legado/app/data/entities/ReplaceRule.kt)。
|
||
|
||
##### 删除
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/deleteReplaceRule
|
||
Method = POST
|
||
Body = [ReplaceRule]
|
||
```
|
||
##### 插入
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/saveReplaceRule
|
||
Method = POST
|
||
Body = [ReplaceRule]
|
||
```
|
||
|
||
##### 测试
|
||
|
||
返回测试文本text替换结果
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/testReplaceRule
|
||
Method = POST
|
||
Body = { rule: [ReplaceRule], text: [String] }
|
||
```
|
||
|
||
#### 搜索在线书籍
|
||
|
||
```
|
||
URL = ws://127.0.0.1:1235/searchBook
|
||
Message = { key: [String] }
|
||
```
|
||
|
||
#### 插入书籍
|
||
|
||
请求BODY内容为`JSON`字符串,
|
||
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/Book.kt)。
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/saveBook
|
||
Method = POST
|
||
```
|
||
|
||
#### 获取所有书籍
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/getBookshelf
|
||
Method = GET
|
||
```
|
||
|
||
获取APP内的所有书籍。
|
||
|
||
#### 获取书籍章节列表
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/getChapterList?url=xxx
|
||
Method = GET
|
||
```
|
||
|
||
获取指定图书的章节列表。
|
||
|
||
#### 获取书籍内容
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/getBookContent?url=xxx&index=1
|
||
Method = GET
|
||
```
|
||
|
||
获取指定图书的第`index`章节的文本内容。
|
||
|
||
#### 获取封面
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/cover?path=xxxxx
|
||
Method = GET
|
||
```
|
||
|
||
#### 获取正文图片
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/image?url=${bookUrl}&path=${picUrl}&width=${width}
|
||
Method = GET
|
||
```
|
||
|
||
#### 保存书籍进度
|
||
|
||
请求BODY内容为`JSON`字符串,
|
||
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookProgress.kt)。
|
||
|
||
```
|
||
URL = http://127.0.0.1:1234/saveBookProgress
|
||
Method = POST
|
||
```
|
||
|
||
### [Content Provider](/app/src/main/java/io/legado/app/api/ReaderProvider.kt)
|
||
|
||
|
||
* 需声明`io.legado.READ_WRITE`权限
|
||
* `providerHost`为`包名.readerProvider`, 如`io.legado.app.release.readerProvider`,不同包的地址不同,防止冲突安装失败
|
||
* 以下出现的`providerHost`请自行替换
|
||
|
||
#### 插入单个书源or订阅源
|
||
|
||
创建`Key="json"`的`ContentValues`,内容为`JSON`字符串,
|
||
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt)
|
||
|
||
```
|
||
URL = content://providerHost/bookSource/insert
|
||
URL = content://providerHost/rssSource/insert
|
||
Method = insert
|
||
```
|
||
|
||
#### 插入多个书源or订阅源
|
||
|
||
创建`Key="json"`的`ContentValues`,内容为`JSON`字符串,
|
||
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt),**为数组格式**。
|
||
|
||
```
|
||
URL = content://providerHost/bookSources/insert
|
||
URL = content://providerHost/rssSources/insert
|
||
Method = insert
|
||
```
|
||
|
||
#### 获取书源or订阅源
|
||
|
||
获取指定URL对应的书源信息。
|
||
用`Cursor.getString(0)`取出返回结果。
|
||
|
||
```
|
||
URL = content://providerHost/bookSource/query?url=xxx
|
||
URL = content://providerHost/rssSource/query?url=xxx
|
||
Method = query
|
||
```
|
||
|
||
#### 获取所有书源or订阅源
|
||
|
||
获取APP内的所有订阅源。
|
||
用`Cursor.getString(0)`取出返回结果。
|
||
|
||
```
|
||
URL = content://providerHost/bookSources/query
|
||
URL = content://providerHost/rssSources/query
|
||
Method = query
|
||
```
|
||
|
||
#### 删除多个书源or订阅源
|
||
|
||
创建`Key="json"`的`ContentValues`,内容为`JSON`字符串,
|
||
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/BookSource.kt),**为数组格式**。
|
||
|
||
```
|
||
URL = content://providerHost/bookSources/delete
|
||
URL = content://providerHost/rssSources/delete
|
||
Method = delete
|
||
```
|
||
|
||
#### 插入书籍
|
||
|
||
创建`Key="json"`的`ContentValues`,内容为`JSON`字符串,
|
||
格式参考[这个文件](/app/src/main/java/io/legado/app/data/entities/Book.kt)。
|
||
|
||
```
|
||
URL = content://providerHost/book/insert
|
||
Method = insert
|
||
```
|
||
|
||
#### 获取所有书籍
|
||
|
||
获取APP内的所有书籍。
|
||
用`Cursor.getString(0)`取出返回结果。
|
||
|
||
```
|
||
URL = content://providerHost/books/query
|
||
Method = query
|
||
```
|
||
|
||
#### 获取书籍章节列表
|
||
|
||
获取指定图书的章节列表。
|
||
用`Cursor.getString(0)`取出返回结果。
|
||
|
||
```
|
||
URL = content://providerHost/book/chapter/query?url=xxx
|
||
Method = query
|
||
```
|
||
|
||
#### 获取书籍内容
|
||
|
||
获取指定图书的第`index`章节的文本内容。
|
||
用`Cursor.getString(0)`取出返回结果。
|
||
|
||
```
|
||
URL = content://providerHost/book/content/query?url=xxx&index=1
|
||
Method = query
|
||
```
|
||
|
||
#### 获取封面
|
||
|
||
```
|
||
URL = content://providerHost/book/cover/query?path=xxxx
|
||
Method = query
|
||
```
|