refactor: 将 WebUI 源码纳入仓库,移除打包产物
- 新增 webui/ 前端源码目录(React+Vite+TypeScript+Tailwind) - 删除 api/webui/ 中旧的打包静态资源 - 更新 .gitignore 忽略 api/webui/ 构建输出和 webui/node_modules - 更新 README 增加前端构建说明
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"status": {
|
||||
"active": "ACTIVE",
|
||||
"standby": "STANDBY",
|
||||
"idle": "IDLE",
|
||||
"running": "RUNNING",
|
||||
"stopping": "STOPPING",
|
||||
"error": "ERROR"
|
||||
},
|
||||
"sidebar": {
|
||||
"title": "MediaCrawler",
|
||||
"api": "API",
|
||||
"local": "LOCAL",
|
||||
"disclaimer": "For personal learning only, commercial use prohibited",
|
||||
"license": "License"
|
||||
},
|
||||
"action": {
|
||||
"loading": "Loading...",
|
||||
"skip": "SKIP_CHECK",
|
||||
"retry": "RETRY_SCAN"
|
||||
},
|
||||
"unit": {
|
||||
"entries": "entries",
|
||||
"records": "records"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"section": {
|
||||
"targetMatrix": {
|
||||
"title": "TARGET_MATRIX",
|
||||
"description": "Platform, mode & search parameters"
|
||||
},
|
||||
"authMatrix": {
|
||||
"title": "AUTH_MATRIX",
|
||||
"description": "Login method configuration"
|
||||
},
|
||||
"outputConfig": {
|
||||
"title": "OUTPUT_CONFIG",
|
||||
"description": "Save format & comment options"
|
||||
},
|
||||
"runtime": {
|
||||
"title": "RUNTIME",
|
||||
"description": "Runtime parameters"
|
||||
}
|
||||
},
|
||||
"field": {
|
||||
"platform": "PLATFORM",
|
||||
"platformPlaceholder": "Select platform",
|
||||
"crawlType": "CRAWL_TYPE",
|
||||
"crawlTypePlaceholder": "Select type",
|
||||
"startPage": "START_PAGE",
|
||||
"keywords": "KEYWORDS",
|
||||
"keywordsHint": "Press Enter to add keyword",
|
||||
"keywordsPlaceholder": "Type keyword, press Enter to add...",
|
||||
"specifiedIds": "POST/VIDEO_ID",
|
||||
"specifiedIdsHint": "Enter post or video ID/URL, one per line or comma-separated",
|
||||
"specifiedIdsPlaceholder": {
|
||||
"bili": "Examples:\nBV1xxxx\nhttps://www.bilibili.com/video/BV1xxxx",
|
||||
"xhs": "Examples:\nhttps://www.xiaohongshu.com/explore/xxx?xsec_token=xxx\n(must include xsec_token)",
|
||||
"dy": "Examples:\n7525538910311632128\nhttps://www.douyin.com/video/xxx\nhttps://v.douyin.com/xxx (short link)",
|
||||
"wb": "Examples:\n4982041758140155\nhttps://weibo.com/xxx/xxx",
|
||||
"ks": "Examples:\n3xf8enb8dbj6uig\nhttps://www.kuaishou.com/short-video/xxx",
|
||||
"default": "Enter post/video ID or URL..."
|
||||
},
|
||||
"creatorIds": "CREATOR_ID",
|
||||
"creatorIdsHint": "Enter creator ID/URL, one per line or comma-separated",
|
||||
"creatorIdsPlaceholder": {
|
||||
"bili": "Examples:\n434377496\nhttps://space.bilibili.com/434377496",
|
||||
"xhs": "Examples:\nhttps://www.xiaohongshu.com/user/profile/xxx?xsec_token=xxx\n(must include xsec_token)",
|
||||
"dy": "Examples:\nMS4wLjABAAAAxxx\nhttps://www.douyin.com/user/MS4wLjABAAAAxxx",
|
||||
"wb": "Examples:\n5533390220\nhttps://weibo.com/u/5533390220",
|
||||
"ks": "Examples:\n3x84qugg4ch9zhs\nhttps://www.kuaishou.com/profile/xxx",
|
||||
"default": "Enter creator ID or URL..."
|
||||
},
|
||||
"loginMethod": "LOGIN_METHOD",
|
||||
"loginMethodPlaceholder": "Select login method",
|
||||
"cookies": "COOKIES",
|
||||
"cookiesHint": "Paste cookie string",
|
||||
"cookiesPlaceholder": "Paste cookies here...",
|
||||
"saveFormat": "SAVE_FORMAT",
|
||||
"saveFormatPlaceholder": "Select format",
|
||||
"commentExtraction": "Comment Extraction",
|
||||
"subComments": "Sub-comments",
|
||||
"headlessMode": "HEADLESS_MODE",
|
||||
"headlessModeHint": "Run browser without GUI"
|
||||
},
|
||||
"button": {
|
||||
"initiateScan": "INITIATE SCAN",
|
||||
"initiating": "INITIATING...",
|
||||
"terminate": "TERMINATE",
|
||||
"stopping": "STOPPING..."
|
||||
},
|
||||
"warning": {
|
||||
"cookieSlider": "[Note] Cookie login is not recommended for Xiaohongshu and Douyin due to slider captcha",
|
||||
"xhsToken": "[Important] Xiaohongshu URLs must contain xsec_token parameter, please copy the full URL from browser"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"dialog": {
|
||||
"button": "PAYLOAD_MATRIX",
|
||||
"title": "DATA_EXPLORER"
|
||||
},
|
||||
"explorer": {
|
||||
"title": "CAPTURED_PAYLOAD_MATRIX",
|
||||
"records": "{{count}} RECORDS",
|
||||
"rescan": "RESCAN",
|
||||
"loading": "[LOADING] Scanning payload directory...",
|
||||
"noData": "NO_DATA_CAPTURED",
|
||||
"noDataHint": "Initialize crawler to begin data extraction sequence. Results will appear here upon completion.",
|
||||
"allCategories": "ALL"
|
||||
},
|
||||
"file": {
|
||||
"entries": "{{count}} entries",
|
||||
"extract": "EXTRACT",
|
||||
"preview": "PREVIEW"
|
||||
},
|
||||
"preview": {
|
||||
"title": "Data Preview",
|
||||
"records": "{{count}} RECORDS",
|
||||
"download": "DOWNLOAD",
|
||||
"loading": "[LOADING] Decoding payload...",
|
||||
"error": "[ERROR] Failed to decode payload",
|
||||
"searchPlaceholder": "Search in data...",
|
||||
"showing": "Showing {{filtered}} of {{total}} records"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"title": "ENV_DIAGNOSTICS",
|
||||
"scanning": "[SCAN] Analyzing MediaCrawler environment...",
|
||||
"success": "[OK] {{message}}",
|
||||
"error": "[ERR] {{message}}",
|
||||
"defaultError": "Cannot connect to API server",
|
||||
"defaultErrorHint": "Please ensure backend service is running (uvicorn api.main:app --port 8080)",
|
||||
"showDetails": "[+] SHOW_DETAILS",
|
||||
"hideDetails": "[-] HIDE_DETAILS",
|
||||
"requirements": "[REQUIREMENTS]",
|
||||
"requirementsList": {
|
||||
"1": "Install uv package manager",
|
||||
"2": "Execute uv sync in project root",
|
||||
"3": "Verify all dependencies installed"
|
||||
},
|
||||
"skipCheck": "SKIP_CHECK",
|
||||
"retryCheck": "RETRY_SCAN"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"title": "Usage Notice",
|
||||
"warning": "Please read the following terms carefully",
|
||||
"content": {
|
||||
"line1": "This project is for personal learning and research purposes only",
|
||||
"line2": "Commercial use or profit-making activities are strictly prohibited",
|
||||
"line3": "By using this project, you agree to comply with all applicable laws",
|
||||
"line4": "Users bear full responsibility for any consequences of misuse"
|
||||
},
|
||||
"license": "View Full License",
|
||||
"github": "Visit GitHub Repository",
|
||||
"confirm": "I understand and agree to the above terms",
|
||||
"decline": "Disagree, Exit",
|
||||
"author": {
|
||||
"name": "Relakkes (阿江)",
|
||||
"tagline": "40K+ Star Open Source Author",
|
||||
"description": "Author of MediaCrawler (40K stars), focused on crawler tech and AI Agent knowledge sharing",
|
||||
"support": "If you find this project helpful, please follow the author on social media",
|
||||
"slogan": "Open source is hard, please star ⭐"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"header": {
|
||||
"title": "SYSTEM_CONSOLE",
|
||||
"entries": "{{count}} entries",
|
||||
"active": "ACTIVE",
|
||||
"clear": "CLEAR",
|
||||
"restore": "RESTORE ALL LOGS"
|
||||
},
|
||||
"banner": {
|
||||
"systemInit": "[SYS] System initialized successfully",
|
||||
"configHint": "[INFO] Configure parameters and initiate scan sequence..."
|
||||
},
|
||||
"footer": {
|
||||
"awaiting": "awaiting_command..."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user