Add site batch import/export functionality with preview and validation

Co-authored-by: jxxghp <jxxghp@live.cn>
This commit is contained in:
Cursor Agent
2025-08-22 23:09:03 +00:00
parent c330aee560
commit afc7c81028
10 changed files with 17725 additions and 684 deletions

View File

@@ -1007,6 +1007,7 @@ export default {
limitSeconds: 'Access Interval (seconds)',
useProxy: 'Use Proxy',
browserSimulation: 'Browser Simulation',
selectFile: 'Select File',
},
hints: {
url: 'Format: http://www.example.com/',
@@ -1024,16 +1025,36 @@ export default {
limitSeconds: 'Minimum interval between each access',
useProxy: 'Use proxy server to access this site',
browserSimulation: 'Use browser simulation for authentic site access',
import: 'Batch import site data, supports JSON format files',
selectFile: 'Select JSON file',
dragDropFile: 'Drag and drop file here or click to select file',
supportedFormat: 'Supports JSON format site configuration files',
},
actions: {
add: 'Add Site',
edit: 'Edit Site',
import: 'Batch Import',
export: 'Batch Export',
startImport: 'Start Import',
},
messages: {
addSuccess: 'Site added successfully',
addFailed: 'Failed to add site',
updateSuccess: 'Updated successfully',
updateFailed: 'Update failed',
exportSuccess: 'Sites exported successfully',
exportFailed: 'Failed to export sites',
importSuccess: 'Successfully imported {count} sites',
importFailed: 'Failed to import sites',
importPartialFailed: 'Import completed, {success} successful, {failed} failed',
noDataToImport: 'No data to import',
noValidData: 'No valid data',
someInvalidData: 'Some data is invalid, valid data: {valid}/{total}',
invalidFileType: 'Unsupported file type, please select a JSON file',
invalidFileFormat: 'Invalid file format, please check file content',
parseFileError: 'Failed to parse file, please check file format',
previewData: 'Preview data ({count} sites)',
importing: 'Importing... ({progress}%)',
},
errors: {
loadDownloader: 'Failed to load downloader settings',
@@ -1068,6 +1089,13 @@ export default {
accessTime: 'Access Time',
responseTime: 'Response Time',
noTimeRecords: 'No Time Records',
preview: {
title: 'Preview Sites',
showing: 'Showing {count}/{total}',
unnamed: 'Unnamed Site',
noUrl: 'No Site URL',
invalid: 'Invalid Data',
},
},
message: {
loadMore: 'Load More',

View File

@@ -1003,6 +1003,7 @@ export default {
limitSeconds: '访问间隔(秒)',
useProxy: '使用代理访问',
browserSimulation: '浏览器仿真',
selectFile: '选择文件',
},
hints: {
url: '格式http://www.example.com/',
@@ -1020,16 +1021,36 @@ export default {
limitSeconds: '每次访问需要间隔的最小时间',
useProxy: '使用代理服务器访问该站点',
browserSimulation: '使用浏览器模拟真实访问该站点',
import: '批量导入站点数据支持JSON格式文件',
selectFile: '选择JSON文件',
dragDropFile: '拖拽文件到此处或点击选择文件',
supportedFormat: '支持JSON格式的站点配置文件',
},
actions: {
add: '新增站点',
edit: '编辑站点',
import: '批量导入',
export: '批量导出',
startImport: '开始导入',
},
messages: {
addSuccess: '新增站点成功',
addFailed: '新增站点失败',
updateSuccess: '更新成功',
updateFailed: '更新失败',
exportSuccess: '站点导出成功',
exportFailed: '站点导出失败',
importSuccess: '成功导入 {count} 个站点',
importFailed: '站点导入失败',
importPartialFailed: '导入完成,成功 {success} 个,失败 {failed} 个',
noDataToImport: '没有数据可导入',
noValidData: '没有有效的数据',
someInvalidData: '部分数据无效,有效数据 {valid}/{total} 个',
invalidFileType: '不支持的文件类型请选择JSON文件',
invalidFileFormat: '文件格式无效,请检查文件内容',
parseFileError: '文件解析失败,请检查文件格式',
previewData: '预览数据 ({count} 个站点)',
importing: '正在导入... ({progress}%)',
},
errors: {
loadDownloader: '加载下载器设置失败',
@@ -1064,6 +1085,13 @@ export default {
accessTime: '访问时间',
responseTime: '响应时间',
noTimeRecords: '暂无耗时记录',
preview: {
title: '预览站点',
showing: '显示 {count}/{total}',
unnamed: '未命名站点',
noUrl: '无站点地址',
invalid: '数据无效',
},
},
message: {
loadMore: '加载更多',

View File

@@ -1002,6 +1002,7 @@ export default {
limitSeconds: '訪問間隔(秒)',
useProxy: '使用代理訪問',
browserSimulation: '瀏覽器仿真',
selectFile: '選擇文件',
},
hints: {
url: '格式http://www.example.com/',
@@ -1019,16 +1020,36 @@ export default {
limitSeconds: '每次訪問需要間隔的最小時間',
useProxy: '使用代理服務器訪問該站點',
browserSimulation: '使用瀏覽器模擬真實訪問該站點',
import: '批量導入站點數據支持JSON格式文件',
selectFile: '選擇JSON文件',
dragDropFile: '拖拽文件到此處或點擊選擇文件',
supportedFormat: '支持JSON格式的站點配置文件',
},
actions: {
add: '新增站點',
edit: '編輯站點',
import: '批量導入',
export: '批量導出',
startImport: '開始導入',
},
messages: {
addSuccess: '新增站點成功',
addFailed: '新增站點失敗',
updateSuccess: '更新成功',
updateFailed: '更新失敗',
exportSuccess: '站點導出成功',
exportFailed: '站點導出失敗',
importSuccess: '成功導入 {count} 個站點',
importFailed: '站點導入失敗',
importPartialFailed: '導入完成,成功 {success} 個,失敗 {failed} 個',
noDataToImport: '沒有數據可導入',
noValidData: '沒有有效的數據',
someInvalidData: '部分數據無效,有效數據 {valid}/{total} 個',
invalidFileType: '不支持的文件類型請選擇JSON文件',
invalidFileFormat: '文件格式無效,請檢查文件內容',
parseFileError: '文件解析失敗,請檢查文件格式',
previewData: '預覽數據 ({count} 個站點)',
importing: '正在導入... ({progress}%)',
},
errors: {
loadDownloader: '加載下載器設置失敗',
@@ -1063,6 +1084,13 @@ export default {
accessTime: '訪問時間',
responseTime: '響應時間',
noTimeRecords: '暫無耗時記錄',
preview: {
title: '預覽站點',
showing: '顯示 {count}/{total}',
unnamed: '未命名站點',
noUrl: '無站點地址',
invalid: '數據無效',
},
},
message: {
loadMore: '加載更多',