修复扫描速度慢,优化仓库显示
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* 配置文件修复脚本
|
||||
* 用于检查和修复损坏的配置文件
|
||||
*/
|
||||
|
||||
const fs = require('fs').promises
|
||||
const path = require('path')
|
||||
|
||||
async function fixConfig() {
|
||||
try {
|
||||
console.log('🔧 开始检查配置文件...')
|
||||
|
||||
// 检测配置文件路径
|
||||
const isPkg = process.pkg !== undefined
|
||||
let configPath
|
||||
|
||||
if (isPkg) {
|
||||
configPath = path.join(process.cwd(), 'data', 'user-config.json')
|
||||
} else {
|
||||
configPath = path.join(__dirname, '..', 'config', 'user-config.json')
|
||||
}
|
||||
|
||||
console.log(`📁 配置文件路径: ${configPath}`)
|
||||
|
||||
// 检查文件是否存在
|
||||
try {
|
||||
await fs.access(configPath)
|
||||
console.log('✅ 配置文件存在')
|
||||
} catch (error) {
|
||||
console.log('❌ 配置文件不存在,将创建默认配置')
|
||||
return
|
||||
}
|
||||
|
||||
// 检查文件内容
|
||||
try {
|
||||
const content = await fs.readFile(configPath, 'utf8')
|
||||
|
||||
if (!content || content.trim() === '') {
|
||||
console.log('⚠️ 配置文件为空')
|
||||
throw new Error('配置文件为空')
|
||||
}
|
||||
|
||||
// 尝试解析JSON
|
||||
const config = JSON.parse(content)
|
||||
console.log('✅ 配置文件格式正确')
|
||||
console.log('📋 配置内容:', JSON.stringify(config, null, 2))
|
||||
|
||||
} catch (error) {
|
||||
console.log('❌ 配置文件损坏:', error.message)
|
||||
|
||||
// 备份损坏的文件
|
||||
const backupPath = configPath + '.backup.' + Date.now()
|
||||
try {
|
||||
await fs.copyFile(configPath, backupPath)
|
||||
console.log(`💾 已备份损坏的配置文件到: ${backupPath}`)
|
||||
} catch (backupError) {
|
||||
console.log('⚠️ 备份失败:', backupError.message)
|
||||
}
|
||||
|
||||
// 创建默认配置
|
||||
const defaultConfig = {
|
||||
downloadDir: "./downloads",
|
||||
fileStructure: "artist/artwork",
|
||||
namingPattern: "{artist_name}/{artwork_id}_{title}",
|
||||
maxFileSize: 0,
|
||||
allowedExtensions: [".jpg", ".png", ".gif", ".webp"],
|
||||
autoMigration: false,
|
||||
migrationRules: [],
|
||||
lastUpdated: new Date().toISOString()
|
||||
}
|
||||
|
||||
// 确保目录存在
|
||||
const configDir = path.dirname(configPath)
|
||||
await fs.mkdir(configDir, { recursive: true })
|
||||
|
||||
// 写入默认配置
|
||||
await fs.writeFile(configPath, JSON.stringify(defaultConfig, null, 2), 'utf8')
|
||||
console.log('✅ 已创建默认配置文件')
|
||||
|
||||
}
|
||||
|
||||
console.log('🎉 配置文件检查完成')
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ 修复配置文件失败:', error.message)
|
||||
process.exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
// 如果直接运行此脚本
|
||||
if (require.main === module) {
|
||||
fixConfig()
|
||||
}
|
||||
|
||||
module.exports = { fixConfig }
|
||||
Reference in New Issue
Block a user