修改
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
server:
|
||||
host: 127.0.0.1
|
||||
port: 8849
|
||||
path: C:\Users\MSI\AppData\Roaming\dzsp_shijingjun_offline_Y_save
|
||||
path: C:\Users\Administrator\AppData\Roaming\dzsp_shijingjun_offline_Y_save
|
||||
poi:
|
||||
global:
|
||||
enabled: false
|
||||
|
||||
@ -12,9 +12,10 @@ import { GetHomeDir } from './config'
|
||||
import { start, getServer } from "./app";
|
||||
const http = require("http");
|
||||
const yaml = require("js-yaml");
|
||||
let Store = require('electron-store')
|
||||
Store.initRenderer();
|
||||
const store = new Store()
|
||||
// 移除 electron-store,使用 Electron 提供的用户数据目录
|
||||
// let Store = require('electron-store')
|
||||
// Store.initRenderer();
|
||||
// const store = new Store()
|
||||
|
||||
|
||||
process.on('unhandledRejection', (reason) => {
|
||||
@ -147,7 +148,8 @@ function createWindow(): void {
|
||||
ymlBatPath = process.platform === 'win32' ? ymlBatPath.replace(/^(\w:)/, '/$1') : ymlBatPath
|
||||
let ymlPath = ymlBatPath.substring(1, 200)
|
||||
const ymlContent = yaml.load(fs.readFileSync(ymlPath, 'utf8'));
|
||||
ymlContent.server.path = path.dirname(store.path)
|
||||
ymlContent.server.path = app.getPath('userData')
|
||||
// ymlContent.server.path = path.dirname(store.path)
|
||||
fs.writeFileSync(ymlPath, yaml.dump(ymlContent));
|
||||
ipcMain.on("getIniConfig", (event, option) => {
|
||||
let ymlPath = ymlBatPath.substring(1, 200)
|
||||
@ -215,6 +217,38 @@ function createWindow(): void {
|
||||
event.sender.send("selectedItem", arr);
|
||||
});
|
||||
});
|
||||
ipcMain.handle('get-user-data-path', () => {
|
||||
return app.getPath('userData')
|
||||
});
|
||||
ipcMain.on('import-project-override', async (event, { srcZip, dst }) => {
|
||||
try {
|
||||
const compressing = require('compressing')
|
||||
await compressing.zip.uncompress(srcZip, dst)
|
||||
event.sender.send('import-project-override-res', { ok: true })
|
||||
} catch (e: any) {
|
||||
event.sender.send('import-project-override-res', { ok: false, error: e.message })
|
||||
}
|
||||
});
|
||||
ipcMain.on("export-project", (event, { dst }) => {
|
||||
try {
|
||||
const archiver = require('archiver');
|
||||
const output = fs.createWriteStream(dst);
|
||||
const archive = archiver('zip', { zlib: { level: 9 } });
|
||||
output.on('close', () => {
|
||||
event.sender.send('export-project-res', { ok: true });
|
||||
});
|
||||
archive.on('error', (err) => {
|
||||
event.sender.send('export-project-res', { ok: false, error: err.message });
|
||||
});
|
||||
archive.pipe(output);
|
||||
const dbPath = path.join(app.getPath('userData'), 'app.db');
|
||||
console.log('dbPath', dbPath);
|
||||
archive.file(dbPath, { name: 'app.db' });
|
||||
archive.finalize();
|
||||
} catch (e: any) {
|
||||
event.sender.send('export-project-res', { ok: false, error: e.message });
|
||||
}
|
||||
});
|
||||
ipcMain.on("saveFile", (event, { title, filename, filters }) => {
|
||||
dialog
|
||||
.showSaveDialog({
|
||||
|
||||
@ -521,18 +521,11 @@ const importProject = () => {
|
||||
if (paths.length > 0) {
|
||||
// let loadingInstance = this.$openLoading('拼命导入中...')
|
||||
importWin = false
|
||||
let arr = getElectronPath().replaceAll('\\', '/').split('/')
|
||||
console.log(arr, 'arrarr')
|
||||
arr.pop()
|
||||
// let path: any = 'C:/Users/Administrator/AppData/Roaming/yjearth'
|
||||
console.log(paths[0], arr.join('/'), 'pathpath')
|
||||
unzip_file(paths[0], arr.join('/'))
|
||||
.then((res) => {
|
||||
// loadingInstance.close()
|
||||
// ElMessage({
|
||||
// message: '导入成功',
|
||||
// type: 'success'
|
||||
// })
|
||||
const { ipcRenderer } = require('electron')
|
||||
ipcRenderer.invoke('get-user-data-path').then((userDataPath) => {
|
||||
ipcRenderer.send('import-project-override', { srcZip: paths[0], dst: userDataPath })
|
||||
ipcRenderer.once('import-project-override-res', (ev, res) => {
|
||||
if (res && res.ok) {
|
||||
setTimeout(() => {
|
||||
ElMessage({
|
||||
message: '载入成功,将在2s后自动重启',
|
||||
@ -542,13 +535,13 @@ const importProject = () => {
|
||||
setTimeout(() => {
|
||||
$sendElectronChanel('restart')
|
||||
}, 3000)
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err)
|
||||
} else {
|
||||
ElMessage({
|
||||
message: err,
|
||||
message: res?.error || '导入失败',
|
||||
type: 'warning'
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
importWin = false
|
||||
@ -657,31 +650,41 @@ function derive() {
|
||||
$sendElectronChanel('saveFile', option)
|
||||
$recvElectronChanel('selectedFileItem', (e, path) => {
|
||||
if (path) {
|
||||
// if (result.canceled) {
|
||||
// this.exportWin = !this.exportWin
|
||||
// return
|
||||
// }
|
||||
// let loadingInstance = this.$openLoading('拼命导出中...')
|
||||
// exportWin = !exportWin
|
||||
let arr = getElectronPath().replaceAll('\\', '/').split('/')
|
||||
arr.pop()
|
||||
arr[arr.length - 1] = 'yjearth/app.db'
|
||||
let db_path: any = arr.join('/')
|
||||
// let db_path: any = 'C:/Users/Administrator/AppData/Roaming/yjearth/app.db'
|
||||
try {
|
||||
zip_file([db_path], path, () => {
|
||||
// loadingInstance.close()
|
||||
const { ipcRenderer } = require('electron')
|
||||
ipcRenderer.send('export-project', { dst: path })
|
||||
ipcRenderer.once('export-project-res', (ev, res) => {
|
||||
if (res && res.ok) {
|
||||
ElMessage({
|
||||
message: '导出完成',
|
||||
type: 'success'
|
||||
})
|
||||
})
|
||||
} catch (error) {
|
||||
} else {
|
||||
ElMessage({
|
||||
message: error,
|
||||
message: res?.error || '导出失败',
|
||||
type: 'error'
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
// let arr = getElectronPath().replaceAll('\\', '/').split('/')
|
||||
// arr.pop()
|
||||
// arr[arr.length - 1] = 'yjearth/app.db'
|
||||
// let db_path: any = arr.join('/')
|
||||
// console.log(db_path, 'db_pathdb_path')
|
||||
// try {
|
||||
// zip_file([db_path], path, () => {
|
||||
// // loadingInstance.close()
|
||||
// ElMessage({
|
||||
// message: '导出完成',
|
||||
// type: 'success'
|
||||
// })
|
||||
// })
|
||||
// } catch (error) {
|
||||
// ElMessage({
|
||||
// message: error,
|
||||
// type: 'error'
|
||||
// })
|
||||
// }
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user