diff --git a/api.md b/api.md index fd92ca2fb..038aa4c69 100644 --- a/api.md +++ b/api.md @@ -108,6 +108,8 @@ Body = { rule: [ReplaceRule], text: [String] } #### 搜索在线书籍 +若想获取对应的书籍的目录正文 请先**插入书籍**以启用缓存,如果试读后决定不添加到书籍,请**删除书籍** + ``` URL = ws://127.0.0.1:1235/searchBook Message = { key: [String] } @@ -123,6 +125,14 @@ URL = http://127.0.0.1:1234/saveBook Method = POST ``` +#### 删除书籍 + +``` +URL = http://127.0.0.1:1234/deleteBook +Method = POST +``` + +``` #### 获取所有书籍 ``` diff --git a/app/src/main/java/io/legado/app/api/controller/BookController.kt b/app/src/main/java/io/legado/app/api/controller/BookController.kt index d726f30db..89dabb7b7 100644 --- a/app/src/main/java/io/legado/app/api/controller/BookController.kt +++ b/app/src/main/java/io/legado/app/api/controller/BookController.kt @@ -99,7 +99,7 @@ object BookController { return returnData.setErrorMsg("参数url不能为空,请指定书籍地址") } val book = appDb.bookDao.getBook(bookUrl) - ?: return returnData.setErrorMsg("bookUrl不对") + ?: return returnData.setErrorMsg("未在数据库找到对应书籍,请先添加") if (book.isLocal) { val toc = LocalBook.getChapterList(book) appDb.bookChapterDao.delByBook(book.bookUrl) @@ -207,6 +207,18 @@ object BookController { return returnData.setErrorMsg("格式不对") } + /** + * 删除书籍 + */ + fun deleteBook(postData: String?): ReturnData { + val returnData = ReturnData() + GSON.fromJsonObject(postData).getOrNull()?.let { book -> + book.delete() + return returnData.setData("") + } + return returnData.setErrorMsg("格式不对") + } + /** * 保存进度 */ diff --git a/app/src/main/java/io/legado/app/web/HttpServer.kt b/app/src/main/java/io/legado/app/web/HttpServer.kt index b5f4183c4..4c84ec696 100644 --- a/app/src/main/java/io/legado/app/web/HttpServer.kt +++ b/app/src/main/java/io/legado/app/web/HttpServer.kt @@ -43,6 +43,7 @@ class HttpServer(port: Int) : NanoHTTPD(port) { "/saveBookSources" -> BookSourceController.saveSources(postData) "/deleteBookSources" -> BookSourceController.deleteSources(postData) "/saveBook" -> BookController.saveBook(postData) + "/deleteBook" -> BookController.deleteBook(postData) "/saveBookProgress" -> BookController.saveBookProgress(postData) "/addLocalBook" -> BookController.addLocalBook(session.parameters) "/saveReadConfig" -> BookController.saveWebReadConfig(postData)