📚 漫画管理 API
通过 HTTP API 管理漫画数据
漫画管理 API 提供了完整的 CRUD 操作,允许您通过 HTTP 请求获取、创建、更新和删除漫画数据。
📥 获取所有漫画
GET
/api/manga响应:200 OK,返回漫画数组
[
{
"id": "1767042792152n1yc9qrf3",
"resourceType": "manga",
"name": "漫画名称",
"description": "漫画描述",
"author": "作者名",
"tags": ["标签1", "标签2"],
"resourcePath": "C:/Manga/MangaFolder",
"coverPath": "C:/Manga/Covers/cover.jpg",
"visitedSessions": [
"2025-12-29T22:05:34.528Z",
"2026-01-21T08:53:13.157Z"
],
"addedDate": "2025-12-29T21:13:12.152Z",
"rating": 5,
"comment": "很好看",
"isFavorite": true
}
]JavaScript
const res = await fetch('http://127.0.0.1:8765/api/manga')
const manga = await res.json()Python
import requests
response = requests.get('http://127.0.0.1:8765/api/manga')
manga = response.json()📥 获取单个漫画
GET
/api/manga/:id参数:id - 漫画ID
响应:200 OK 返回漫画对象,不存在则 404
{
"id": "1767042792152n1yc9qrf3",
"resourceType": "manga",
"name": "漫画名称",
"description": "漫画描述",
"author": "作者名",
"tags": ["标签1", "标签2"],
"resourcePath": "C:/Manga/MangaFolder",
"coverPath": "C:/Manga/Covers/cover.jpg",
"visitedSessions": [
"2025-12-29T22:05:34.528Z",
"2026-01-21T08:53:13.157Z"
],
"addedDate": "2025-12-29T21:13:12.152Z",
"rating": 5,
"comment": "很好看",
"isFavorite": true
}JavaScript
const res = await fetch('http://127.0.0.1:8765/api/manga/1234567890abc')
const manga = await res.json()Python
import requests
response = requests.get('http://127.0.0.1:8765/api/manga/1234567890abc')
manga = response.json()➕ 创建漫画
POST
/api/manga请求体:
{
"name": "漫画名称",
"description": "漫画描述",
"author": "作者名",
"tags": ["标签1", "标签2"],
"resourcePath": "C:/Manga/MangaFolder",
"coverPath": "C:/Manga/Covers/cover.jpg",
"visitedSessions": [],
"rating": 0,
"comment": "",
"isFavorite": false
}响应:201 Created,返回创建的漫画对象
注意:ID 和 addedDate 会自动生成
JavaScript
const res = await fetch('http://127.0.0.1:8765/api/manga', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: '新漫画',
author: '作者名',
resourcePath: 'C:/Manga/NewManga'
})
})
const createdManga = await res.json()Python
import requests
new_manga = {
'name': '新漫画',
'author': '作者名',
'resourcePath': 'C:/Manga/NewManga'
}
response = requests.post('http://127.0.0.1:8765/api/manga', json=new_manga)
created_manga = response.json()✏️ 更新漫画
PUT
/api/manga/:id参数:id - 漫画ID
请求体:要更新的字段(JSON 对象,只需传要修改的字段)
{
"name": "更新后的漫画名",
"description": "更新后的描述",
"rating": 5,
"tags": ["新标签1", "新标签2"],
"isFavorite": true
}响应:200 OK,返回更新后的漫画对象
注意:ID 和 addedDate 字段不允许修改
JavaScript
const res = await fetch('http://127.0.0.1:8765/api/manga/1234567890abc', {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ name: '更新后的漫画名' })
})
const updatedManga = await res.json()Python
import requests
update_data = {'name': '更新后的漫画名'}
response = requests.put('http://127.0.0.1:8765/api/manga/1234567890abc', json=update_data)
updated_manga = response.json()🗑️ 删除漫画
DELETE
/api/manga/:id参数:id - 漫画ID
响应:204 No Content(成功)或 404 Not Found(不存在)
注意:删除操作不会删除本地漫画文件,仅移除管理器中的引用
JavaScript
await fetch('http://127.0.0.1:8765/api/manga/1234567890abc', { method: 'DELETE' })
// 成功返回 204,无响应体Python
import requests
response = requests.delete('http://127.0.0.1:8765/api/manga/1234567890abc')
# 成功返回 204,无响应体📊 漫画数据字段说明
漫画对象包含以下字段:
id- 漫画唯一标识符(自动生成,不可修改)resourceType- 资源类型,固定为 "manga"name- 漫画名称(必需)description- 漫画描述author- 作者tags- 标签数组resourcePath- 漫画文件夹路径coverPath- 封面图片路径visitedSessions- 访问会话时间数组(ISO 字符串数组,记录每次查看时间)addedDate- 添加日期(自动生成,不可修改)rating- 评分(1-5 或 0)comment- 备注isFavorite- 是否收藏
⚠️ 错误处理
API 使用标准的 HTTP 状态码:
- 200 OK:请求成功
- 201 Created:资源创建成功
- 204 No Content:删除成功(无响应体)
- 400 Bad Request:请求参数错误(如缺少必需字段)
- 404 Not Found:资源不存在
- 500 Internal Server Error:服务器内部错误
错误响应格式:
{
"error": "错误信息"
}