From 6fc61ccbd4094699b325a3c9a328f776c217ce38 Mon Sep 17 00:00:00 2001 From: kjqwer <2990346238@qq.com> Date: Thu, 21 Aug 2025 11:50:25 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D=E5=92=8C=E6=9E=B6?= =?UTF-8?q?=E6=9E=84=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + backend/auth.js | 8 +- backend/core.js | 19 + backend/routes/artist.js | 57 +- backend/routes/download.js | 200 +- backend/routes/proxy.js | 52 + backend/server.js | 8 +- backend/services/artist.js | 121 +- backend/services/artwork.js | 120 +- backend/services/download.js | 779 +++++-- data/download_history.json | 1252 +++++++++++ data/download_tasks.json | 2376 +++++++++++++++++++++ ui/src/components/artwork/ArtworkCard.vue | 19 +- ui/src/router/index.ts | 10 +- ui/src/services/artist.ts | 13 + ui/src/services/download.ts | 105 +- ui/src/types/index.ts | 4 + ui/src/views/ArtistView.vue | 18 +- ui/src/views/ArtistsView.vue | 33 +- ui/src/views/ArtworkView.vue | 21 +- ui/src/views/DownloadsView.vue | 900 ++++---- ui/src/views/SearchView.vue | 165 +- 22 files changed, 5511 insertions(+), 770 deletions(-) create mode 100644 backend/routes/proxy.js create mode 100644 data/download_history.json create mode 100644 data/download_tasks.json diff --git a/.gitignore b/.gitignore index b7494f8..35e2677 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,4 @@ typings/ .next old/ +downloads/ diff --git a/backend/auth.js b/backend/auth.js index 52fc14c..0b54013 100644 --- a/backend/auth.js +++ b/backend/auth.js @@ -199,12 +199,18 @@ class PixivAuth { this.accessToken = tokenData.access_token; this.refreshToken = tokenData.refresh_token; + + // 如果响应中包含用户信息,则保存 + if (tokenData.user) { + this.user = tokenData.user; + } console.log('刷新访问令牌成功'); return { success: true, access_token: tokenData.access_token, - refresh_token: tokenData.refresh_token + refresh_token: tokenData.refresh_token, + user: tokenData.user }; } catch (error) { diff --git a/backend/core.js b/backend/core.js index e79adae..665a892 100644 --- a/backend/core.js +++ b/backend/core.js @@ -1,6 +1,7 @@ const Fse = require('fs-extra'); const Path = require('path'); const PixivAuth = require('./auth'); +const DownloadService = require('./services/download'); // 配置文件路径 const CONFIG_FILE_DIR = require('appdata-path').getAppDataPath('pxder'); @@ -24,6 +25,7 @@ class PixivBackend { this.config = null; this.auth = null; this.isLoggedIn = false; + this.downloadService = null; } /** @@ -39,6 +41,10 @@ class PixivBackend { // 创建认证实例,传入代理配置 this.auth = new PixivAuth(this.config.proxy); + // 创建下载服务实例 + this.downloadService = new DownloadService(this.auth); + await this.downloadService.init(); + // 检查登录状态 if (this.config.refresh_token) { console.log('检测到已保存的登录信息,正在验证...'); @@ -161,6 +167,12 @@ class PixivBackend { // 更新配置 this.config.access_token = result.access_token; this.config.refresh_token = result.refresh_token; + + // 如果刷新令牌响应中包含用户信息,则更新 + if (result.user) { + this.config.user = result.user; + } + this.saveConfig(); this.isLoggedIn = true; @@ -253,6 +265,13 @@ class PixivBackend { getAuth() { return this.auth; } + + /** + * 获取下载服务实例 + */ + getDownloadService() { + return this.downloadService; + } } module.exports = PixivBackend; \ No newline at end of file diff --git a/backend/routes/artist.js b/backend/routes/artist.js index 1ed5cfa..6799e7d 100644 --- a/backend/routes/artist.js +++ b/backend/routes/artist.js @@ -3,22 +3,18 @@ const router = express.Router(); const ArtistService = require('../services/artist'); /** - * 获取作者信息 - * GET /api/artist/:id + * 获取当前用户关注的作者列表 + * GET /api/artist/following */ -router.get('/:id', async (req, res) => { +router.get('/following', async (req, res) => { try { - const { id } = req.params; - - if (!id || isNaN(parseInt(id))) { - return res.status(400).json({ - success: false, - error: 'Invalid artist ID' - }); - } + const { offset = 0, limit = 30 } = req.query; const artistService = new ArtistService(req.backend.getAuth()); - const result = await artistService.getArtistInfo(parseInt(id)); + const result = await artistService.getFollowingArtists({ + offset: parseInt(offset), + limit: parseInt(limit) + }); if (result.success) { res.json({ @@ -222,4 +218,41 @@ router.post('/:id/follow', async (req, res) => { } }); +/** + * 获取作者信息 + * GET /api/artist/:id + */ +router.get('/:id', async (req, res) => { + try { + const { id } = req.params; + + if (!id || isNaN(parseInt(id))) { + return res.status(400).json({ + success: false, + error: 'Invalid artist ID' + }); + } + + const artistService = new ArtistService(req.backend.getAuth()); + const result = await artistService.getArtistInfo(parseInt(id)); + + if (result.success) { + res.json({ + success: true, + data: result.data + }); + } else { + res.status(404).json({ + success: false, + error: result.error + }); + } + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + module.exports = router; \ No newline at end of file diff --git a/backend/routes/download.js b/backend/routes/download.js index c9b0ee2..cf8b0ad 100644 --- a/backend/routes/download.js +++ b/backend/routes/download.js @@ -22,7 +22,7 @@ router.post('/artwork/:id', async (req, res) => { }); } - const downloadService = new DownloadService(req.backend.getAuth()); + const downloadService = req.backend.getDownloadService(); const result = await downloadService.downloadArtwork(parseInt(id), { size, quality, @@ -76,7 +76,7 @@ router.post('/artworks', async (req, res) => { }); } - const downloadService = new DownloadService(req.backend.getAuth()); + const downloadService = req.backend.getDownloadService(); const result = await downloadService.downloadMultipleArtworks(artworkIds, { size, quality, @@ -112,12 +112,10 @@ router.post('/artist/:id', async (req, res) => { const { id } = req.params; const { type = 'art', - filter = 'for_ios', + limit = 50, size = 'original', quality = 'high', - format = 'auto', - limit = 50, - concurrent = 3 + format = 'auto' } = req.body; if (!id || isNaN(parseInt(id))) { @@ -127,15 +125,13 @@ router.post('/artist/:id', async (req, res) => { }); } - const downloadService = new DownloadService(req.backend.getAuth()); + const downloadService = req.backend.getDownloadService(); const result = await downloadService.downloadArtistArtworks(parseInt(id), { type, - filter, + limit: parseInt(limit), size, quality, - format, - limit: parseInt(limit), - concurrent: parseInt(concurrent) + format }); if (result.success) { @@ -158,34 +154,48 @@ router.post('/artist/:id', async (req, res) => { }); /** - * 获取下载进度 + * 获取任务进度 * GET /api/download/progress/:taskId */ router.get('/progress/:taskId', async (req, res) => { try { const { taskId } = req.params; - if (!taskId) { - return res.status(400).json({ + const downloadService = req.backend.getDownloadService(); + const progress = downloadService.getTaskProgress(taskId); + + if (!progress) { + return res.status(404).json({ success: false, - error: 'Task ID is required' + error: 'Task not found' }); } - const downloadService = new DownloadService(req.backend.getAuth()); - const result = await downloadService.getDownloadProgress(taskId); + res.json({ + success: true, + data: progress + }); + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +/** + * 获取所有任务 + * GET /api/download/tasks + */ +router.get('/tasks', async (req, res) => { + try { + const downloadService = req.backend.getDownloadService(); + const tasks = downloadService.getAllTasks(); - if (result.success) { - res.json({ - success: true, - data: result.data - }); - } else { - res.status(404).json({ - success: false, - error: result.error - }); - } + res.json({ + success: true, + data: tasks + }); } catch (error) { res.status(500).json({ success: false, @@ -196,26 +206,19 @@ router.get('/progress/:taskId', async (req, res) => { /** * 取消下载任务 - * DELETE /api/download/cancel/:taskId + * POST /api/download/cancel/:taskId */ -router.delete('/cancel/:taskId', async (req, res) => { +router.post('/cancel/:taskId', async (req, res) => { try { const { taskId } = req.params; - if (!taskId) { - return res.status(400).json({ - success: false, - error: 'Task ID is required' - }); - } - - const downloadService = new DownloadService(req.backend.getAuth()); - const result = await downloadService.cancelDownload(taskId); + const downloadService = req.backend.getDownloadService(); + const result = await downloadService.cancelTask(taskId); if (result.success) { res.json({ success: true, - message: 'Download task cancelled successfully' + message: 'Task cancelled successfully' }); } else { res.status(400).json({ @@ -237,21 +240,120 @@ router.delete('/cancel/:taskId', async (req, res) => { */ router.get('/history', async (req, res) => { try { - const { - offset = 0, - limit = 20 - } = req.query; + const { limit = 50, offset = 0 } = req.query; - const downloadService = new DownloadService(req.backend.getAuth()); - const result = await downloadService.getDownloadHistory({ - offset: parseInt(offset), - limit: parseInt(limit) + const downloadService = req.backend.getDownloadService(); + const history = downloadService.getDownloadHistory(parseInt(limit), parseInt(offset)); + + res.json({ + success: true, + data: history }); + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +/** + * 获取下载的文件列表 + * GET /api/download/files + */ +router.get('/files', async (req, res) => { + try { + const downloadService = req.backend.getDownloadService(); + const files = await downloadService.getDownloadedFiles(); + + res.json({ + success: true, + data: files + }); + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +/** + * 检查作品是否已下载 + * GET /api/download/check/:artworkId + */ +router.get('/check/:artworkId', async (req, res) => { + try { + const { artworkId } = req.params; + + if (!artworkId || isNaN(parseInt(artworkId))) { + return res.status(400).json({ + success: false, + error: 'Invalid artwork ID' + }); + } + + const downloadService = req.backend.getDownloadService(); + const isDownloaded = await downloadService.isArtworkDownloaded(parseInt(artworkId)); + + res.json({ + success: true, + data: { + artwork_id: parseInt(artworkId), + is_downloaded: isDownloaded + } + }); + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +/** + * 获取已下载的作品ID列表 + * GET /api/download/downloaded-ids + */ +router.get('/downloaded-ids', async (req, res) => { + try { + const downloadService = req.backend.getDownloadService(); + const downloadedIds = await downloadService.getDownloadedArtworkIds(); + + res.json({ + success: true, + data: downloadedIds + }); + } catch (error) { + res.status(500).json({ + success: false, + error: error.message + }); + } +}); + +/** + * 删除下载的文件 + * DELETE /api/download/files + */ +router.delete('/files', async (req, res) => { + try { + const { artist, artwork } = req.body; + + if (!artist || !artwork) { + return res.status(400).json({ + success: false, + error: 'Artist and artwork names are required' + }); + } + + const downloadService = req.backend.getDownloadService(); + const result = await downloadService.deleteDownloadedFiles(artist, artwork); if (result.success) { res.json({ success: true, - data: result.data + message: 'Files deleted successfully' }); } else { res.status(400).json({ diff --git a/backend/routes/proxy.js b/backend/routes/proxy.js new file mode 100644 index 0000000..4400479 --- /dev/null +++ b/backend/routes/proxy.js @@ -0,0 +1,52 @@ +const express = require('express'); +const router = express.Router(); +const axios = require('axios'); + +/** + * 图片代理 + * GET /api/proxy/image + */ +router.get('/image', async (req, res) => { + try { + const { url } = req.query; + + if (!url) { + return res.status(400).json({ + success: false, + error: 'Image URL is required' + }); + } + + const response = await axios({ + method: 'GET', + url: decodeURIComponent(url), + responseType: 'stream', + headers: { + 'Referer': 'https://www.pixiv.net/', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' + }, + timeout: 30000 + }); + + // 设置响应头 + res.set({ + 'Content-Type': response.headers['content-type'], + 'Cache-Control': 'public, max-age=3600', // 缓存1小时 + 'Access-Control-Allow-Origin': '*', + 'Access-Control-Allow-Methods': 'GET', + 'Access-Control-Allow-Headers': 'Content-Type' + }); + + // 流式传输图片数据 + response.data.pipe(res); + + } catch (error) { + console.error('Image proxy error:', error.message); + res.status(500).json({ + success: false, + error: 'Failed to load image' + }); + } +}); + +module.exports = router; \ No newline at end of file diff --git a/backend/server.js b/backend/server.js index 7d0b6ef..255a7c9 100644 --- a/backend/server.js +++ b/backend/server.js @@ -3,11 +3,12 @@ const cors = require('cors'); const morgan = require('morgan'); const path = require('path'); -// 导入路由模块 - 临时注释掉来定位问题 +// 导入路由模块 const authRoutes = require('./routes/auth'); const artworkRoutes = require('./routes/artwork'); const artistRoutes = require('./routes/artist'); const downloadRoutes = require('./routes/download'); +const proxyRoutes = require('./routes/proxy'); // 导入中间件 - 临时注释掉来定位问题 const { errorHandler } = require('./middleware/errorHandler'); @@ -58,7 +59,7 @@ class PixivServer { // CORS 中间件 this.app.use(cors({ - origin: process.env.FRONTEND_URL || 'http://localhost:3001', + origin: process.env.FRONTEND_URL || 'http://localhost:5173', credentials: true })); @@ -92,11 +93,12 @@ class PixivServer { }); }); - // API 路由 - 临时注释掉来定位问题 + // API 路由 this.app.use('/api/auth', authRoutes); this.app.use('/api/artwork', authMiddleware, artworkRoutes); this.app.use('/api/artist', authMiddleware, artistRoutes); this.app.use('/api/download', authMiddleware, downloadRoutes); + this.app.use('/api/proxy', proxyRoutes); // 图片代理,不需要认证 // 404 处理 this.app.use((req, res) => { diff --git a/backend/services/artist.js b/backend/services/artist.js index 6ff055a..d51f1b8 100644 --- a/backend/services/artist.js +++ b/backend/services/artist.js @@ -148,6 +148,110 @@ class ArtistService { } } + /** + * 获取当前用户关注的作者列表 + */ + async getFollowingArtists(options = {}) { + try { + const { + offset = 0, + limit = 30 + } = options; + + // 检查认证状态 + if (!this.auth || !this.auth.accessToken) { + return { + success: false, + error: '未登录或认证已过期' + }; + } + + // 尝试从认证实例获取当前用户ID + let currentUserId = this.auth.user?.id; + + // 如果认证实例中没有用户信息,尝试从状态中获取 + if (!currentUserId) { + const status = this.auth.getStatus(); + currentUserId = status.user?.id; + } + + if (!currentUserId) { + return { + success: false, + error: '无法获取当前用户信息,请重新登录' + }; + } + + const params = { + user_id: currentUserId, + restrict: 'public', + offset, + limit + }; + + console.log('获取关注作者列表,参数:', params); + + const response = await this.makeRequest( + 'GET', + `/v1/user/following?${stringify(params)}` + ); + + // 转换数据格式以匹配前端期望 + const artists = (response.user_previews || []).map(user => ({ + id: user.user.id, + name: user.user.name, + account: user.user.account, + profile_image_urls: user.user.profile_image_urls, + total_illusts: 0, // 这些信息需要通过 /v1/user/detail 获取 + total_manga: 0, + total_followers: 0, + is_followed: user.user.is_followed || false + })); + + // 为前5个用户获取详细信息(避免API调用过多) + const artistsToFetch = artists.slice(0, 5); + const detailedArtists = await Promise.all( + artistsToFetch.map(async (artist) => { + try { + const detailResponse = await this.getArtistInfo(artist.id); + if (detailResponse.success) { + return { + ...artist, + total_illusts: detailResponse.data.total_illusts || 0, + total_manga: detailResponse.data.total_manga || 0, + total_followers: detailResponse.data.total_followers || 0 + }; + } + } catch (error) { + console.error(`获取用户 ${artist.id} 详细信息失败:`, error.message); + } + return artist; + }) + ); + + // 合并详细信息和基本信息 + const finalArtists = [ + ...detailedArtists, + ...artists.slice(5) // 其余用户保持基本信息 + ]; + + return { + success: true, + data: { + artists: finalArtists, + total: finalArtists.length + } + }; + + } catch (error) { + console.error('获取关注作者列表失败:', error.message); + return { + success: false, + error: error.message + }; + } + } + /** * 关注/取消关注作者 */ @@ -336,8 +440,21 @@ class ArtistService { } } - const response = await axios(config); - return response.data; + try { + console.log(`发送API请求: ${method} ${endpoint}`); + const response = await axios(config); + return response.data; + } catch (error) { + console.error('API请求失败:', { + method, + endpoint, + status: error.response?.status, + statusText: error.response?.statusText, + data: error.response?.data, + message: error.message + }); + throw error; + } } } diff --git a/backend/services/artwork.js b/backend/services/artwork.js index fae13bc..8b1e7ac 100644 --- a/backend/services/artwork.js +++ b/backend/services/artwork.js @@ -158,15 +158,50 @@ class ArtworkService { limit = 30 } = searchOptions; + // 验证搜索参数 + if (!keyword || keyword.trim() === '') { + return { + success: false, + error: 'Search keyword is required' + }; + } + + // 映射搜索参数到Pixiv API格式 + const searchTargetMap = { + 'all': 'partial_match_for_tags', + 'art': 'partial_match_for_tags', + 'manga': 'partial_match_for_tags', + 'novel': 'partial_match_for_tags' + }; + + const sortMap = { + 'date_desc': 'date_desc', + 'date_asc': 'date_asc', + 'popular_desc': 'popular_desc' + }; + + const durationMap = { + 'all': null, // 不传递duration参数表示全部时间 + 'within_last_day': 'within_last_day', + 'within_last_week': 'within_last_week', + 'within_last_month': 'within_last_month' + }; + const params = { - word: keyword, - search_target: type, - sort: sort, - duration: duration, - offset, + word: keyword.trim(), + search_target: searchTargetMap[type] || 'partial_match_for_tags', + sort: sortMap[sort] || 'date_desc', + offset: parseInt(offset) || 0, filter: 'for_ios' }; + // 只有当duration不是'all'时才添加duration参数 + if (durationMap[duration] && durationMap[duration] !== null) { + params.duration = durationMap[duration]; + } + + console.log('Search params:', params); + const response = await this.makeRequest( 'GET', `/v1/search/illust?${stringify(params)}` @@ -175,17 +210,20 @@ class ArtworkService { return { success: true, data: { - artworks: response.illusts, + artworks: response.illusts || [], next_url: response.next_url, search_span_limit: response.search_span_limit, - total: response.illusts.length + total: response.illusts ? response.illusts.length : 0 } }; } catch (error) { + console.error('Search error:', error.message); + console.error('Search error details:', error.response?.data); + return { success: false, - error: error.message + error: error.message || 'Search failed' }; } } @@ -275,32 +313,50 @@ class ArtworkService { * 发送API请求 */ async makeRequest(method, endpoint, data = null) { - const headers = { - 'Authorization': `Bearer ${this.auth.accessToken}`, - 'Accept-Language': 'en-us', - 'App-OS': 'android', - 'App-OS-Version': '9.0', - 'App-Version': '5.0.234', - 'User-Agent': 'PixivAndroidApp/5.0.234 (Android 9.0; Pixel 3)' - }; - - const config = { - method, - url: `${this.baseURL}${endpoint}`, - headers, - timeout: 30000 - }; - - if (data) { - if (method === 'GET') { - config.params = data; - } else { - config.data = data; + try { + if (!this.auth || !this.auth.accessToken) { + throw new Error('No access token available'); } - } - const response = await axios(config); - return response.data; + const headers = { + 'Authorization': `Bearer ${this.auth.accessToken}`, + 'Accept-Language': 'en-us', + 'App-OS': 'android', + 'App-OS-Version': '9.0', + 'App-Version': '5.0.234', + 'User-Agent': 'PixivAndroidApp/5.0.234 (Android 9.0; Pixel 3)' + }; + + const config = { + method, + url: `${this.baseURL}${endpoint}`, + headers, + timeout: 30000 + }; + + if (data) { + if (method === 'GET') { + config.params = data; + } else { + config.data = data; + } + } + + console.log(`Making request to: ${config.url}`); + console.log('Request config:', { method, endpoint, data }); + + const response = await axios(config); + return response.data; + } catch (error) { + console.error('API request failed:', { + method, + endpoint, + error: error.message, + status: error.response?.status, + data: error.response?.data + }); + throw error; + } } } diff --git a/backend/services/download.js b/backend/services/download.js index 2171125..17168cf 100644 --- a/backend/services/download.js +++ b/backend/services/download.js @@ -11,34 +11,336 @@ class DownloadService { this.artworkService = new ArtworkService(auth); this.artistService = new ArtistService(auth); this.downloadPath = path.join(__dirname, '../../downloads'); - this.tasks = new Map(); // 存储下载任务状态 + this.dataPath = path.join(__dirname, '../../data'); + this.tasksFile = path.join(this.dataPath, 'download_tasks.json'); + this.historyFile = path.join(this.dataPath, 'download_history.json'); - // 确保下载目录存在 - this.ensureDownloadDir(); + this.tasks = new Map(); // 内存中的任务状态 + this.history = []; // 下载历史 + this.initialized = false; } /** - * 确保下载目录存在 + * 初始化服务 */ - async ensureDownloadDir() { + async init() { try { + // 确保目录存在 await fs.ensureDir(this.downloadPath); - console.log('下载目录已创建:', this.downloadPath); + await fs.ensureDir(this.dataPath); + + // 加载历史记录 + await this.loadHistory(); + + // 加载任务状态 + await this.loadTasks(); + + this.initialized = true; + console.log('下载服务初始化完成'); } catch (error) { - console.error('创建下载目录失败:', error); + console.error('下载服务初始化失败:', error); + this.initialized = false; } } + /** + * 加载下载历史 + */ + async loadHistory() { + try { + if (await fs.pathExists(this.historyFile)) { + this.history = await fs.readJson(this.historyFile); + } + } catch (error) { + console.error('加载下载历史失败:', error); + this.history = []; + } + } + + /** + * 保存下载历史 + */ + async saveHistory() { + try { + await fs.writeJson(this.historyFile, this.history, { spaces: 2 }); + } catch (error) { + console.error('保存下载历史失败:', error); + } + } + + /** + * 加载任务状态 + */ + async loadTasks() { + try { + if (await fs.pathExists(this.tasksFile)) { + const tasksData = await fs.readJson(this.tasksFile); + // 只加载未完成的任务 + for (const [taskId, task] of Object.entries(tasksData)) { + if (task.status === 'downloading' || task.status === 'pending') { + this.tasks.set(taskId, task); + } + } + } + } catch (error) { + console.error('加载任务状态失败:', error); + } + } + + /** + * 保存任务状态 + */ + async saveTasks() { + try { + const tasksData = {}; + for (const [taskId, task] of this.tasks.entries()) { + tasksData[taskId] = task; + } + await fs.writeJson(this.tasksFile, tasksData, { spaces: 2 }); + } catch (error) { + console.error('保存任务状态失败:', error); + } + } + + /** + * 获取任务进度 + */ + getTaskProgress(taskId) { + const task = this.tasks.get(taskId); + if (!task) { + return null; + } + + return { + id: task.id, + type: task.type, + status: task.status, + progress: task.progress, + total: task.total, + completed: task.completed, + failed: task.failed, + start_time: task.start_time, + end_time: task.end_time, + files: task.files || [], + error: task.error + }; + } + + /** + * 获取所有任务 + */ + getAllTasks() { + const tasks = []; + for (const [taskId, task] of this.tasks.entries()) { + tasks.push(this.getTaskProgress(taskId)); + } + return tasks; + } + + /** + * 获取下载历史 + */ + getDownloadHistory(limit = 50, offset = 0) { + return this.history + .sort((a, b) => new Date(b.end_time) - new Date(a.end_time)) + .slice(offset, offset + limit); + } + + /** + * 获取下载的文件列表 + */ + async getDownloadedFiles() { + try { + const files = []; + const artists = await fs.readdir(this.downloadPath); + + for (const artist of artists) { + const artistPath = path.join(this.downloadPath, artist); + const artistStat = await fs.stat(artistPath); + + if (artistStat.isDirectory()) { + const artworks = await fs.readdir(artistPath); + + for (const artwork of artworks) { + const artworkPath = path.join(artistPath, artwork); + const artworkStat = await fs.stat(artworkPath); + + if (artworkStat.isDirectory()) { + const artworkFiles = await fs.readdir(artworkPath); + const imageFiles = artworkFiles.filter(file => + /\.(jpg|jpeg|png|gif|webp)$/i.test(file) + ); + + if (imageFiles.length > 0) { + files.push({ + artist: artist, + artwork: artwork, + path: artworkPath, + files: imageFiles, + total_size: await this.getDirectorySize(artworkPath), + created_at: artworkStat.birthtime + }); + } + } + } + } + } + + return files.sort((a, b) => new Date(b.created_at) - new Date(a.created_at)); + } catch (error) { + console.error('获取下载文件列表失败:', error); + return []; + } + } + + /** + * 检查作品是否已下载 + */ + async isArtworkDownloaded(artworkId) { + try { + // 从历史记录中查找 + const historyItem = this.history.find(item => + item.artwork_id === artworkId && item.status === 'completed' + ); + + if (historyItem) { + // 检查文件是否还存在 + const exists = await fs.pathExists(historyItem.download_path); + if (exists) { + const files = await fs.readdir(historyItem.download_path); + const imageFiles = files.filter(file => + /\.(jpg|jpeg|png|gif|webp)$/i.test(file) + ); + return imageFiles.length > 0; + } + } + + return false; + } catch (error) { + console.error('检查作品下载状态失败:', error); + return false; + } + } + + /** + * 获取已下载的作品ID列表 + */ + async getDownloadedArtworkIds() { + try { + const downloadedIds = new Set(); + + // 从历史记录中获取 + for (const item of this.history) { + if (item.artwork_id && item.status === 'completed') { + const exists = await fs.pathExists(item.download_path); + if (exists) { + const files = await fs.readdir(item.download_path); + const imageFiles = files.filter(file => + /\.(jpg|jpeg|png|gif|webp)$/i.test(file) + ); + if (imageFiles.length > 0) { + downloadedIds.add(item.artwork_id); + } + } + } + } + + return Array.from(downloadedIds); + } catch (error) { + console.error('获取已下载作品ID列表失败:', error); + return []; + } + } + + /** + * 获取目录大小 + */ + async getDirectorySize(dirPath) { + try { + const files = await fs.readdir(dirPath); + let totalSize = 0; + + for (const file of files) { + const filePath = path.join(dirPath, file); + const stat = await fs.stat(filePath); + if (stat.isFile()) { + totalSize += stat.size; + } + } + + return totalSize; + } catch (error) { + return 0; + } + } + + /** + * 删除下载的文件 + */ + async deleteDownloadedFiles(artist, artwork) { + try { + const targetPath = path.join(this.downloadPath, artist, artwork); + if (await fs.pathExists(targetPath)) { + await fs.remove(targetPath); + + // 从历史记录中移除 + this.history = this.history.filter(item => + !(item.artist_name === artist && item.artwork_title === artwork) + ); + await this.saveHistory(); + + return { success: true }; + } + return { success: false, error: '文件不存在' }; + } catch (error) { + return { success: false, error: error.message }; + } + } + + /** + * 取消下载任务 + */ + async cancelTask(taskId) { + const task = this.tasks.get(taskId); + if (!task) { + return { success: false, error: '任务不存在' }; + } + + if (task.status === 'completed' || task.status === 'failed') { + return { success: false, error: '任务已完成,无法取消' }; + } + + task.status = 'cancelled'; + task.end_time = new Date(); + await this.saveTasks(); + + return { success: true }; + } + /** * 下载单个作品 */ async downloadArtwork(artworkId, options = {}) { const taskId = uuidv4(); - const { size = 'original', quality = 'high', format = 'auto' } = options; + const { size = 'original', quality = 'high', format = 'auto', skipExisting = true } = options; try { + // 检查是否已下载 + if (skipExisting && await this.isArtworkDownloaded(artworkId)) { + console.log(`作品 ${artworkId} 已存在,跳过下载`); + return { + success: true, + data: { + task_id: taskId, + artwork_id: artworkId, + skipped: true, + message: '作品已存在,跳过下载' + } + }; + } + // 创建任务记录 - this.tasks.set(taskId, { + const task = { id: taskId, type: 'artwork', artwork_id: artworkId, @@ -49,8 +351,12 @@ class DownloadService { failed: 0, files: [], start_time: new Date(), - end_time: null - }); + end_time: null, + error: null + }; + + this.tasks.set(taskId, task); + await this.saveTasks(); // 获取作品信息 const artworkResult = await this.artworkService.getArtworkDetail(artworkId); @@ -59,8 +365,14 @@ class DownloadService { } const artwork = artworkResult.data; - const artistName = artwork.user.name.replace(/[<>:"/\\|?*]/g, '_'); - const artworkTitle = artwork.title.replace(/[<>:"/\\|?*]/g, '_'); + + // 确保作品信息完整 + if (!artwork || !artwork.user || !artwork.title) { + throw new Error('作品信息不完整'); + } + + const artistName = (artwork.user.name || 'Unknown Artist').replace(/[<>:"/\\|?*]/g, '_'); + const artworkTitle = (artwork.title || 'Untitled').replace(/[<>:"/\\|?*]/g, '_'); // 创建作品目录 const artworkDir = path.join(this.downloadPath, `${artistName}_${artworkId}`, artworkTitle); @@ -73,11 +385,14 @@ class DownloadService { } const images = imagesResult.data.images; - const task = this.tasks.get(taskId); task.total = images.length; // 下载所有图片 const downloadPromises = images.map(async (image, index) => { + if (task.status === 'cancelled') { + return { success: false, error: '任务已取消' }; + } + try { const imageUrl = image[size] || image.original; const fileExt = this.getFileExtension(imageUrl); @@ -91,9 +406,11 @@ class DownloadService { task.files.push({ path: filePath, url: imageUrl, - size: size + size: size, + filename: fileName }); + await this.saveTasks(); return { success: true, file: fileName }; } catch (error) { task.failed++; @@ -111,6 +428,33 @@ class DownloadService { // 更新任务状态 task.status = task.failed === 0 ? 'completed' : 'partial'; task.end_time = new Date(); + await this.saveTasks(); + + // 添加到历史记录 + const historyItem = { + id: taskId, + type: 'artwork', + artwork_id: artworkId, + artist_name: artistName, + artwork_title: artworkTitle, + download_path: artworkDir, + total_files: task.total, + completed_files: task.completed, + failed_files: task.failed, + files: task.files, + start_time: task.start_time, + end_time: task.end_time, + status: task.status + }; + + this.history.unshift(historyItem); + await this.saveHistory(); + + console.log('下载完成,历史记录已保存:', { + taskId, + historyLength: this.history.length, + tasksCount: this.tasks.size + }); return { success: true, @@ -131,7 +475,9 @@ class DownloadService { const task = this.tasks.get(taskId); if (task) { task.status = 'failed'; + task.error = error.message; task.end_time = new Date(); + await this.saveTasks(); } return { @@ -141,38 +487,112 @@ class DownloadService { } } + /** + * 下载文件 + */ + async downloadFile(url, filePath) { + const response = await axios({ + method: 'GET', + url: url, + responseType: 'stream', + headers: { + 'Referer': 'https://www.pixiv.net/', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' + }, + timeout: 30000 + }); + + const writer = fs.createWriteStream(filePath); + response.data.pipe(writer); + + return new Promise((resolve, reject) => { + writer.on('finish', resolve); + writer.on('error', reject); + }); + } + + /** + * 获取文件扩展名 + */ + getFileExtension(url) { + const match = url.match(/\.([a-zA-Z0-9]+)(\?|$)/); + return match ? `.${match[1]}` : '.jpg'; + } + /** * 批量下载作品 */ async downloadMultipleArtworks(artworkIds, options = {}) { const taskId = uuidv4(); - const { concurrent = 3, size = 'original', quality = 'high', format = 'auto' } = options; + const { concurrent = 3, size = 'original', quality = 'high', format = 'auto', skipExisting = true } = options; try { + // 检查重复下载 + let filteredIds = artworkIds; + let skippedCount = 0; + + if (skipExisting) { + const downloadedIds = await this.getDownloadedArtworkIds(); + const downloadedSet = new Set(downloadedIds); + + filteredIds = artworkIds.filter(id => !downloadedSet.has(id)); + skippedCount = artworkIds.length - filteredIds.length; + + console.log(`批量下载: 总共 ${artworkIds.length} 个作品,跳过 ${skippedCount} 个已下载的作品,需要下载 ${filteredIds.length} 个作品`); + } + // 创建任务记录 - this.tasks.set(taskId, { + const task = { id: taskId, type: 'batch', artwork_ids: artworkIds, + filtered_ids: filteredIds, status: 'downloading', progress: 0, - total: artworkIds.length, + total: filteredIds.length, completed: 0, failed: 0, + skipped: skippedCount, results: [], start_time: new Date(), - end_time: null - }); + end_time: null, + error: null + }; + + this.tasks.set(taskId, task); + await this.saveTasks(); - const task = this.tasks.get(taskId); const results = []; + // 如果没有需要下载的作品,直接返回 + if (filteredIds.length === 0) { + task.status = 'completed'; + task.end_time = new Date(); + await this.saveTasks(); + + return { + success: true, + data: { + task_id: taskId, + total_artworks: artworkIds.length, + completed_artworks: 0, + failed_artworks: 0, + skipped_artworks: skippedCount, + message: '所有作品都已下载完成' + } + }; + } + // 分批下载 - for (let i = 0; i < artworkIds.length; i += concurrent) { - const batch = artworkIds.slice(i, i + concurrent); + for (let i = 0; i < filteredIds.length; i += concurrent) { + if (task.status === 'cancelled') { + break; + } + + const batch = filteredIds.slice(i, i + concurrent); const batchPromises = batch.map(async (artworkId) => { try { - const result = await this.downloadArtwork(artworkId, { size, quality, format }); + const result = await this.downloadArtwork(artworkId, { size, quality, format, skipExisting: false }); task.completed++; results.push({ artwork_id: artworkId, ...result }); return result; @@ -185,12 +605,19 @@ class DownloadService { await Promise.all(batchPromises); task.progress = Math.round((task.completed / task.total) * 100); + await this.saveTasks(); + + // 添加延迟避免请求过于频繁 + if (i + concurrent < filteredIds.length) { + await new Promise(resolve => setTimeout(resolve, 1000)); + } } // 更新任务状态 task.status = task.failed === 0 ? 'completed' : 'partial'; task.end_time = new Date(); task.results = results; + await this.saveTasks(); return { success: true, @@ -207,7 +634,9 @@ class DownloadService { const task = this.tasks.get(taskId); if (task) { task.status = 'failed'; + task.error = error.message; task.end_time = new Date(); + await this.saveTasks(); } return { @@ -222,91 +651,159 @@ class DownloadService { */ async downloadArtistArtworks(artistId, options = {}) { const taskId = uuidv4(); - const { - type = 'art', - filter = 'for_ios', - size = 'original', - quality = 'high', + const { + type = 'art', + limit = 50, + size = 'original', + quality = 'high', format = 'auto', - limit = 50, - concurrent = 3 + skipExisting = true, + maxConcurrent = 3, + pageSize = 30 } = options; - + try { - // 获取作者信息 - const artistResult = await this.artistService.getArtistInfo(artistId); - if (!artistResult.success) { - throw new Error(`获取作者信息失败: ${artistResult.error}`); - } - - const artist = artistResult.data; - const artistName = artist.name.replace(/[<>:"/\\|?*]/g, '_'); - - // 获取作者作品列表 - const artworksResult = await this.artistService.getArtistArtworks(artistId, { - type, - filter, - limit - }); - - if (!artworksResult.success) { - throw new Error(`获取作者作品列表失败: ${artworksResult.error}`); - } - - const artworks = artworksResult.data.artworks; - const artworkIds = artworks.map(artwork => artwork.id); - // 创建任务记录 - this.tasks.set(taskId, { + const task = { id: taskId, type: 'artist', artist_id: artistId, - artist_name: artistName, status: 'downloading', progress: 0, - total: artworkIds.length, + total: 0, completed: 0, failed: 0, + skipped: 0, results: [], start_time: new Date(), - end_time: null - }); + end_time: null, + error: null + }; + + this.tasks.set(taskId, task); + await this.saveTasks(); - // 批量下载作品 - const batchResult = await this.downloadMultipleArtworks(artworkIds, { - concurrent, - size, - quality, - format - }); + // 获取已下载的作品ID + const downloadedIds = skipExisting ? await this.getDownloadedArtworkIds() : []; + const downloadedSet = new Set(downloadedIds); - if (batchResult.success) { - const task = this.tasks.get(taskId); - task.status = batchResult.data.failed_artworks === 0 ? 'completed' : 'partial'; + // 分页获取作者作品列表 + let allArtworks = []; + let offset = 0; + let hasMore = true; + + while (hasMore && allArtworks.length < limit) { + const artworksResult = await this.artistService.getArtistArtworks(artistId, { + type, + offset: offset, + limit: Math.min(pageSize, limit - allArtworks.length) + }); + + if (!artworksResult.success) { + throw new Error(`获取作者作品失败: ${artworksResult.error}`); + } + + const artworks = artworksResult.data.artworks; + if (artworks.length === 0) { + hasMore = false; + } else { + allArtworks.push(...artworks); + offset += artworks.length; + + // 添加延迟避免请求过于频繁 + await new Promise(resolve => setTimeout(resolve, 500)); + } + } + + // 过滤已下载的作品 + const newArtworks = skipExisting + ? allArtworks.filter(artwork => !downloadedSet.has(artwork.id)) + : allArtworks; + + const skippedCount = allArtworks.length - newArtworks.length; + task.skipped = skippedCount; + task.total = newArtworks.length; + await this.saveTasks(); + + console.log(`作者作品下载: 总共 ${allArtworks.length} 个作品,跳过 ${skippedCount} 个已下载的作品,需要下载 ${newArtworks.length} 个作品`); + + // 如果没有需要下载的作品,直接返回 + if (newArtworks.length === 0) { + task.status = 'completed'; task.end_time = new Date(); - task.results = batchResult.data.results; - + await this.saveTasks(); + return { success: true, data: { task_id: taskId, artist_id: artistId, - artist_name: artistName, - total_artworks: batchResult.data.total_artworks, - completed_artworks: batchResult.data.completed_artworks, - failed_artworks: batchResult.data.failed_artworks, - results: batchResult.data.results + total_artworks: allArtworks.length, + completed_artworks: 0, + failed_artworks: 0, + skipped_artworks: skippedCount, + message: '所有作品都已下载完成' } }; - } else { - throw new Error(batchResult.error); } + const results = []; + + // 分批下载作品 + for (let i = 0; i < newArtworks.length; i += maxConcurrent) { + if (task.status === 'cancelled') { + break; + } + + const batch = newArtworks.slice(i, i + maxConcurrent); + const batchPromises = batch.map(async (artwork) => { + try { + const result = await this.downloadArtwork(artwork.id, { size, quality, format, skipExisting: false }); + task.completed++; + results.push({ artwork_id: artwork.id, ...result }); + return result; + } catch (error) { + task.failed++; + results.push({ artwork_id: artwork.id, success: false, error: error.message }); + return { success: false, error: error.message }; + } + }); + + await Promise.all(batchPromises); + task.progress = Math.round((task.completed / task.total) * 100); + await this.saveTasks(); + + // 添加延迟避免请求过于频繁 + if (i + maxConcurrent < newArtworks.length) { + await new Promise(resolve => setTimeout(resolve, 1000)); + } + } + + // 更新任务状态 + task.status = task.failed === 0 ? 'completed' : 'partial'; + task.end_time = new Date(); + task.results = results; + await this.saveTasks(); + + return { + success: true, + data: { + task_id: taskId, + artist_id: artistId, + total_artworks: task.total, + completed_artworks: task.completed, + failed_artworks: task.failed, + results: results + } + }; + } catch (error) { const task = this.tasks.get(taskId); if (task) { task.status = 'failed'; + task.error = error.message; task.end_time = new Date(); + await this.saveTasks(); } return { @@ -315,130 +812,6 @@ class DownloadService { }; } } - - /** - * 获取下载进度 - */ - async getDownloadProgress(taskId) { - const task = this.tasks.get(taskId); - - if (!task) { - return { - success: false, - error: 'Task not found' - }; - } - - return { - success: true, - data: { - id: task.id, - type: task.type, - status: task.status, - progress: task.progress, - total: task.total, - completed: task.completed, - failed: task.failed, - start_time: task.start_time, - end_time: task.end_time, - files: task.files || [], - results: task.results || [] - } - }; - } - - /** - * 取消下载任务 - */ - async cancelDownload(taskId) { - const task = this.tasks.get(taskId); - - if (!task) { - return { - success: false, - error: 'Task not found' - }; - } - - if (task.status === 'completed' || task.status === 'failed') { - return { - success: false, - error: 'Task already finished' - }; - } - - task.status = 'cancelled'; - task.end_time = new Date(); - - return { - success: true, - message: 'Download task cancelled successfully' - }; - } - - /** - * 获取下载历史 - */ - async getDownloadHistory(options = {}) { - const { offset = 0, limit = 20 } = options; - - try { - const tasks = Array.from(this.tasks.values()) - .filter(task => task.status === 'completed' || task.status === 'partial') - .sort((a, b) => b.end_time - a.end_time) - .slice(offset, offset + limit); - - return { - success: true, - data: { - tasks: tasks, - total: this.tasks.size, - offset, - limit - } - }; - - } catch (error) { - return { - success: false, - error: error.message - }; - } - } - - /** - * 下载单个文件 - */ - async downloadFile(url, filePath) { - const headers = { - 'Referer': 'https://app-api.pixiv.net/', - 'User-Agent': 'PixivAndroidApp/5.0.234 (Android 9.0; Pixel 3)' - }; - - const response = await axios({ - method: 'GET', - url: url, - headers, - responseType: 'stream', - timeout: 60000 - }); - - const writer = fs.createWriteStream(filePath); - response.data.pipe(writer); - - return new Promise((resolve, reject) => { - writer.on('finish', resolve); - writer.on('error', reject); - }); - } - - /** - * 获取文件扩展名 - */ - getFileExtension(url) { - const match = url.match(/\.([a-zA-Z0-9]+)(?:\?|$)/); - return match ? `.${match[1]}` : '.jpg'; - } } module.exports = DownloadService; \ No newline at end of file diff --git a/data/download_history.json b/data/download_history.json new file mode 100644 index 0000000..168dc4c --- /dev/null +++ b/data/download_history.json @@ -0,0 +1,1252 @@ +[ + { + "id": "24524eff-75d9-4f46-b545-be7b53cfe1a5", + "type": "artwork", + "artwork_id": 129814645, + "artist_name": "眞白花铃", + "artwork_title": "白霜月", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129814645\\白霜月", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129814645\\白霜月\\白霜月_129814645_1.png", + "url": "https://i.pximg.net/img-original/img/2025/04/29/01/09/14/129814645_p0.png", + "size": "original", + "filename": "白霜月_129814645_1.png" + } + ], + "start_time": "2025-08-21T03:30:26.176Z", + "end_time": "2025-08-21T03:30:29.326Z", + "status": "completed" + }, + { + "id": "cd59072a-ec15-4981-aed2-72270a9a0355", + "type": "artwork", + "artwork_id": 129855484, + "artist_name": "眞白花铃", + "artwork_title": "该起床了哦~", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855484\\该起床了哦~", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855484\\该起床了哦~\\该起床了哦~_129855484_1.png", + "url": "https://i.pximg.net/img-original/img/2025/04/30/02/31/20/129855484_p0.png", + "size": "original", + "filename": "该起床了哦~_129855484_1.png" + } + ], + "start_time": "2025-08-21T03:30:26.175Z", + "end_time": "2025-08-21T03:30:29.252Z", + "status": "completed" + }, + { + "id": "107b0f47-db0d-4905-8ef6-9a114074c630", + "type": "artwork", + "artwork_id": 129855387, + "artist_name": "眞白花铃", + "artwork_title": "学习", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855387\\学习", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855387\\学习\\学习_129855387_1.png", + "url": "https://i.pximg.net/img-original/img/2025/04/30/02/26/34/129855387_p0.png", + "size": "original", + "filename": "学习_129855387_1.png" + } + ], + "start_time": "2025-08-21T03:30:26.176Z", + "end_time": "2025-08-21T03:30:29.231Z", + "status": "completed" + }, + { + "id": "b383912b-7e4c-4329-af24-61591f21e9fe", + "type": "artwork", + "artwork_id": 130001502, + "artist_name": "眞白花铃", + "artwork_title": "不可以涩涩", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001502\\不可以涩涩", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001502\\不可以涩涩\\不可以涩涩_130001502_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/04/00/24/31/130001502_p0.png", + "size": "original", + "filename": "不可以涩涩_130001502_1.png" + } + ], + "start_time": "2025-08-21T03:30:22.471Z", + "end_time": "2025-08-21T03:30:25.161Z", + "status": "completed" + }, + { + "id": "9b08d004-3394-4f3c-bb65-78e84a85936a", + "type": "artwork", + "artwork_id": 129855584, + "artist_name": "眞白花铃", + "artwork_title": "抱抱!", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855584\\抱抱!", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855584\\抱抱!\\抱抱!_129855584_1.png", + "url": "https://i.pximg.net/img-original/img/2025/04/30/02/36/32/129855584_p0.png", + "size": "original", + "filename": "抱抱!_129855584_1.png" + } + ], + "start_time": "2025-08-21T03:30:22.472Z", + "end_time": "2025-08-21T03:30:25.033Z", + "status": "completed" + }, + { + "id": "044ed279-0d70-40d3-8a0a-1203db3501b7", + "type": "artwork", + "artwork_id": 130001280, + "artist_name": "眞白花铃", + "artwork_title": "呜嗷!", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001280\\呜嗷!", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001280\\呜嗷!\\呜嗷!_130001280_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/04/00/19/38/130001280_p0.png", + "size": "original", + "filename": "呜嗷!_130001280_1.png" + } + ], + "start_time": "2025-08-21T03:30:22.471Z", + "end_time": "2025-08-21T03:30:24.990Z", + "status": "completed" + }, + { + "id": "2573a344-d7f2-46a2-b50a-8b4a55a118c9", + "type": "artwork", + "artwork_id": 130229676, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130229676\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130229676\\希露莉依\\希露莉依_130229676_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/10/01/29/25/130229676_p0.png", + "size": "original", + "filename": "希露莉依_130229676_1.png" + } + ], + "start_time": "2025-08-21T03:30:18.464Z", + "end_time": "2025-08-21T03:30:21.467Z", + "status": "completed" + }, + { + "id": "765717ba-e106-4759-8c5e-99aff7d758d0", + "type": "artwork", + "artwork_id": 130001890, + "artist_name": "眞白花铃", + "artwork_title": "好像...有点小?", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001890\\好像...有点小?", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001890\\好像...有点小?\\好像...有点小?_130001890_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/04/00/33/39/130001890_p0.png", + "size": "original", + "filename": "好像...有点小?_130001890_1.png" + } + ], + "start_time": "2025-08-21T03:30:18.465Z", + "end_time": "2025-08-21T03:30:21.246Z", + "status": "completed" + }, + { + "id": "3108d84c-3ae9-47b5-bd69-816ba1dddbbf", + "type": "artwork", + "artwork_id": 130119366, + "artist_name": "眞白花铃", + "artwork_title": "诶...绷带的用法!?", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130119366\\诶...绷带的用法!?", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130119366\\诶...绷带的用法!?\\诶...绷带的用法!?_130119366_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/06/22/12/58/130119366_p0.png", + "size": "original", + "filename": "诶...绷带的用法!?_130119366_1.png" + } + ], + "start_time": "2025-08-21T03:30:18.465Z", + "end_time": "2025-08-21T03:30:20.834Z", + "status": "completed" + }, + { + "id": "18aea7f0-8e97-48f7-a879-acd2ca862cb1", + "type": "artwork", + "artwork_id": 130376009, + "artist_name": "眞白花铃", + "artwork_title": "铃兰", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130376009\\铃兰", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130376009\\铃兰\\铃兰_130376009_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/13/23/30/05/130376009_p0.png", + "size": "original", + "filename": "铃兰_130376009_1.png" + } + ], + "start_time": "2025-08-21T03:30:14.696Z", + "end_time": "2025-08-21T03:30:17.462Z", + "status": "completed" + }, + { + "id": "0a56fc58-40c4-4227-bc17-0849195f83dd", + "type": "artwork", + "artwork_id": 130230031, + "artist_name": "眞白花铃", + "artwork_title": "双马尾", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130230031\\双马尾", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130230031\\双马尾\\双马尾_130230031_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/10/01/41/16/130230031_p0.png", + "size": "original", + "filename": "双马尾_130230031_1.png" + } + ], + "start_time": "2025-08-21T03:30:14.696Z", + "end_time": "2025-08-21T03:30:17.443Z", + "status": "completed" + }, + { + "id": "a4d7e4d5-ebda-4704-8f09-48fa9b638ff0", + "type": "artwork", + "artwork_id": 130376454, + "artist_name": "眞白花铃", + "artwork_title": "怒", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130376454\\怒", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130376454\\怒\\怒_130376454_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/13/23/41/11/130376454_p0.png", + "size": "original", + "filename": "怒_130376454_1.png" + } + ], + "start_time": "2025-08-21T03:30:14.695Z", + "end_time": "2025-08-21T03:30:17.358Z", + "status": "completed" + }, + { + "id": "25262262-b048-439e-aa34-013694ea7843", + "type": "artwork", + "artwork_id": 130449939, + "artist_name": "眞白花铃", + "artwork_title": "午睡女鹅", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130449939\\午睡女鹅", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130449939\\午睡女鹅\\午睡女鹅_130449939_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/16/02/02/31/130449939_p0.png", + "size": "original", + "filename": "午睡女鹅_130449939_1.png" + } + ], + "start_time": "2025-08-21T03:30:10.258Z", + "end_time": "2025-08-21T03:30:13.682Z", + "status": "completed" + }, + { + "id": "b3ce42e3-f568-458a-a3a8-46d8eac8e6d3", + "type": "artwork", + "artwork_id": 130450167, + "artist_name": "眞白花铃", + "artwork_title": "香风智乃", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130450167\\香风智乃", + "total_files": 2, + "completed_files": 2, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130450167\\香风智乃\\香风智乃_130450167_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/16/02/14/39/130450167_p0.png", + "size": "original", + "filename": "香风智乃_130450167_1.png" + }, + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130450167\\香风智乃\\香风智乃_130450167_2.png", + "url": "https://i.pximg.net/img-original/img/2025/05/16/02/14/39/130450167_p1.png", + "size": "original", + "filename": "香风智乃_130450167_2.png" + } + ], + "start_time": "2025-08-21T03:30:10.258Z", + "end_time": "2025-08-21T03:30:13.671Z", + "status": "completed" + }, + { + "id": "1e33f1be-113d-4878-aac2-7bb29f7be32d", + "type": "artwork", + "artwork_id": 130524823, + "artist_name": "眞白花铃", + "artwork_title": "小哭包", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130524823\\小哭包", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130524823\\小哭包\\小哭包_130524823_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/18/01/58/36/130524823_p0.png", + "size": "original", + "filename": "小哭包_130524823_1.png" + } + ], + "start_time": "2025-08-21T03:30:10.257Z", + "end_time": "2025-08-21T03:30:13.334Z", + "status": "completed" + }, + { + "id": "92240c86-87a8-4175-8c38-f591b4096f52", + "type": "artwork", + "artwork_id": 130634539, + "artist_name": "眞白花铃", + "artwork_title": "5.20快乐呀", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130634539\\5.20快乐呀", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130634539\\5.20快乐呀\\5.20快乐呀_130634539_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/21/01/04/39/130634539_p0.png", + "size": "original", + "filename": "5.20快乐呀_130634539_1.png" + } + ], + "start_time": "2025-08-21T03:30:05.720Z", + "end_time": "2025-08-21T03:30:09.253Z", + "status": "completed" + }, + { + "id": "3e4264f3-f2ce-4610-8dae-a7ff75433e98", + "type": "artwork", + "artwork_id": 130635160, + "artist_name": "眞白花铃", + "artwork_title": "???", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130635160\\???", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130635160\\???\\???_130635160_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/21/01/26/05/130635160_p0.png", + "size": "original", + "filename": "???_130635160_1.png" + } + ], + "start_time": "2025-08-21T03:30:05.719Z", + "end_time": "2025-08-21T03:30:08.489Z", + "status": "completed" + }, + { + "id": "eb675b55-350c-4a8c-b170-768caef6a246", + "type": "artwork", + "artwork_id": 130525185, + "artist_name": "眞白花铃", + "artwork_title": "圣娅", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130525185\\圣娅", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130525185\\圣娅\\圣娅_130525185_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/18/02/10/27/130525185_p0.png", + "size": "original", + "filename": "圣娅_130525185_1.png" + } + ], + "start_time": "2025-08-21T03:30:05.720Z", + "end_time": "2025-08-21T03:30:08.227Z", + "status": "completed" + }, + { + "id": "cd1bda19-7264-42ad-be57-9bfb24ec15bc", + "type": "artwork", + "artwork_id": 130993853, + "artist_name": "眞白花铃", + "artwork_title": "端午节安康", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130993853\\端午节安康", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130993853\\端午节安康\\端午节安康_130993853_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/31/01/42/16/130993853_p0.png", + "size": "original", + "filename": "端午节安康_130993853_1.png" + } + ], + "start_time": "2025-08-21T03:30:01.708Z", + "end_time": "2025-08-21T03:30:04.712Z", + "status": "completed" + }, + { + "id": "84aca54e-01d6-4732-8cb2-ed2e828c3e26", + "type": "artwork", + "artwork_id": 130770534, + "artist_name": "眞白花铃", + "artwork_title": "沐浴女鹅", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130770534\\沐浴女鹅", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130770534\\沐浴女鹅\\沐浴女鹅_130770534_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/24/23/32/22/130770534_p0.png", + "size": "original", + "filename": "沐浴女鹅_130770534_1.png" + } + ], + "start_time": "2025-08-21T03:30:01.708Z", + "end_time": "2025-08-21T03:30:04.693Z", + "status": "completed" + }, + { + "id": "21e8074e-4cf5-4c16-8c7d-05d90ad10963", + "type": "artwork", + "artwork_id": 130994042, + "artist_name": "眞白花铃", + "artwork_title": "女鹅", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130994042\\女鹅", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130994042\\女鹅\\女鹅_130994042_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/31/01/49/39/130994042_p0.png", + "size": "original", + "filename": "女鹅_130994042_1.png" + } + ], + "start_time": "2025-08-21T03:30:01.708Z", + "end_time": "2025-08-21T03:30:04.693Z", + "status": "completed" + }, + { + "id": "013cb089-e31a-44e1-837d-1bf5740e83ec", + "type": "artwork", + "artwork_id": 131216888, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131216888\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131216888\\希露莉依\\希露莉依_131216888_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/05/23/01/36/131216888_p0.png", + "size": "original", + "filename": "希露莉依_131216888_1.png" + } + ], + "start_time": "2025-08-21T03:29:57.631Z", + "end_time": "2025-08-21T03:30:00.701Z", + "status": "completed" + }, + { + "id": "ca370acc-bb75-49a8-8f56-dce8172cffce", + "type": "artwork", + "artwork_id": 131108629, + "artist_name": "眞白花铃", + "artwork_title": "自拍", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131108629\\自拍", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131108629\\自拍\\自拍_131108629_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/02/22/03/47/131108629_p0.png", + "size": "original", + "filename": "自拍_131108629_1.png" + } + ], + "start_time": "2025-08-21T03:29:57.632Z", + "end_time": "2025-08-21T03:30:00.409Z", + "status": "completed" + }, + { + "id": "bd4be1d8-f537-4d97-a085-60811c1a73c5", + "type": "artwork", + "artwork_id": 131109180, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131109180\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131109180\\希露莉依\\希露莉依_131109180_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/02/22/15/58/131109180_p0.png", + "size": "original", + "filename": "希露莉依_131109180_1.png" + } + ], + "start_time": "2025-08-21T03:29:57.631Z", + "end_time": "2025-08-21T03:30:00.000Z", + "status": "completed" + }, + { + "id": "37bb3675-8f00-4d3a-a308-a4d0ce03ae9e", + "type": "artwork", + "artwork_id": 131374934, + "artist_name": "眞白花铃", + "artwork_title": "莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131374934\\莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131374934\\莉依\\莉依_131374934_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/09/22/35/27/131374934_p0.png", + "size": "original", + "filename": "莉依_131374934_1.png" + } + ], + "start_time": "2025-08-21T03:29:53.456Z", + "end_time": "2025-08-21T03:29:56.624Z", + "status": "completed" + }, + { + "id": "b6a279b8-3571-4652-81de-3429798deb2f", + "type": "artwork", + "artwork_id": 131643276, + "artist_name": "眞白花铃", + "artwork_title": "吃蛋糕", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131643276\\吃蛋糕", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131643276\\吃蛋糕\\吃蛋糕_131643276_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/16/23/06/36/131643276_p0.png", + "size": "original", + "filename": "吃蛋糕_131643276_1.png" + } + ], + "start_time": "2025-08-21T03:29:53.455Z", + "end_time": "2025-08-21T03:29:56.562Z", + "status": "completed" + }, + { + "id": "2144a594-6652-4144-bb4c-8e3af72f6dbc", + "type": "artwork", + "artwork_id": 131217203, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131217203\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131217203\\希露莉依\\希露莉依_131217203_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/05/23/09/57/131217203_p0.png", + "size": "original", + "filename": "希露莉依_131217203_1.png" + } + ], + "start_time": "2025-08-21T03:29:53.456Z", + "end_time": "2025-08-21T03:29:55.852Z", + "status": "completed" + }, + { + "id": "950c89bb-9f78-4283-b00b-01ed7438b543", + "type": "artwork", + "artwork_id": 131895997, + "artist_name": "眞白花铃", + "artwork_title": "秘密", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131895997\\秘密", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131895997\\秘密\\秘密_131895997_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/23/21/03/05/131895997_p0.png", + "size": "original", + "filename": "秘密_131895997_1.png" + } + ], + "start_time": "2025-08-21T03:29:48.958Z", + "end_time": "2025-08-21T03:29:52.443Z", + "status": "completed" + }, + { + "id": "0d941fc4-8d0c-40c3-8d48-f4bfa613cc36", + "type": "artwork", + "artwork_id": 131896137, + "artist_name": "眞白花铃", + "artwork_title": "铃兰", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131896137\\铃兰", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131896137\\铃兰\\铃兰_131896137_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/23/21/06/41/131896137_p0.png", + "size": "original", + "filename": "铃兰_131896137_1.png" + } + ], + "start_time": "2025-08-21T03:29:48.958Z", + "end_time": "2025-08-21T03:29:52.205Z", + "status": "completed" + }, + { + "id": "3f8d84ea-9109-4d78-a8ba-69a0dd2375ae", + "type": "artwork", + "artwork_id": 132041376, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132041376\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132041376\\希露莉依\\希露莉依_132041376_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/27/22/48/48/132041376_p0.png", + "size": "original", + "filename": "希露莉依_132041376_1.png" + } + ], + "start_time": "2025-08-21T03:29:48.957Z", + "end_time": "2025-08-21T03:29:51.849Z", + "status": "completed" + }, + { + "id": "748f3775-6cf3-4450-9972-5bfbcf94c735", + "type": "artwork", + "artwork_id": 132042549, + "artist_name": "眞白花铃", + "artwork_title": "蛋包饭", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132042549\\蛋包饭", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132042549\\蛋包饭\\蛋包饭_132042549_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/27/23/15/10/132042549_p0.png", + "size": "original", + "filename": "蛋包饭_132042549_1.png" + } + ], + "start_time": "2025-08-21T03:29:45.241Z", + "end_time": "2025-08-21T03:29:47.941Z", + "status": "completed" + }, + { + "id": "c7f529a1-2328-4e2e-abe5-ee0965d9a351", + "type": "artwork", + "artwork_id": 132356203, + "artist_name": "眞白花铃", + "artwork_title": "M字腿", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132356203\\M字腿", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132356203\\M字腿\\M字腿_132356203_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/06/01/12/08/132356203_p0.png", + "size": "original", + "filename": "M字腿_132356203_1.png" + } + ], + "start_time": "2025-08-21T03:29:45.241Z", + "end_time": "2025-08-21T03:29:47.883Z", + "status": "completed" + }, + { + "id": "aca486b9-29e8-442f-b7e5-42094663676f", + "type": "artwork", + "artwork_id": 132356494, + "artist_name": "眞白花铃", + "artwork_title": "白色胖次", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132356494\\白色胖次", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132356494\\白色胖次\\白色胖次_132356494_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/06/01/21/45/132356494_p0.png", + "size": "original", + "filename": "白色胖次_132356494_1.png" + } + ], + "start_time": "2025-08-21T03:29:45.241Z", + "end_time": "2025-08-21T03:29:47.747Z", + "status": "completed" + }, + { + "id": "6194a507-6339-4f4b-ac77-3654ec34633a", + "type": "artwork", + "artwork_id": 132465282, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132465282\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132465282\\希露莉依\\希露莉依_132465282_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/08/20/33/16/132465282_p0.png", + "size": "original", + "filename": "希露莉依_132465282_1.png" + } + ], + "start_time": "2025-08-21T03:29:39.941Z", + "end_time": "2025-08-21T03:29:44.231Z", + "status": "completed" + }, + { + "id": "fca4411b-5e8f-418d-bf42-0e0c60e3340c", + "type": "artwork", + "artwork_id": 132464583, + "artist_name": "眞白花铃", + "artwork_title": "龙华妃咲", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132464583\\龙华妃咲", + "total_files": 2, + "completed_files": 2, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132464583\\龙华妃咲\\龙华妃咲_132464583_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/08/20/15/42/132464583_p0.png", + "size": "original", + "filename": "龙华妃咲_132464583_1.png" + }, + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132464583\\龙华妃咲\\龙华妃咲_132464583_2.png", + "url": "https://i.pximg.net/img-original/img/2025/07/08/20/15/42/132464583_p1.png", + "size": "original", + "filename": "龙华妃咲_132464583_2.png" + } + ], + "start_time": "2025-08-21T03:29:39.941Z", + "end_time": "2025-08-21T03:29:43.837Z", + "status": "completed" + }, + { + "id": "bfeb10b1-9435-452d-8317-ccb369b1b16e", + "type": "artwork", + "artwork_id": 132581015, + "artist_name": "眞白花铃", + "artwork_title": "铃兰", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132581015\\铃兰", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132581015\\铃兰\\铃兰_132581015_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/11/22/51/04/132581015_p0.png", + "size": "original", + "filename": "铃兰_132581015_1.png" + } + ], + "start_time": "2025-08-21T03:29:39.940Z", + "end_time": "2025-08-21T03:29:43.353Z", + "status": "completed" + }, + { + "id": "b83d2ab3-1aa8-4c1e-aa94-7bfd85c57056", + "type": "artwork", + "artwork_id": 132706936, + "artist_name": "眞白花铃", + "artwork_title": "丹花 イブキ", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132706936\\丹花 イブキ", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132706936\\丹花 イブキ\\丹花 イブキ_132706936_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/15/00/44/25/132706936_p0.png", + "size": "original", + "filename": "丹花 イブキ_132706936_1.png" + } + ], + "start_time": "2025-08-21T03:29:34.656Z", + "end_time": "2025-08-21T03:29:38.939Z", + "status": "completed" + }, + { + "id": "ae4a6fb2-dda4-460b-b814-e995c7a924f9", + "type": "artwork", + "artwork_id": 132581342, + "artist_name": "眞白花铃", + "artwork_title": "玩游戏", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132581342\\玩游戏", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132581342\\玩游戏\\玩游戏_132581342_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/11/22/59/01/132581342_p0.png", + "size": "original", + "filename": "玩游戏_132581342_1.png" + } + ], + "start_time": "2025-08-21T03:29:34.656Z", + "end_time": "2025-08-21T03:29:38.769Z", + "status": "completed" + }, + { + "id": "d15f0bf0-9ba0-4e72-8143-1f88bdc1e82e", + "type": "artwork", + "artwork_id": 132706472, + "artist_name": "眞白花铃", + "artwork_title": "诱惑", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132706472\\诱惑", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132706472\\诱惑\\诱惑_132706472_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/15/00/31/07/132706472_p0.png", + "size": "original", + "filename": "诱惑_132706472_1.png" + } + ], + "start_time": "2025-08-21T03:29:34.656Z", + "end_time": "2025-08-21T03:29:38.527Z", + "status": "completed" + }, + { + "id": "1a4c01b5-8611-46bb-a063-7af4991b214f", + "type": "artwork", + "artwork_id": 132815484, + "artist_name": "眞白花铃", + "artwork_title": "Plana", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815484\\Plana", + "total_files": 2, + "completed_files": 2, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815484\\Plana\\Plana_132815484_2.png", + "url": "https://i.pximg.net/img-original/img/2025/07/18/02/30/18/132815484_p1.png", + "size": "original", + "filename": "Plana_132815484_2.png" + }, + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815484\\Plana\\Plana_132815484_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/18/02/30/18/132815484_p0.png", + "size": "original", + "filename": "Plana_132815484_1.png" + } + ], + "start_time": "2025-08-21T03:29:28.362Z", + "end_time": "2025-08-21T03:29:33.644Z", + "status": "completed" + }, + { + "id": "fb2da6c3-cfe2-4b22-97cc-f55ecd9feadf", + "type": "artwork", + "artwork_id": 132729428, + "artist_name": "眞白花铃", + "artwork_title": "举牌", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132729428\\举牌", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132729428\\举牌\\举牌_132729428_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/15/19/52/26/132729428_p0.png", + "size": "original", + "filename": "举牌_132729428_1.png" + } + ], + "start_time": "2025-08-21T03:29:28.362Z", + "end_time": "2025-08-21T03:29:33.550Z", + "status": "completed" + }, + { + "id": "61597069-37c2-406d-9462-6bacf272b381", + "type": "artwork", + "artwork_id": 132815651, + "artist_name": "眞白花铃", + "artwork_title": "小鳥遊ホシノ", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815651\\小鳥遊ホシノ", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815651\\小鳥遊ホシノ\\小鳥遊ホシノ_132815651_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/18/02/40/41/132815651_p0.png", + "size": "original", + "filename": "小鳥遊ホシノ_132815651_1.png" + } + ], + "start_time": "2025-08-21T03:29:28.361Z", + "end_time": "2025-08-21T03:29:33.408Z", + "status": "completed" + }, + { + "id": "f1aac2aa-73c5-41f0-a1f8-574ee28c38c2", + "type": "artwork", + "artwork_id": 133074217, + "artist_name": "眞白花铃", + "artwork_title": "普拉娜(Plana)", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133074217\\普拉娜(Plana)", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133074217\\普拉娜(Plana)\\普拉娜(Plana)_133074217_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/24/23/54/04/133074217_p0.png", + "size": "original", + "filename": "普拉娜(Plana)_133074217_1.png" + } + ], + "start_time": "2025-08-21T03:29:22.700Z", + "end_time": "2025-08-21T03:29:27.346Z", + "status": "completed" + }, + { + "id": "6ac0c3c2-8d72-4036-94eb-03d8f7a8845c", + "type": "artwork", + "artwork_id": 133073583, + "artist_name": "眞白花铃", + "artwork_title": "诱惑", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133073583\\诱惑", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133073583\\诱惑\\诱惑_133073583_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/24/23/36/49/133073583_p0.png", + "size": "original", + "filename": "诱惑_133073583_1.png" + } + ], + "start_time": "2025-08-21T03:29:22.700Z", + "end_time": "2025-08-21T03:29:27.328Z", + "status": "completed" + }, + { + "id": "173d7a68-1370-4f18-b92b-0232583841bd", + "type": "artwork", + "artwork_id": 133343101, + "artist_name": "眞白花铃", + "artwork_title": "吃雪糕", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133343101\\吃雪糕", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133343101\\吃雪糕\\吃雪糕_133343101_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/01/02/49/50/133343101_p0.png", + "size": "original", + "filename": "吃雪糕_133343101_1.png" + } + ], + "start_time": "2025-08-21T03:29:22.700Z", + "end_time": "2025-08-21T03:29:27.305Z", + "status": "completed" + }, + { + "id": "baad4987-09ef-4635-bc03-cd4b29b39654", + "type": "artwork", + "artwork_id": 133343301, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133343301\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133343301\\希露莉依\\希露莉依_133343301_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/01/03/00/16/133343301_p0.png", + "size": "original", + "filename": "希露莉依_133343301_1.png" + } + ], + "start_time": "2025-08-21T03:29:17.123Z", + "end_time": "2025-08-21T03:29:21.685Z", + "status": "completed" + }, + { + "id": "c8e863f8-4cda-4d67-9dcd-c7ac3d41b161", + "type": "artwork", + "artwork_id": 133499816, + "artist_name": "眞白花铃", + "artwork_title": "Plana", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133499816\\Plana", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133499816\\Plana\\Plana_133499816_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/05/00/33/41/133499816_p0.png", + "size": "original", + "filename": "Plana_133499816_1.png" + } + ], + "start_time": "2025-08-21T03:29:17.123Z", + "end_time": "2025-08-21T03:29:21.674Z", + "status": "completed" + }, + { + "id": "02515f3f-eac5-4bc0-a4ec-cc482e7436bd", + "type": "artwork", + "artwork_id": 133499272, + "artist_name": "眞白花铃", + "artwork_title": "伊落マリー", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133499272\\伊落マリー", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133499272\\伊落マリー\\伊落マリー_133499272_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/05/00/20/34/133499272_p0.png", + "size": "original", + "filename": "伊落マリー_133499272_1.png" + } + ], + "start_time": "2025-08-21T03:29:17.123Z", + "end_time": "2025-08-21T03:29:21.324Z", + "status": "completed" + }, + { + "id": "5b4716e6-5608-435e-994a-177cca961917", + "type": "artwork", + "artwork_id": 133572048, + "artist_name": "眞白花铃", + "artwork_title": "海边戏水", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133572048\\海边戏水", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133572048\\海边戏水\\海边戏水_133572048_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/07/00/06/51/133572048_p0.png", + "size": "original", + "filename": "海边戏水_133572048_1.png" + } + ], + "start_time": "2025-08-21T03:29:11.458Z", + "end_time": "2025-08-21T03:29:16.117Z", + "status": "completed" + }, + { + "id": "88373389-3a6b-489c-9e93-944c2d9d96b3", + "type": "artwork", + "artwork_id": 133500260, + "artist_name": "眞白花铃", + "artwork_title": "诶!?", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133500260\\诶!?", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133500260\\诶!?\\诶!?_133500260_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/05/00/46/27/133500260_p0.png", + "size": "original", + "filename": "诶!?_133500260_1.png" + } + ], + "start_time": "2025-08-21T03:29:11.458Z", + "end_time": "2025-08-21T03:29:15.876Z", + "status": "completed" + }, + { + "id": "fc70be72-a838-4fff-82a9-5b82ade8b4b4", + "type": "artwork", + "artwork_id": 133718406, + "artist_name": "眞白花铃", + "artwork_title": "胖次", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133718406\\胖次", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133718406\\胖次\\胖次_133718406_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/10/19/49/59/133718406_p0.png", + "size": "original", + "filename": "胖次_133718406_1.png" + } + ], + "start_time": "2025-08-21T03:29:11.458Z", + "end_time": "2025-08-21T03:29:15.873Z", + "status": "completed" + }, + { + "id": "42b009b0-8800-48dd-90a4-4af79f260312", + "type": "artwork", + "artwork_id": 134137900, + "artist_name": "眞白花铃", + "artwork_title": "玩游戏", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137900\\玩游戏", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137900\\玩游戏\\玩游戏_134137900_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/21/05/05/26/134137900_p0.png", + "size": "original", + "filename": "玩游戏_134137900_1.png" + } + ], + "start_time": "2025-08-21T03:29:06.561Z", + "end_time": "2025-08-21T03:29:10.452Z", + "status": "completed" + }, + { + "id": "4e4e62b9-e5f1-4270-8841-89a1c6ef7452", + "type": "artwork", + "artwork_id": 134137692, + "artist_name": "眞白花铃", + "artwork_title": "铃兰", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137692\\铃兰", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137692\\铃兰\\铃兰_134137692_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/21/04/53/50/134137692_p0.png", + "size": "original", + "filename": "铃兰_134137692_1.png" + } + ], + "start_time": "2025-08-21T03:29:06.561Z", + "end_time": "2025-08-21T03:29:10.449Z", + "status": "completed" + }, + { + "id": "47a8d2fd-19cb-40c0-b47a-aee1452efd19", + "type": "artwork", + "artwork_id": 134137598, + "artist_name": "眞白花铃", + "artwork_title": "V", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137598\\V", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137598\\V\\V_134137598_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/21/04/46/40/134137598_p0.png", + "size": "original", + "filename": "V_134137598_1.png" + } + ], + "start_time": "2025-08-21T03:29:06.561Z", + "end_time": "2025-08-21T03:29:10.281Z", + "status": "completed" + }, + { + "id": "b5255d1e-5edf-4174-be74-cc56c9c53c2b", + "type": "artwork", + "artwork_id": 134137755, + "artist_name": "眞白花铃", + "artwork_title": "嗷呜!!!", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137755\\嗷呜!!!", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137755\\嗷呜!!!\\嗷呜!!!_134137755_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/21/04/58/08/134137755_p0.png", + "size": "original", + "filename": "嗷呜!!!_134137755_1.png" + } + ], + "start_time": "2025-08-21T03:24:35.902Z", + "end_time": "2025-08-21T03:24:38.958Z", + "status": "completed" + }, + { + "id": "b35543b2-5420-411e-9e86-2e617a183323", + "type": "artwork", + "artwork_id": 134137853, + "artist_name": "眞白花铃", + "artwork_title": "海边戏水", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137853\\海边戏水", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137853\\海边戏水\\海边戏水_134137853_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/21/05/02/03/134137853_p0.png", + "size": "original", + "filename": "海边戏水_134137853_1.png" + } + ], + "start_time": "2025-08-21T03:20:47.962Z", + "end_time": "2025-08-21T03:20:51.062Z", + "status": "completed" + } +] diff --git a/data/download_tasks.json b/data/download_tasks.json new file mode 100644 index 0000000..e4adda2 --- /dev/null +++ b/data/download_tasks.json @@ -0,0 +1,2376 @@ +{ + "4b37065e-0a63-4dc6-adb2-f3dce90d9438": { + "id": "4b37065e-0a63-4dc6-adb2-f3dce90d9438", + "type": "artist", + "artist_id": 95393254, + "status": "completed", + "progress": 100, + "total": 54, + "completed": 54, + "failed": 0, + "skipped": 2, + "results": [ + { + "artwork_id": 134137598, + "success": true, + "data": { + "task_id": "47a8d2fd-19cb-40c0-b47a-aee1452efd19", + "artwork_id": 134137598, + "artist_name": "眞白花铃", + "artwork_title": "V", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137598\\V", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137598\\V\\V_134137598_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/21/04/46/40/134137598_p0.png", + "size": "original", + "filename": "V_134137598_1.png" + } + ] + } + }, + { + "artwork_id": 134137692, + "success": true, + "data": { + "task_id": "4e4e62b9-e5f1-4270-8841-89a1c6ef7452", + "artwork_id": 134137692, + "artist_name": "眞白花铃", + "artwork_title": "铃兰", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137692\\铃兰", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137692\\铃兰\\铃兰_134137692_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/21/04/53/50/134137692_p0.png", + "size": "original", + "filename": "铃兰_134137692_1.png" + } + ] + } + }, + { + "artwork_id": 134137900, + "success": true, + "data": { + "task_id": "42b009b0-8800-48dd-90a4-4af79f260312", + "artwork_id": 134137900, + "artist_name": "眞白花铃", + "artwork_title": "玩游戏", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137900\\玩游戏", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137900\\玩游戏\\玩游戏_134137900_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/21/05/05/26/134137900_p0.png", + "size": "original", + "filename": "玩游戏_134137900_1.png" + } + ] + } + }, + { + "artwork_id": 133718406, + "success": true, + "data": { + "task_id": "fc70be72-a838-4fff-82a9-5b82ade8b4b4", + "artwork_id": 133718406, + "artist_name": "眞白花铃", + "artwork_title": "胖次", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133718406\\胖次", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133718406\\胖次\\胖次_133718406_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/10/19/49/59/133718406_p0.png", + "size": "original", + "filename": "胖次_133718406_1.png" + } + ] + } + }, + { + "artwork_id": 133500260, + "success": true, + "data": { + "task_id": "88373389-3a6b-489c-9e93-944c2d9d96b3", + "artwork_id": 133500260, + "artist_name": "眞白花铃", + "artwork_title": "诶!?", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133500260\\诶!?", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133500260\\诶!?\\诶!?_133500260_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/05/00/46/27/133500260_p0.png", + "size": "original", + "filename": "诶!?_133500260_1.png" + } + ] + } + }, + { + "artwork_id": 133572048, + "success": true, + "data": { + "task_id": "5b4716e6-5608-435e-994a-177cca961917", + "artwork_id": 133572048, + "artist_name": "眞白花铃", + "artwork_title": "海边戏水", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133572048\\海边戏水", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133572048\\海边戏水\\海边戏水_133572048_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/07/00/06/51/133572048_p0.png", + "size": "original", + "filename": "海边戏水_133572048_1.png" + } + ] + } + }, + { + "artwork_id": 133499272, + "success": true, + "data": { + "task_id": "02515f3f-eac5-4bc0-a4ec-cc482e7436bd", + "artwork_id": 133499272, + "artist_name": "眞白花铃", + "artwork_title": "伊落マリー", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133499272\\伊落マリー", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133499272\\伊落マリー\\伊落マリー_133499272_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/05/00/20/34/133499272_p0.png", + "size": "original", + "filename": "伊落マリー_133499272_1.png" + } + ] + } + }, + { + "artwork_id": 133499816, + "success": true, + "data": { + "task_id": "c8e863f8-4cda-4d67-9dcd-c7ac3d41b161", + "artwork_id": 133499816, + "artist_name": "眞白花铃", + "artwork_title": "Plana", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133499816\\Plana", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133499816\\Plana\\Plana_133499816_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/05/00/33/41/133499816_p0.png", + "size": "original", + "filename": "Plana_133499816_1.png" + } + ] + } + }, + { + "artwork_id": 133343301, + "success": true, + "data": { + "task_id": "baad4987-09ef-4635-bc03-cd4b29b39654", + "artwork_id": 133343301, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133343301\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133343301\\希露莉依\\希露莉依_133343301_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/01/03/00/16/133343301_p0.png", + "size": "original", + "filename": "希露莉依_133343301_1.png" + } + ] + } + }, + { + "artwork_id": 133343101, + "success": true, + "data": { + "task_id": "173d7a68-1370-4f18-b92b-0232583841bd", + "artwork_id": 133343101, + "artist_name": "眞白花铃", + "artwork_title": "吃雪糕", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133343101\\吃雪糕", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133343101\\吃雪糕\\吃雪糕_133343101_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/01/02/49/50/133343101_p0.png", + "size": "original", + "filename": "吃雪糕_133343101_1.png" + } + ] + } + }, + { + "artwork_id": 133073583, + "success": true, + "data": { + "task_id": "6ac0c3c2-8d72-4036-94eb-03d8f7a8845c", + "artwork_id": 133073583, + "artist_name": "眞白花铃", + "artwork_title": "诱惑", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133073583\\诱惑", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133073583\\诱惑\\诱惑_133073583_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/24/23/36/49/133073583_p0.png", + "size": "original", + "filename": "诱惑_133073583_1.png" + } + ] + } + }, + { + "artwork_id": 133074217, + "success": true, + "data": { + "task_id": "f1aac2aa-73c5-41f0-a1f8-574ee28c38c2", + "artwork_id": 133074217, + "artist_name": "眞白花铃", + "artwork_title": "普拉娜(Plana)", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133074217\\普拉娜(Plana)", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133074217\\普拉娜(Plana)\\普拉娜(Plana)_133074217_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/24/23/54/04/133074217_p0.png", + "size": "original", + "filename": "普拉娜(Plana)_133074217_1.png" + } + ] + } + }, + { + "artwork_id": 132815651, + "success": true, + "data": { + "task_id": "61597069-37c2-406d-9462-6bacf272b381", + "artwork_id": 132815651, + "artist_name": "眞白花铃", + "artwork_title": "小鳥遊ホシノ", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815651\\小鳥遊ホシノ", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815651\\小鳥遊ホシノ\\小鳥遊ホシノ_132815651_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/18/02/40/41/132815651_p0.png", + "size": "original", + "filename": "小鳥遊ホシノ_132815651_1.png" + } + ] + } + }, + { + "artwork_id": 132729428, + "success": true, + "data": { + "task_id": "fb2da6c3-cfe2-4b22-97cc-f55ecd9feadf", + "artwork_id": 132729428, + "artist_name": "眞白花铃", + "artwork_title": "举牌", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132729428\\举牌", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132729428\\举牌\\举牌_132729428_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/15/19/52/26/132729428_p0.png", + "size": "original", + "filename": "举牌_132729428_1.png" + } + ] + } + }, + { + "artwork_id": 132815484, + "success": true, + "data": { + "task_id": "1a4c01b5-8611-46bb-a063-7af4991b214f", + "artwork_id": 132815484, + "artist_name": "眞白花铃", + "artwork_title": "Plana", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815484\\Plana", + "total_files": 2, + "completed_files": 2, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815484\\Plana\\Plana_132815484_2.png", + "url": "https://i.pximg.net/img-original/img/2025/07/18/02/30/18/132815484_p1.png", + "size": "original", + "filename": "Plana_132815484_2.png" + }, + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815484\\Plana\\Plana_132815484_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/18/02/30/18/132815484_p0.png", + "size": "original", + "filename": "Plana_132815484_1.png" + } + ] + } + }, + { + "artwork_id": 132706472, + "success": true, + "data": { + "task_id": "d15f0bf0-9ba0-4e72-8143-1f88bdc1e82e", + "artwork_id": 132706472, + "artist_name": "眞白花铃", + "artwork_title": "诱惑", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132706472\\诱惑", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132706472\\诱惑\\诱惑_132706472_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/15/00/31/07/132706472_p0.png", + "size": "original", + "filename": "诱惑_132706472_1.png" + } + ] + } + }, + { + "artwork_id": 132581342, + "success": true, + "data": { + "task_id": "ae4a6fb2-dda4-460b-b814-e995c7a924f9", + "artwork_id": 132581342, + "artist_name": "眞白花铃", + "artwork_title": "玩游戏", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132581342\\玩游戏", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132581342\\玩游戏\\玩游戏_132581342_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/11/22/59/01/132581342_p0.png", + "size": "original", + "filename": "玩游戏_132581342_1.png" + } + ] + } + }, + { + "artwork_id": 132706936, + "success": true, + "data": { + "task_id": "b83d2ab3-1aa8-4c1e-aa94-7bfd85c57056", + "artwork_id": 132706936, + "artist_name": "眞白花铃", + "artwork_title": "丹花 イブキ", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132706936\\丹花 イブキ", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132706936\\丹花 イブキ\\丹花 イブキ_132706936_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/15/00/44/25/132706936_p0.png", + "size": "original", + "filename": "丹花 イブキ_132706936_1.png" + } + ] + } + }, + { + "artwork_id": 132581015, + "success": true, + "data": { + "task_id": "bfeb10b1-9435-452d-8317-ccb369b1b16e", + "artwork_id": 132581015, + "artist_name": "眞白花铃", + "artwork_title": "铃兰", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132581015\\铃兰", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132581015\\铃兰\\铃兰_132581015_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/11/22/51/04/132581015_p0.png", + "size": "original", + "filename": "铃兰_132581015_1.png" + } + ] + } + }, + { + "artwork_id": 132464583, + "success": true, + "data": { + "task_id": "fca4411b-5e8f-418d-bf42-0e0c60e3340c", + "artwork_id": 132464583, + "artist_name": "眞白花铃", + "artwork_title": "龙华妃咲", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132464583\\龙华妃咲", + "total_files": 2, + "completed_files": 2, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132464583\\龙华妃咲\\龙华妃咲_132464583_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/08/20/15/42/132464583_p0.png", + "size": "original", + "filename": "龙华妃咲_132464583_1.png" + }, + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132464583\\龙华妃咲\\龙华妃咲_132464583_2.png", + "url": "https://i.pximg.net/img-original/img/2025/07/08/20/15/42/132464583_p1.png", + "size": "original", + "filename": "龙华妃咲_132464583_2.png" + } + ] + } + }, + { + "artwork_id": 132465282, + "success": true, + "data": { + "task_id": "6194a507-6339-4f4b-ac77-3654ec34633a", + "artwork_id": 132465282, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132465282\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132465282\\希露莉依\\希露莉依_132465282_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/08/20/33/16/132465282_p0.png", + "size": "original", + "filename": "希露莉依_132465282_1.png" + } + ] + } + }, + { + "artwork_id": 132356494, + "success": true, + "data": { + "task_id": "aca486b9-29e8-442f-b7e5-42094663676f", + "artwork_id": 132356494, + "artist_name": "眞白花铃", + "artwork_title": "白色胖次", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132356494\\白色胖次", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132356494\\白色胖次\\白色胖次_132356494_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/06/01/21/45/132356494_p0.png", + "size": "original", + "filename": "白色胖次_132356494_1.png" + } + ] + } + }, + { + "artwork_id": 132356203, + "success": true, + "data": { + "task_id": "c7f529a1-2328-4e2e-abe5-ee0965d9a351", + "artwork_id": 132356203, + "artist_name": "眞白花铃", + "artwork_title": "M字腿", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132356203\\M字腿", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132356203\\M字腿\\M字腿_132356203_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/06/01/12/08/132356203_p0.png", + "size": "original", + "filename": "M字腿_132356203_1.png" + } + ] + } + }, + { + "artwork_id": 132042549, + "success": true, + "data": { + "task_id": "748f3775-6cf3-4450-9972-5bfbcf94c735", + "artwork_id": 132042549, + "artist_name": "眞白花铃", + "artwork_title": "蛋包饭", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132042549\\蛋包饭", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132042549\\蛋包饭\\蛋包饭_132042549_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/27/23/15/10/132042549_p0.png", + "size": "original", + "filename": "蛋包饭_132042549_1.png" + } + ] + } + }, + { + "artwork_id": 132041376, + "success": true, + "data": { + "task_id": "3f8d84ea-9109-4d78-a8ba-69a0dd2375ae", + "artwork_id": 132041376, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132041376\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132041376\\希露莉依\\希露莉依_132041376_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/27/22/48/48/132041376_p0.png", + "size": "original", + "filename": "希露莉依_132041376_1.png" + } + ] + } + }, + { + "artwork_id": 131896137, + "success": true, + "data": { + "task_id": "0d941fc4-8d0c-40c3-8d48-f4bfa613cc36", + "artwork_id": 131896137, + "artist_name": "眞白花铃", + "artwork_title": "铃兰", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131896137\\铃兰", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131896137\\铃兰\\铃兰_131896137_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/23/21/06/41/131896137_p0.png", + "size": "original", + "filename": "铃兰_131896137_1.png" + } + ] + } + }, + { + "artwork_id": 131895997, + "success": true, + "data": { + "task_id": "950c89bb-9f78-4283-b00b-01ed7438b543", + "artwork_id": 131895997, + "artist_name": "眞白花铃", + "artwork_title": "秘密", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131895997\\秘密", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131895997\\秘密\\秘密_131895997_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/23/21/03/05/131895997_p0.png", + "size": "original", + "filename": "秘密_131895997_1.png" + } + ] + } + }, + { + "artwork_id": 131217203, + "success": true, + "data": { + "task_id": "2144a594-6652-4144-bb4c-8e3af72f6dbc", + "artwork_id": 131217203, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131217203\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131217203\\希露莉依\\希露莉依_131217203_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/05/23/09/57/131217203_p0.png", + "size": "original", + "filename": "希露莉依_131217203_1.png" + } + ] + } + }, + { + "artwork_id": 131643276, + "success": true, + "data": { + "task_id": "b6a279b8-3571-4652-81de-3429798deb2f", + "artwork_id": 131643276, + "artist_name": "眞白花铃", + "artwork_title": "吃蛋糕", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131643276\\吃蛋糕", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131643276\\吃蛋糕\\吃蛋糕_131643276_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/16/23/06/36/131643276_p0.png", + "size": "original", + "filename": "吃蛋糕_131643276_1.png" + } + ] + } + }, + { + "artwork_id": 131374934, + "success": true, + "data": { + "task_id": "37bb3675-8f00-4d3a-a308-a4d0ce03ae9e", + "artwork_id": 131374934, + "artist_name": "眞白花铃", + "artwork_title": "莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131374934\\莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131374934\\莉依\\莉依_131374934_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/09/22/35/27/131374934_p0.png", + "size": "original", + "filename": "莉依_131374934_1.png" + } + ] + } + }, + { + "artwork_id": 131109180, + "success": true, + "data": { + "task_id": "bd4be1d8-f537-4d97-a085-60811c1a73c5", + "artwork_id": 131109180, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131109180\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131109180\\希露莉依\\希露莉依_131109180_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/02/22/15/58/131109180_p0.png", + "size": "original", + "filename": "希露莉依_131109180_1.png" + } + ] + } + }, + { + "artwork_id": 131108629, + "success": true, + "data": { + "task_id": "ca370acc-bb75-49a8-8f56-dce8172cffce", + "artwork_id": 131108629, + "artist_name": "眞白花铃", + "artwork_title": "自拍", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131108629\\自拍", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131108629\\自拍\\自拍_131108629_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/02/22/03/47/131108629_p0.png", + "size": "original", + "filename": "自拍_131108629_1.png" + } + ] + } + }, + { + "artwork_id": 131216888, + "success": true, + "data": { + "task_id": "013cb089-e31a-44e1-837d-1bf5740e83ec", + "artwork_id": 131216888, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131216888\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131216888\\希露莉依\\希露莉依_131216888_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/05/23/01/36/131216888_p0.png", + "size": "original", + "filename": "希露莉依_131216888_1.png" + } + ] + } + }, + { + "artwork_id": 130994042, + "success": true, + "data": { + "task_id": "21e8074e-4cf5-4c16-8c7d-05d90ad10963", + "artwork_id": 130994042, + "artist_name": "眞白花铃", + "artwork_title": "女鹅", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130994042\\女鹅", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130994042\\女鹅\\女鹅_130994042_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/31/01/49/39/130994042_p0.png", + "size": "original", + "filename": "女鹅_130994042_1.png" + } + ] + } + }, + { + "artwork_id": 130770534, + "success": true, + "data": { + "task_id": "84aca54e-01d6-4732-8cb2-ed2e828c3e26", + "artwork_id": 130770534, + "artist_name": "眞白花铃", + "artwork_title": "沐浴女鹅", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130770534\\沐浴女鹅", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130770534\\沐浴女鹅\\沐浴女鹅_130770534_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/24/23/32/22/130770534_p0.png", + "size": "original", + "filename": "沐浴女鹅_130770534_1.png" + } + ] + } + }, + { + "artwork_id": 130993853, + "success": true, + "data": { + "task_id": "cd1bda19-7264-42ad-be57-9bfb24ec15bc", + "artwork_id": 130993853, + "artist_name": "眞白花铃", + "artwork_title": "端午节安康", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130993853\\端午节安康", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130993853\\端午节安康\\端午节安康_130993853_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/31/01/42/16/130993853_p0.png", + "size": "original", + "filename": "端午节安康_130993853_1.png" + } + ] + } + }, + { + "artwork_id": 130525185, + "success": true, + "data": { + "task_id": "eb675b55-350c-4a8c-b170-768caef6a246", + "artwork_id": 130525185, + "artist_name": "眞白花铃", + "artwork_title": "圣娅", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130525185\\圣娅", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130525185\\圣娅\\圣娅_130525185_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/18/02/10/27/130525185_p0.png", + "size": "original", + "filename": "圣娅_130525185_1.png" + } + ] + } + }, + { + "artwork_id": 130635160, + "success": true, + "data": { + "task_id": "3e4264f3-f2ce-4610-8dae-a7ff75433e98", + "artwork_id": 130635160, + "artist_name": "眞白花铃", + "artwork_title": "???", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130635160\\???", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130635160\\???\\???_130635160_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/21/01/26/05/130635160_p0.png", + "size": "original", + "filename": "???_130635160_1.png" + } + ] + } + }, + { + "artwork_id": 130634539, + "success": true, + "data": { + "task_id": "92240c86-87a8-4175-8c38-f591b4096f52", + "artwork_id": 130634539, + "artist_name": "眞白花铃", + "artwork_title": "5.20快乐呀", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130634539\\5.20快乐呀", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130634539\\5.20快乐呀\\5.20快乐呀_130634539_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/21/01/04/39/130634539_p0.png", + "size": "original", + "filename": "5.20快乐呀_130634539_1.png" + } + ] + } + }, + { + "artwork_id": 130524823, + "success": true, + "data": { + "task_id": "1e33f1be-113d-4878-aac2-7bb29f7be32d", + "artwork_id": 130524823, + "artist_name": "眞白花铃", + "artwork_title": "小哭包", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130524823\\小哭包", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130524823\\小哭包\\小哭包_130524823_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/18/01/58/36/130524823_p0.png", + "size": "original", + "filename": "小哭包_130524823_1.png" + } + ] + } + }, + { + "artwork_id": 130450167, + "success": true, + "data": { + "task_id": "b3ce42e3-f568-458a-a3a8-46d8eac8e6d3", + "artwork_id": 130450167, + "artist_name": "眞白花铃", + "artwork_title": "香风智乃", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130450167\\香风智乃", + "total_files": 2, + "completed_files": 2, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130450167\\香风智乃\\香风智乃_130450167_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/16/02/14/39/130450167_p0.png", + "size": "original", + "filename": "香风智乃_130450167_1.png" + }, + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130450167\\香风智乃\\香风智乃_130450167_2.png", + "url": "https://i.pximg.net/img-original/img/2025/05/16/02/14/39/130450167_p1.png", + "size": "original", + "filename": "香风智乃_130450167_2.png" + } + ] + } + }, + { + "artwork_id": 130449939, + "success": true, + "data": { + "task_id": "25262262-b048-439e-aa34-013694ea7843", + "artwork_id": 130449939, + "artist_name": "眞白花铃", + "artwork_title": "午睡女鹅", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130449939\\午睡女鹅", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130449939\\午睡女鹅\\午睡女鹅_130449939_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/16/02/02/31/130449939_p0.png", + "size": "original", + "filename": "午睡女鹅_130449939_1.png" + } + ] + } + }, + { + "artwork_id": 130376454, + "success": true, + "data": { + "task_id": "a4d7e4d5-ebda-4704-8f09-48fa9b638ff0", + "artwork_id": 130376454, + "artist_name": "眞白花铃", + "artwork_title": "怒", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130376454\\怒", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130376454\\怒\\怒_130376454_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/13/23/41/11/130376454_p0.png", + "size": "original", + "filename": "怒_130376454_1.png" + } + ] + } + }, + { + "artwork_id": 130230031, + "success": true, + "data": { + "task_id": "0a56fc58-40c4-4227-bc17-0849195f83dd", + "artwork_id": 130230031, + "artist_name": "眞白花铃", + "artwork_title": "双马尾", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130230031\\双马尾", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130230031\\双马尾\\双马尾_130230031_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/10/01/41/16/130230031_p0.png", + "size": "original", + "filename": "双马尾_130230031_1.png" + } + ] + } + }, + { + "artwork_id": 130376009, + "success": true, + "data": { + "task_id": "18aea7f0-8e97-48f7-a879-acd2ca862cb1", + "artwork_id": 130376009, + "artist_name": "眞白花铃", + "artwork_title": "铃兰", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130376009\\铃兰", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130376009\\铃兰\\铃兰_130376009_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/13/23/30/05/130376009_p0.png", + "size": "original", + "filename": "铃兰_130376009_1.png" + } + ] + } + }, + { + "artwork_id": 130119366, + "success": true, + "data": { + "task_id": "3108d84c-3ae9-47b5-bd69-816ba1dddbbf", + "artwork_id": 130119366, + "artist_name": "眞白花铃", + "artwork_title": "诶...绷带的用法!?", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130119366\\诶...绷带的用法!?", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130119366\\诶...绷带的用法!?\\诶...绷带的用法!?_130119366_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/06/22/12/58/130119366_p0.png", + "size": "original", + "filename": "诶...绷带的用法!?_130119366_1.png" + } + ] + } + }, + { + "artwork_id": 130001890, + "success": true, + "data": { + "task_id": "765717ba-e106-4759-8c5e-99aff7d758d0", + "artwork_id": 130001890, + "artist_name": "眞白花铃", + "artwork_title": "好像...有点小?", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001890\\好像...有点小?", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001890\\好像...有点小?\\好像...有点小?_130001890_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/04/00/33/39/130001890_p0.png", + "size": "original", + "filename": "好像...有点小?_130001890_1.png" + } + ] + } + }, + { + "artwork_id": 130229676, + "success": true, + "data": { + "task_id": "2573a344-d7f2-46a2-b50a-8b4a55a118c9", + "artwork_id": 130229676, + "artist_name": "眞白花铃", + "artwork_title": "希露莉依", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130229676\\希露莉依", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130229676\\希露莉依\\希露莉依_130229676_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/10/01/29/25/130229676_p0.png", + "size": "original", + "filename": "希露莉依_130229676_1.png" + } + ] + } + }, + { + "artwork_id": 130001280, + "success": true, + "data": { + "task_id": "044ed279-0d70-40d3-8a0a-1203db3501b7", + "artwork_id": 130001280, + "artist_name": "眞白花铃", + "artwork_title": "呜嗷!", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001280\\呜嗷!", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001280\\呜嗷!\\呜嗷!_130001280_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/04/00/19/38/130001280_p0.png", + "size": "original", + "filename": "呜嗷!_130001280_1.png" + } + ] + } + }, + { + "artwork_id": 129855584, + "success": true, + "data": { + "task_id": "9b08d004-3394-4f3c-bb65-78e84a85936a", + "artwork_id": 129855584, + "artist_name": "眞白花铃", + "artwork_title": "抱抱!", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855584\\抱抱!", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855584\\抱抱!\\抱抱!_129855584_1.png", + "url": "https://i.pximg.net/img-original/img/2025/04/30/02/36/32/129855584_p0.png", + "size": "original", + "filename": "抱抱!_129855584_1.png" + } + ] + } + }, + { + "artwork_id": 130001502, + "success": true, + "data": { + "task_id": "b383912b-7e4c-4329-af24-61591f21e9fe", + "artwork_id": 130001502, + "artist_name": "眞白花铃", + "artwork_title": "不可以涩涩", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001502\\不可以涩涩", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001502\\不可以涩涩\\不可以涩涩_130001502_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/04/00/24/31/130001502_p0.png", + "size": "original", + "filename": "不可以涩涩_130001502_1.png" + } + ] + } + }, + { + "artwork_id": 129855387, + "success": true, + "data": { + "task_id": "107b0f47-db0d-4905-8ef6-9a114074c630", + "artwork_id": 129855387, + "artist_name": "眞白花铃", + "artwork_title": "学习", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855387\\学习", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855387\\学习\\学习_129855387_1.png", + "url": "https://i.pximg.net/img-original/img/2025/04/30/02/26/34/129855387_p0.png", + "size": "original", + "filename": "学习_129855387_1.png" + } + ] + } + }, + { + "artwork_id": 129855484, + "success": true, + "data": { + "task_id": "cd59072a-ec15-4981-aed2-72270a9a0355", + "artwork_id": 129855484, + "artist_name": "眞白花铃", + "artwork_title": "该起床了哦~", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855484\\该起床了哦~", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855484\\该起床了哦~\\该起床了哦~_129855484_1.png", + "url": "https://i.pximg.net/img-original/img/2025/04/30/02/31/20/129855484_p0.png", + "size": "original", + "filename": "该起床了哦~_129855484_1.png" + } + ] + } + }, + { + "artwork_id": 129814645, + "success": true, + "data": { + "task_id": "24524eff-75d9-4f46-b545-be7b53cfe1a5", + "artwork_id": 129814645, + "artist_name": "眞白花铃", + "artwork_title": "白霜月", + "download_path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129814645\\白霜月", + "total_files": 1, + "completed_files": 1, + "failed_files": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129814645\\白霜月\\白霜月_129814645_1.png", + "url": "https://i.pximg.net/img-original/img/2025/04/29/01/09/14/129814645_p0.png", + "size": "original", + "filename": "白霜月_129814645_1.png" + } + ] + } + } + ], + "start_time": "2025-08-21T03:29:04.446Z", + "end_time": "2025-08-21T03:30:29.328Z", + "error": null + }, + "42b009b0-8800-48dd-90a4-4af79f260312": { + "id": "42b009b0-8800-48dd-90a4-4af79f260312", + "type": "artwork", + "artwork_id": 134137900, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137900\\玩游戏\\玩游戏_134137900_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/21/05/05/26/134137900_p0.png", + "size": "original", + "filename": "玩游戏_134137900_1.png" + } + ], + "start_time": "2025-08-21T03:29:06.561Z", + "end_time": "2025-08-21T03:29:10.452Z", + "error": null + }, + "4e4e62b9-e5f1-4270-8841-89a1c6ef7452": { + "id": "4e4e62b9-e5f1-4270-8841-89a1c6ef7452", + "type": "artwork", + "artwork_id": 134137692, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137692\\铃兰\\铃兰_134137692_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/21/04/53/50/134137692_p0.png", + "size": "original", + "filename": "铃兰_134137692_1.png" + } + ], + "start_time": "2025-08-21T03:29:06.561Z", + "end_time": "2025-08-21T03:29:10.449Z", + "error": null + }, + "47a8d2fd-19cb-40c0-b47a-aee1452efd19": { + "id": "47a8d2fd-19cb-40c0-b47a-aee1452efd19", + "type": "artwork", + "artwork_id": 134137598, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_134137598\\V\\V_134137598_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/21/04/46/40/134137598_p0.png", + "size": "original", + "filename": "V_134137598_1.png" + } + ], + "start_time": "2025-08-21T03:29:06.561Z", + "end_time": "2025-08-21T03:29:10.281Z", + "error": null + }, + "fc70be72-a838-4fff-82a9-5b82ade8b4b4": { + "id": "fc70be72-a838-4fff-82a9-5b82ade8b4b4", + "type": "artwork", + "artwork_id": 133718406, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133718406\\胖次\\胖次_133718406_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/10/19/49/59/133718406_p0.png", + "size": "original", + "filename": "胖次_133718406_1.png" + } + ], + "start_time": "2025-08-21T03:29:11.458Z", + "end_time": "2025-08-21T03:29:15.873Z", + "error": null + }, + "5b4716e6-5608-435e-994a-177cca961917": { + "id": "5b4716e6-5608-435e-994a-177cca961917", + "type": "artwork", + "artwork_id": 133572048, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133572048\\海边戏水\\海边戏水_133572048_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/07/00/06/51/133572048_p0.png", + "size": "original", + "filename": "海边戏水_133572048_1.png" + } + ], + "start_time": "2025-08-21T03:29:11.458Z", + "end_time": "2025-08-21T03:29:16.117Z", + "error": null + }, + "88373389-3a6b-489c-9e93-944c2d9d96b3": { + "id": "88373389-3a6b-489c-9e93-944c2d9d96b3", + "type": "artwork", + "artwork_id": 133500260, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133500260\\诶!?\\诶!?_133500260_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/05/00/46/27/133500260_p0.png", + "size": "original", + "filename": "诶!?_133500260_1.png" + } + ], + "start_time": "2025-08-21T03:29:11.458Z", + "end_time": "2025-08-21T03:29:15.876Z", + "error": null + }, + "c8e863f8-4cda-4d67-9dcd-c7ac3d41b161": { + "id": "c8e863f8-4cda-4d67-9dcd-c7ac3d41b161", + "type": "artwork", + "artwork_id": 133499816, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133499816\\Plana\\Plana_133499816_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/05/00/33/41/133499816_p0.png", + "size": "original", + "filename": "Plana_133499816_1.png" + } + ], + "start_time": "2025-08-21T03:29:17.123Z", + "end_time": "2025-08-21T03:29:21.674Z", + "error": null + }, + "02515f3f-eac5-4bc0-a4ec-cc482e7436bd": { + "id": "02515f3f-eac5-4bc0-a4ec-cc482e7436bd", + "type": "artwork", + "artwork_id": 133499272, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133499272\\伊落マリー\\伊落マリー_133499272_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/05/00/20/34/133499272_p0.png", + "size": "original", + "filename": "伊落マリー_133499272_1.png" + } + ], + "start_time": "2025-08-21T03:29:17.123Z", + "end_time": "2025-08-21T03:29:21.324Z", + "error": null + }, + "baad4987-09ef-4635-bc03-cd4b29b39654": { + "id": "baad4987-09ef-4635-bc03-cd4b29b39654", + "type": "artwork", + "artwork_id": 133343301, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133343301\\希露莉依\\希露莉依_133343301_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/01/03/00/16/133343301_p0.png", + "size": "original", + "filename": "希露莉依_133343301_1.png" + } + ], + "start_time": "2025-08-21T03:29:17.123Z", + "end_time": "2025-08-21T03:29:21.685Z", + "error": null + }, + "173d7a68-1370-4f18-b92b-0232583841bd": { + "id": "173d7a68-1370-4f18-b92b-0232583841bd", + "type": "artwork", + "artwork_id": 133343101, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133343101\\吃雪糕\\吃雪糕_133343101_1.png", + "url": "https://i.pximg.net/img-original/img/2025/08/01/02/49/50/133343101_p0.png", + "size": "original", + "filename": "吃雪糕_133343101_1.png" + } + ], + "start_time": "2025-08-21T03:29:22.700Z", + "end_time": "2025-08-21T03:29:27.305Z", + "error": null + }, + "f1aac2aa-73c5-41f0-a1f8-574ee28c38c2": { + "id": "f1aac2aa-73c5-41f0-a1f8-574ee28c38c2", + "type": "artwork", + "artwork_id": 133074217, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133074217\\普拉娜(Plana)\\普拉娜(Plana)_133074217_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/24/23/54/04/133074217_p0.png", + "size": "original", + "filename": "普拉娜(Plana)_133074217_1.png" + } + ], + "start_time": "2025-08-21T03:29:22.700Z", + "end_time": "2025-08-21T03:29:27.346Z", + "error": null + }, + "6ac0c3c2-8d72-4036-94eb-03d8f7a8845c": { + "id": "6ac0c3c2-8d72-4036-94eb-03d8f7a8845c", + "type": "artwork", + "artwork_id": 133073583, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_133073583\\诱惑\\诱惑_133073583_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/24/23/36/49/133073583_p0.png", + "size": "original", + "filename": "诱惑_133073583_1.png" + } + ], + "start_time": "2025-08-21T03:29:22.700Z", + "end_time": "2025-08-21T03:29:27.328Z", + "error": null + }, + "61597069-37c2-406d-9462-6bacf272b381": { + "id": "61597069-37c2-406d-9462-6bacf272b381", + "type": "artwork", + "artwork_id": 132815651, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815651\\小鳥遊ホシノ\\小鳥遊ホシノ_132815651_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/18/02/40/41/132815651_p0.png", + "size": "original", + "filename": "小鳥遊ホシノ_132815651_1.png" + } + ], + "start_time": "2025-08-21T03:29:28.361Z", + "end_time": "2025-08-21T03:29:33.408Z", + "error": null + }, + "1a4c01b5-8611-46bb-a063-7af4991b214f": { + "id": "1a4c01b5-8611-46bb-a063-7af4991b214f", + "type": "artwork", + "artwork_id": 132815484, + "status": "completed", + "progress": 100, + "total": 2, + "completed": 2, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815484\\Plana\\Plana_132815484_2.png", + "url": "https://i.pximg.net/img-original/img/2025/07/18/02/30/18/132815484_p1.png", + "size": "original", + "filename": "Plana_132815484_2.png" + }, + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132815484\\Plana\\Plana_132815484_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/18/02/30/18/132815484_p0.png", + "size": "original", + "filename": "Plana_132815484_1.png" + } + ], + "start_time": "2025-08-21T03:29:28.362Z", + "end_time": "2025-08-21T03:29:33.644Z", + "error": null + }, + "fb2da6c3-cfe2-4b22-97cc-f55ecd9feadf": { + "id": "fb2da6c3-cfe2-4b22-97cc-f55ecd9feadf", + "type": "artwork", + "artwork_id": 132729428, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132729428\\举牌\\举牌_132729428_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/15/19/52/26/132729428_p0.png", + "size": "original", + "filename": "举牌_132729428_1.png" + } + ], + "start_time": "2025-08-21T03:29:28.362Z", + "end_time": "2025-08-21T03:29:33.550Z", + "error": null + }, + "b83d2ab3-1aa8-4c1e-aa94-7bfd85c57056": { + "id": "b83d2ab3-1aa8-4c1e-aa94-7bfd85c57056", + "type": "artwork", + "artwork_id": 132706936, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132706936\\丹花 イブキ\\丹花 イブキ_132706936_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/15/00/44/25/132706936_p0.png", + "size": "original", + "filename": "丹花 イブキ_132706936_1.png" + } + ], + "start_time": "2025-08-21T03:29:34.656Z", + "end_time": "2025-08-21T03:29:38.939Z", + "error": null + }, + "d15f0bf0-9ba0-4e72-8143-1f88bdc1e82e": { + "id": "d15f0bf0-9ba0-4e72-8143-1f88bdc1e82e", + "type": "artwork", + "artwork_id": 132706472, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132706472\\诱惑\\诱惑_132706472_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/15/00/31/07/132706472_p0.png", + "size": "original", + "filename": "诱惑_132706472_1.png" + } + ], + "start_time": "2025-08-21T03:29:34.656Z", + "end_time": "2025-08-21T03:29:38.527Z", + "error": null + }, + "ae4a6fb2-dda4-460b-b814-e995c7a924f9": { + "id": "ae4a6fb2-dda4-460b-b814-e995c7a924f9", + "type": "artwork", + "artwork_id": 132581342, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132581342\\玩游戏\\玩游戏_132581342_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/11/22/59/01/132581342_p0.png", + "size": "original", + "filename": "玩游戏_132581342_1.png" + } + ], + "start_time": "2025-08-21T03:29:34.656Z", + "end_time": "2025-08-21T03:29:38.769Z", + "error": null + }, + "bfeb10b1-9435-452d-8317-ccb369b1b16e": { + "id": "bfeb10b1-9435-452d-8317-ccb369b1b16e", + "type": "artwork", + "artwork_id": 132581015, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132581015\\铃兰\\铃兰_132581015_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/11/22/51/04/132581015_p0.png", + "size": "original", + "filename": "铃兰_132581015_1.png" + } + ], + "start_time": "2025-08-21T03:29:39.940Z", + "end_time": "2025-08-21T03:29:43.353Z", + "error": null + }, + "6194a507-6339-4f4b-ac77-3654ec34633a": { + "id": "6194a507-6339-4f4b-ac77-3654ec34633a", + "type": "artwork", + "artwork_id": 132465282, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132465282\\希露莉依\\希露莉依_132465282_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/08/20/33/16/132465282_p0.png", + "size": "original", + "filename": "希露莉依_132465282_1.png" + } + ], + "start_time": "2025-08-21T03:29:39.941Z", + "end_time": "2025-08-21T03:29:44.231Z", + "error": null + }, + "fca4411b-5e8f-418d-bf42-0e0c60e3340c": { + "id": "fca4411b-5e8f-418d-bf42-0e0c60e3340c", + "type": "artwork", + "artwork_id": 132464583, + "status": "completed", + "progress": 100, + "total": 2, + "completed": 2, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132464583\\龙华妃咲\\龙华妃咲_132464583_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/08/20/15/42/132464583_p0.png", + "size": "original", + "filename": "龙华妃咲_132464583_1.png" + }, + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132464583\\龙华妃咲\\龙华妃咲_132464583_2.png", + "url": "https://i.pximg.net/img-original/img/2025/07/08/20/15/42/132464583_p1.png", + "size": "original", + "filename": "龙华妃咲_132464583_2.png" + } + ], + "start_time": "2025-08-21T03:29:39.941Z", + "end_time": "2025-08-21T03:29:43.837Z", + "error": null + }, + "aca486b9-29e8-442f-b7e5-42094663676f": { + "id": "aca486b9-29e8-442f-b7e5-42094663676f", + "type": "artwork", + "artwork_id": 132356494, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132356494\\白色胖次\\白色胖次_132356494_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/06/01/21/45/132356494_p0.png", + "size": "original", + "filename": "白色胖次_132356494_1.png" + } + ], + "start_time": "2025-08-21T03:29:45.241Z", + "end_time": "2025-08-21T03:29:47.747Z", + "error": null + }, + "c7f529a1-2328-4e2e-abe5-ee0965d9a351": { + "id": "c7f529a1-2328-4e2e-abe5-ee0965d9a351", + "type": "artwork", + "artwork_id": 132356203, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132356203\\M字腿\\M字腿_132356203_1.png", + "url": "https://i.pximg.net/img-original/img/2025/07/06/01/12/08/132356203_p0.png", + "size": "original", + "filename": "M字腿_132356203_1.png" + } + ], + "start_time": "2025-08-21T03:29:45.241Z", + "end_time": "2025-08-21T03:29:47.883Z", + "error": null + }, + "748f3775-6cf3-4450-9972-5bfbcf94c735": { + "id": "748f3775-6cf3-4450-9972-5bfbcf94c735", + "type": "artwork", + "artwork_id": 132042549, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132042549\\蛋包饭\\蛋包饭_132042549_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/27/23/15/10/132042549_p0.png", + "size": "original", + "filename": "蛋包饭_132042549_1.png" + } + ], + "start_time": "2025-08-21T03:29:45.241Z", + "end_time": "2025-08-21T03:29:47.941Z", + "error": null + }, + "3f8d84ea-9109-4d78-a8ba-69a0dd2375ae": { + "id": "3f8d84ea-9109-4d78-a8ba-69a0dd2375ae", + "type": "artwork", + "artwork_id": 132041376, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_132041376\\希露莉依\\希露莉依_132041376_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/27/22/48/48/132041376_p0.png", + "size": "original", + "filename": "希露莉依_132041376_1.png" + } + ], + "start_time": "2025-08-21T03:29:48.957Z", + "end_time": "2025-08-21T03:29:51.849Z", + "error": null + }, + "0d941fc4-8d0c-40c3-8d48-f4bfa613cc36": { + "id": "0d941fc4-8d0c-40c3-8d48-f4bfa613cc36", + "type": "artwork", + "artwork_id": 131896137, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131896137\\铃兰\\铃兰_131896137_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/23/21/06/41/131896137_p0.png", + "size": "original", + "filename": "铃兰_131896137_1.png" + } + ], + "start_time": "2025-08-21T03:29:48.958Z", + "end_time": "2025-08-21T03:29:52.205Z", + "error": null + }, + "950c89bb-9f78-4283-b00b-01ed7438b543": { + "id": "950c89bb-9f78-4283-b00b-01ed7438b543", + "type": "artwork", + "artwork_id": 131895997, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131895997\\秘密\\秘密_131895997_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/23/21/03/05/131895997_p0.png", + "size": "original", + "filename": "秘密_131895997_1.png" + } + ], + "start_time": "2025-08-21T03:29:48.958Z", + "end_time": "2025-08-21T03:29:52.443Z", + "error": null + }, + "b6a279b8-3571-4652-81de-3429798deb2f": { + "id": "b6a279b8-3571-4652-81de-3429798deb2f", + "type": "artwork", + "artwork_id": 131643276, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131643276\\吃蛋糕\\吃蛋糕_131643276_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/16/23/06/36/131643276_p0.png", + "size": "original", + "filename": "吃蛋糕_131643276_1.png" + } + ], + "start_time": "2025-08-21T03:29:53.455Z", + "end_time": "2025-08-21T03:29:56.562Z", + "error": null + }, + "37bb3675-8f00-4d3a-a308-a4d0ce03ae9e": { + "id": "37bb3675-8f00-4d3a-a308-a4d0ce03ae9e", + "type": "artwork", + "artwork_id": 131374934, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131374934\\莉依\\莉依_131374934_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/09/22/35/27/131374934_p0.png", + "size": "original", + "filename": "莉依_131374934_1.png" + } + ], + "start_time": "2025-08-21T03:29:53.456Z", + "end_time": "2025-08-21T03:29:56.624Z", + "error": null + }, + "2144a594-6652-4144-bb4c-8e3af72f6dbc": { + "id": "2144a594-6652-4144-bb4c-8e3af72f6dbc", + "type": "artwork", + "artwork_id": 131217203, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131217203\\希露莉依\\希露莉依_131217203_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/05/23/09/57/131217203_p0.png", + "size": "original", + "filename": "希露莉依_131217203_1.png" + } + ], + "start_time": "2025-08-21T03:29:53.456Z", + "end_time": "2025-08-21T03:29:55.852Z", + "error": null + }, + "013cb089-e31a-44e1-837d-1bf5740e83ec": { + "id": "013cb089-e31a-44e1-837d-1bf5740e83ec", + "type": "artwork", + "artwork_id": 131216888, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131216888\\希露莉依\\希露莉依_131216888_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/05/23/01/36/131216888_p0.png", + "size": "original", + "filename": "希露莉依_131216888_1.png" + } + ], + "start_time": "2025-08-21T03:29:57.631Z", + "end_time": "2025-08-21T03:30:00.701Z", + "error": null + }, + "bd4be1d8-f537-4d97-a085-60811c1a73c5": { + "id": "bd4be1d8-f537-4d97-a085-60811c1a73c5", + "type": "artwork", + "artwork_id": 131109180, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131109180\\希露莉依\\希露莉依_131109180_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/02/22/15/58/131109180_p0.png", + "size": "original", + "filename": "希露莉依_131109180_1.png" + } + ], + "start_time": "2025-08-21T03:29:57.631Z", + "end_time": "2025-08-21T03:30:00.000Z", + "error": null + }, + "ca370acc-bb75-49a8-8f56-dce8172cffce": { + "id": "ca370acc-bb75-49a8-8f56-dce8172cffce", + "type": "artwork", + "artwork_id": 131108629, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_131108629\\自拍\\自拍_131108629_1.png", + "url": "https://i.pximg.net/img-original/img/2025/06/02/22/03/47/131108629_p0.png", + "size": "original", + "filename": "自拍_131108629_1.png" + } + ], + "start_time": "2025-08-21T03:29:57.632Z", + "end_time": "2025-08-21T03:30:00.409Z", + "error": null + }, + "21e8074e-4cf5-4c16-8c7d-05d90ad10963": { + "id": "21e8074e-4cf5-4c16-8c7d-05d90ad10963", + "type": "artwork", + "artwork_id": 130994042, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130994042\\女鹅\\女鹅_130994042_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/31/01/49/39/130994042_p0.png", + "size": "original", + "filename": "女鹅_130994042_1.png" + } + ], + "start_time": "2025-08-21T03:30:01.708Z", + "end_time": "2025-08-21T03:30:04.693Z", + "error": null + }, + "cd1bda19-7264-42ad-be57-9bfb24ec15bc": { + "id": "cd1bda19-7264-42ad-be57-9bfb24ec15bc", + "type": "artwork", + "artwork_id": 130993853, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130993853\\端午节安康\\端午节安康_130993853_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/31/01/42/16/130993853_p0.png", + "size": "original", + "filename": "端午节安康_130993853_1.png" + } + ], + "start_time": "2025-08-21T03:30:01.708Z", + "end_time": "2025-08-21T03:30:04.712Z", + "error": null + }, + "84aca54e-01d6-4732-8cb2-ed2e828c3e26": { + "id": "84aca54e-01d6-4732-8cb2-ed2e828c3e26", + "type": "artwork", + "artwork_id": 130770534, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130770534\\沐浴女鹅\\沐浴女鹅_130770534_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/24/23/32/22/130770534_p0.png", + "size": "original", + "filename": "沐浴女鹅_130770534_1.png" + } + ], + "start_time": "2025-08-21T03:30:01.708Z", + "end_time": "2025-08-21T03:30:04.693Z", + "error": null + }, + "3e4264f3-f2ce-4610-8dae-a7ff75433e98": { + "id": "3e4264f3-f2ce-4610-8dae-a7ff75433e98", + "type": "artwork", + "artwork_id": 130635160, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130635160\\???\\???_130635160_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/21/01/26/05/130635160_p0.png", + "size": "original", + "filename": "???_130635160_1.png" + } + ], + "start_time": "2025-08-21T03:30:05.719Z", + "end_time": "2025-08-21T03:30:08.489Z", + "error": null + }, + "92240c86-87a8-4175-8c38-f591b4096f52": { + "id": "92240c86-87a8-4175-8c38-f591b4096f52", + "type": "artwork", + "artwork_id": 130634539, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130634539\\5.20快乐呀\\5.20快乐呀_130634539_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/21/01/04/39/130634539_p0.png", + "size": "original", + "filename": "5.20快乐呀_130634539_1.png" + } + ], + "start_time": "2025-08-21T03:30:05.720Z", + "end_time": "2025-08-21T03:30:09.253Z", + "error": null + }, + "eb675b55-350c-4a8c-b170-768caef6a246": { + "id": "eb675b55-350c-4a8c-b170-768caef6a246", + "type": "artwork", + "artwork_id": 130525185, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130525185\\圣娅\\圣娅_130525185_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/18/02/10/27/130525185_p0.png", + "size": "original", + "filename": "圣娅_130525185_1.png" + } + ], + "start_time": "2025-08-21T03:30:05.720Z", + "end_time": "2025-08-21T03:30:08.227Z", + "error": null + }, + "1e33f1be-113d-4878-aac2-7bb29f7be32d": { + "id": "1e33f1be-113d-4878-aac2-7bb29f7be32d", + "type": "artwork", + "artwork_id": 130524823, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130524823\\小哭包\\小哭包_130524823_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/18/01/58/36/130524823_p0.png", + "size": "original", + "filename": "小哭包_130524823_1.png" + } + ], + "start_time": "2025-08-21T03:30:10.257Z", + "end_time": "2025-08-21T03:30:13.334Z", + "error": null + }, + "b3ce42e3-f568-458a-a3a8-46d8eac8e6d3": { + "id": "b3ce42e3-f568-458a-a3a8-46d8eac8e6d3", + "type": "artwork", + "artwork_id": 130450167, + "status": "completed", + "progress": 100, + "total": 2, + "completed": 2, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130450167\\香风智乃\\香风智乃_130450167_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/16/02/14/39/130450167_p0.png", + "size": "original", + "filename": "香风智乃_130450167_1.png" + }, + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130450167\\香风智乃\\香风智乃_130450167_2.png", + "url": "https://i.pximg.net/img-original/img/2025/05/16/02/14/39/130450167_p1.png", + "size": "original", + "filename": "香风智乃_130450167_2.png" + } + ], + "start_time": "2025-08-21T03:30:10.258Z", + "end_time": "2025-08-21T03:30:13.671Z", + "error": null + }, + "25262262-b048-439e-aa34-013694ea7843": { + "id": "25262262-b048-439e-aa34-013694ea7843", + "type": "artwork", + "artwork_id": 130449939, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130449939\\午睡女鹅\\午睡女鹅_130449939_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/16/02/02/31/130449939_p0.png", + "size": "original", + "filename": "午睡女鹅_130449939_1.png" + } + ], + "start_time": "2025-08-21T03:30:10.258Z", + "end_time": "2025-08-21T03:30:13.682Z", + "error": null + }, + "a4d7e4d5-ebda-4704-8f09-48fa9b638ff0": { + "id": "a4d7e4d5-ebda-4704-8f09-48fa9b638ff0", + "type": "artwork", + "artwork_id": 130376454, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130376454\\怒\\怒_130376454_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/13/23/41/11/130376454_p0.png", + "size": "original", + "filename": "怒_130376454_1.png" + } + ], + "start_time": "2025-08-21T03:30:14.695Z", + "end_time": "2025-08-21T03:30:17.358Z", + "error": null + }, + "18aea7f0-8e97-48f7-a879-acd2ca862cb1": { + "id": "18aea7f0-8e97-48f7-a879-acd2ca862cb1", + "type": "artwork", + "artwork_id": 130376009, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130376009\\铃兰\\铃兰_130376009_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/13/23/30/05/130376009_p0.png", + "size": "original", + "filename": "铃兰_130376009_1.png" + } + ], + "start_time": "2025-08-21T03:30:14.696Z", + "end_time": "2025-08-21T03:30:17.462Z", + "error": null + }, + "0a56fc58-40c4-4227-bc17-0849195f83dd": { + "id": "0a56fc58-40c4-4227-bc17-0849195f83dd", + "type": "artwork", + "artwork_id": 130230031, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130230031\\双马尾\\双马尾_130230031_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/10/01/41/16/130230031_p0.png", + "size": "original", + "filename": "双马尾_130230031_1.png" + } + ], + "start_time": "2025-08-21T03:30:14.696Z", + "end_time": "2025-08-21T03:30:17.443Z", + "error": null + }, + "2573a344-d7f2-46a2-b50a-8b4a55a118c9": { + "id": "2573a344-d7f2-46a2-b50a-8b4a55a118c9", + "type": "artwork", + "artwork_id": 130229676, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130229676\\希露莉依\\希露莉依_130229676_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/10/01/29/25/130229676_p0.png", + "size": "original", + "filename": "希露莉依_130229676_1.png" + } + ], + "start_time": "2025-08-21T03:30:18.464Z", + "end_time": "2025-08-21T03:30:21.467Z", + "error": null + }, + "3108d84c-3ae9-47b5-bd69-816ba1dddbbf": { + "id": "3108d84c-3ae9-47b5-bd69-816ba1dddbbf", + "type": "artwork", + "artwork_id": 130119366, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130119366\\诶...绷带的用法!?\\诶...绷带的用法!?_130119366_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/06/22/12/58/130119366_p0.png", + "size": "original", + "filename": "诶...绷带的用法!?_130119366_1.png" + } + ], + "start_time": "2025-08-21T03:30:18.465Z", + "end_time": "2025-08-21T03:30:20.834Z", + "error": null + }, + "765717ba-e106-4759-8c5e-99aff7d758d0": { + "id": "765717ba-e106-4759-8c5e-99aff7d758d0", + "type": "artwork", + "artwork_id": 130001890, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001890\\好像...有点小?\\好像...有点小?_130001890_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/04/00/33/39/130001890_p0.png", + "size": "original", + "filename": "好像...有点小?_130001890_1.png" + } + ], + "start_time": "2025-08-21T03:30:18.465Z", + "end_time": "2025-08-21T03:30:21.246Z", + "error": null + }, + "b383912b-7e4c-4329-af24-61591f21e9fe": { + "id": "b383912b-7e4c-4329-af24-61591f21e9fe", + "type": "artwork", + "artwork_id": 130001502, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001502\\不可以涩涩\\不可以涩涩_130001502_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/04/00/24/31/130001502_p0.png", + "size": "original", + "filename": "不可以涩涩_130001502_1.png" + } + ], + "start_time": "2025-08-21T03:30:22.471Z", + "end_time": "2025-08-21T03:30:25.161Z", + "error": null + }, + "044ed279-0d70-40d3-8a0a-1203db3501b7": { + "id": "044ed279-0d70-40d3-8a0a-1203db3501b7", + "type": "artwork", + "artwork_id": 130001280, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_130001280\\呜嗷!\\呜嗷!_130001280_1.png", + "url": "https://i.pximg.net/img-original/img/2025/05/04/00/19/38/130001280_p0.png", + "size": "original", + "filename": "呜嗷!_130001280_1.png" + } + ], + "start_time": "2025-08-21T03:30:22.471Z", + "end_time": "2025-08-21T03:30:24.990Z", + "error": null + }, + "9b08d004-3394-4f3c-bb65-78e84a85936a": { + "id": "9b08d004-3394-4f3c-bb65-78e84a85936a", + "type": "artwork", + "artwork_id": 129855584, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855584\\抱抱!\\抱抱!_129855584_1.png", + "url": "https://i.pximg.net/img-original/img/2025/04/30/02/36/32/129855584_p0.png", + "size": "original", + "filename": "抱抱!_129855584_1.png" + } + ], + "start_time": "2025-08-21T03:30:22.472Z", + "end_time": "2025-08-21T03:30:25.033Z", + "error": null + }, + "cd59072a-ec15-4981-aed2-72270a9a0355": { + "id": "cd59072a-ec15-4981-aed2-72270a9a0355", + "type": "artwork", + "artwork_id": 129855484, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855484\\该起床了哦~\\该起床了哦~_129855484_1.png", + "url": "https://i.pximg.net/img-original/img/2025/04/30/02/31/20/129855484_p0.png", + "size": "original", + "filename": "该起床了哦~_129855484_1.png" + } + ], + "start_time": "2025-08-21T03:30:26.175Z", + "end_time": "2025-08-21T03:30:29.252Z", + "error": null + }, + "107b0f47-db0d-4905-8ef6-9a114074c630": { + "id": "107b0f47-db0d-4905-8ef6-9a114074c630", + "type": "artwork", + "artwork_id": 129855387, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129855387\\学习\\学习_129855387_1.png", + "url": "https://i.pximg.net/img-original/img/2025/04/30/02/26/34/129855387_p0.png", + "size": "original", + "filename": "学习_129855387_1.png" + } + ], + "start_time": "2025-08-21T03:30:26.176Z", + "end_time": "2025-08-21T03:30:29.231Z", + "error": null + }, + "24524eff-75d9-4f46-b545-be7b53cfe1a5": { + "id": "24524eff-75d9-4f46-b545-be7b53cfe1a5", + "type": "artwork", + "artwork_id": 129814645, + "status": "completed", + "progress": 100, + "total": 1, + "completed": 1, + "failed": 0, + "files": [ + { + "path": "D:\\1awd\\project\\pixiv-D\\downloads\\眞白花铃_129814645\\白霜月\\白霜月_129814645_1.png", + "url": "https://i.pximg.net/img-original/img/2025/04/29/01/09/14/129814645_p0.png", + "size": "original", + "filename": "白霜月_129814645_1.png" + } + ], + "start_time": "2025-08-21T03:30:26.176Z", + "end_time": "2025-08-21T03:30:29.326Z", + "error": null + } +} diff --git a/ui/src/components/artwork/ArtworkCard.vue b/ui/src/components/artwork/ArtworkCard.vue index 8e2bad7..ac5c2e3 100644 --- a/ui/src/components/artwork/ArtworkCard.vue +++ b/ui/src/components/artwork/ArtworkCard.vue @@ -2,11 +2,12 @@
@@ -24,9 +25,10 @@
{{ artwork.user.name }}
@@ -85,6 +87,19 @@ const imageError = ref(false); const handleClick = () => { emit('click', props.artwork); }; + +// 处理图片URL,通过后端代理 +const getImageUrl = (originalUrl: string) => { + if (!originalUrl) return ''; + + // 如果是Pixiv的图片URL,通过后端代理 + if (originalUrl.includes('i.pximg.net')) { + const encodedUrl = encodeURIComponent(originalUrl); + return `http://localhost:3000/api/proxy/image?url=${encodedUrl}`; + } + + return originalUrl; +}; \ No newline at end of file diff --git a/ui/src/views/SearchView.vue b/ui/src/views/SearchView.vue index 2f1aaa5..cec561f 100644 --- a/ui/src/views/SearchView.vue +++ b/ui/src/views/SearchView.vue @@ -4,21 +4,75 @@

搜索作品

-
-
- - -
+
+ +
+ + + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +