const fs = require('fs') const path = require('path') const env = process.argv[2] || 'uat' const srcDir = path.join(__dirname, '..', 'dist') // 项目根目录下的 electron-update/{env},用于 docker volume 挂载给 nginx const localUpdateDir = path.join(__dirname, '..', '..', 'electron-update', env) // NAS 共享路径 const nasDir = path.join('\\\\JIULUGNAS\\personal_folder\\CodeSpace\\GameGroup2\\electron-update', env) function ensureDir(dir) { try { if (!fs.existsSync(dir)) { fs.mkdirSync(dir, { recursive: true }) } return true } catch (err) { console.error(`[copy-to-nas] failed to create dir ${dir}:`, err.message) return false } } function copyFilesTo(destDir, label) { if (!fs.existsSync(srcDir)) { console.log(`[copy-to-nas] dist not found, skipping ${label}`) return } const files = fs.readdirSync(srcDir).filter((f) => { const ext = path.extname(f).toLowerCase() return ( ext === '.exe' || ext === '.yml' || ext === '.blockmap' || ext === '.nupkg' || ext === '.yaml' ) }) if (files.length === 0) { console.log(`[copy-to-nas] no update files found in dist, skipping ${label}`) return } if (!ensureDir(destDir)) return for (const file of files) { const src = path.join(srcDir, file) const dest = path.join(destDir, file) try { fs.copyFileSync(src, dest) console.log(`[copy-to-nas] copied ${file} -> ${destDir}`) } catch (err) { console.error(`[copy-to-nas] failed to copy ${file} to ${label}:`, err.message) } } } // 复制到本地目录(供 docker volume 挂载) copyFilesTo(localUpdateDir, 'local') // 复制到 NAS copyFilesTo(nasDir, 'NAS')