Feat: 7zip test

This commit is contained in:
unitwk 2024-02-06 20:55:10 +08:00
parent 38a341ec41
commit 725fd1ebdf
3 changed files with 11 additions and 15 deletions

View File

@ -114,14 +114,15 @@ async function useZip(distZip: string, files: string[]): Promise<boolean> {
}
async function use7zipCompress(zipPath: string, files: string[]): Promise<boolean> {
const cmd = `7z.exe a ${zipPath} ${files.join(" ")}`.split(" ");
const cmd = ["7z.exe", "a", "-aoa", zipPath, ...files];
console.log($t("TXT_CODE_common._7zip"), `${cmd.join(" ")}`);
return new Promise((resolve, reject) => {
const p = cmd.splice(1);
const subProcess = child_process.spawn(cmd[0], [...p], {
cwd: path.normalize(path.join(process.cwd(), "7zip")),
const subProcess = child_process.spawn(cmd[0], cmd.splice(1), {
cwd: path.normalize(path.join(process.cwd(), "lib")),
stdio: "pipe"
});
subProcess.stdout.on("data", (text) => {});
subProcess.stderr.on("data", (text) => {});
if (!subProcess || !subProcess.pid) return reject(new Error(COMPRESS_ERROR_MSG.startErr));
subProcess.on("exit", (code) => {
if (code) return reject(new Error(COMPRESS_ERROR_MSG.exitErr));
@ -133,13 +134,15 @@ async function use7zipCompress(zipPath: string, files: string[]): Promise<boolea
// ./7z.exe x archive.zip -oD:\7-Zip
async function use7zipDecompress(sourceZip: string, destDir: string): Promise<boolean> {
const cmd = `7z.exe x ${sourceZip} -o${destDir}`.split(" ");
const cmd = [`7z.exe`, `x`, "-aoa", sourceZip, `-o${destDir}`];
console.log($t("TXT_CODE_common._7unzip"), `${cmd.join(" ")}`);
return new Promise((resolve, reject) => {
const subProcess = child_process.spawn(cmd[0], [cmd[1], cmd[2], cmd[3]], {
cwd: path.normalize(path.join(process.cwd(), "7zip")),
const subProcess = child_process.spawn(cmd[0], cmd.splice(1), {
cwd: path.normalize(path.join(process.cwd(), "lib")),
stdio: "pipe"
});
subProcess.stdout.on("data", (text) => {});
subProcess.stderr.on("data", (text) => {});
if (!subProcess || !subProcess.pid) return reject(new Error(COMPRESS_ERROR_MSG.startErr));
subProcess.on("exit", (code) => {
if (code) return reject(new Error(COMPRESS_ERROR_MSG.exitErr));

View File

@ -65,7 +65,6 @@ declare module 'vue' {
ATypographyTitle: typeof import('ant-design-vue/es')['TypographyTitle']
AUpload: typeof import('ant-design-vue/es')['Upload']
BetweenMenus: typeof import('./src/components/BetweenMenus.vue')['default']
BgWrap: typeof import('./src/components/BgWrap.vue')['default']
CardError: typeof import('./src/components/CardError.vue')['default']
CardOperator: typeof import('./src/components/CardOperator.vue')['default']
CardPanel: typeof import('./src/components/CardPanel.vue')['default']

8
package-lock.json generated
View File

@ -9,8 +9,7 @@
"version": "1.0.0",
"dependencies": {
"crc": "^4.3.2",
"i18next-scanner": "^4.4.0",
"wavesurfer.js": "^7.6.4"
"i18next-scanner": "^4.4.0"
}
},
"node_modules/@babel/runtime": {
@ -903,11 +902,6 @@
"node": ">=10.13.0"
}
},
"node_modules/wavesurfer.js": {
"version": "7.6.4",
"resolved": "https://registry.npmjs.org/wavesurfer.js/-/wavesurfer.js-7.6.4.tgz",
"integrity": "sha512-ZpGOHzFeShTD02OoXNSoo9hfHM7awPckNjlRuCbLb9eKcHTJB8tEE+REkNOwJKJ46uo0cT7VeRbMlVvKgzUV/w=="
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",