1 Star 0 Fork 3

CesiumLearn/geojson-transform-electron

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
main.js 2.64 KB
一键复制 编辑 原始数据 按行查看 历史
jooiForest 提交于 2022-06-22 10:08 . 初始化0.0.1
const path = require('path')
const fs = require('fs')
const { app, BrowserWindow, dialog, ipcMain, ipcRenderer, MessageChannelMain } = require('electron')
const { port1 } = new MessageChannelMain()
const { setTransform } = require(__dirname + '/src/utils/common.js')
// 保持一个对于 window 对象的全局引用,不然,当 JavaScript 被 GC,
// window 会被自动地关闭
var mainWindow = null;
// 当所有窗口被关闭了,退出。
app.on('window-all-closed', function() {
// 在 OS X 上,通常用户在明确地按下 Cmd + Q 之前
// 应用会保持活动状态
if (process.platform != 'darwin') {
app.quit();
}
});
// 当 Electron 完成了初始化并且准备创建浏览器窗口的时候
// 这个方法就被调用
app.on('ready', function() {
// 创建浏览器窗口。
mainWindow = new BrowserWindow({
width: 1200,
height: 600,
webPreferences: {
// 开启node
nodeIntegration: true,
contextIsolation: true,
preload: (__dirname + '/src/utils/preload.js')
},
});
// 加载应用的 index.html
mainWindow.loadFile('index.html')
// mainWindow.loadURL('file://' + + '/index.html');
// 打开开发工具
mainWindow.openDevTools();
// 当 window 被关闭,这个事件会被触发
mainWindow.on('closed', function() {
// 取消引用 window 对象,如果你的应用支持多窗口的话,
// 通常会把多个 window 对象存放在一个数组里面,
// 但这次不是。
mainWindow = null;
});
// 监听注册的事件
ipcMain.handle('open-mode:open', async(e, target) => {
// console.log("open file", target)
const res = dialog.showOpenDialogSync({
title:'打开geojson文件'
})
// 获取文件路径
const fileUrl = res[0];
// 获取文件文件夹路劲
const fileGroupUrl = fileUrl.substring(0, fileUrl.lastIndexOf("\\") + 1);
// 获取文件名
const fileName = fileUrl.substring(fileUrl.lastIndexOf("\\") + 1, fileUrl.length + 1)
// 文件操作
let geojson = fs.readFileSync(res[0], 'utf-8');
// console.log("open file", res)
const resultJson = await setTransform({
transform:target,
geojson:geojson,
})
let resultJsonString = ""
if(typeof resultJson == 'object'){
resultJsonString = JSON.stringify(resultJson)
}
// 转换坐标系后保存新文件
// console.log(resultJsonString)
fs.writeFile(fileGroupUrl + fileName + '1', resultJsonString, 'utf-8', (err) => {
if(!err){
e.sender.send('message-reply', '转换完成, 到文件目录下查看文件!')
console.log('write is ok!')
}
})
})
});
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/CesiumLearn/geojson-trisition-electron.git
[email protected]:CesiumLearn/geojson-trisition-electron.git
CesiumLearn
geojson-trisition-electron
geojson-transform-electron
master

搜索帮助