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
co-authored by jxxghp
parent c330aee560
commit afc7c81028
10 changed files with 17725 additions and 684 deletions
+28
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',