Merge branch 'master' into dev

This commit is contained in:
lyswhut
2020-04-03 20:13:54 +08:00
36 changed files with 220 additions and 82 deletions
+13
View File
@@ -0,0 +1,13 @@
const { mainOn } = require('../../common/ipc')
const { app } = require('electron')
const { name: defaultName } = require('../../../package.json')
mainOn('appName', (event, params) => {
if (params == null) {
app.setName(defaultName)
} else {
app.setName(params.name)
}
})
+8
View File
@@ -0,0 +1,8 @@
const { mainHandle } = require('../../common/ipc')
mainHandle('clearCache', async(event, options) => {
if (!global.mainWindow) throw new Error('mainwindow is undefined')
return global.mainWindow.webContents.session.clearCache()
})
+7
View File
@@ -0,0 +1,7 @@
const { mainHandle } = require('../../common/ipc')
mainHandle('getCacheSize', async(event, options) => {
if (!global.mainWindow) throw new Error('mainwindow is undefined')
return global.mainWindow.webContents.session.getCacheSize()
})
+6
View File
@@ -0,0 +1,6 @@
const { mainHandle } = require('../../common/ipc')
mainHandle('getEnvParams', async(event, options) => {
return global.envParams
})
+14
View File
@@ -0,0 +1,14 @@
require('./request')
// require('./appName')
require('./progressBar')
require('./trafficLight')
require('./musicMeta')
require('./selectDir')
require('./setWindowSize')
require('./showSaveDialog')
require('./clearCache')
require('./getCacheSize')
require('./setIgnoreMouseEvent')
require('./getEnvParams')
require('./tray')
+6
View File
@@ -0,0 +1,6 @@
const { mainOn } = require('../../common/ipc')
const { setMeta } = require('../utils/musicMeta')
mainOn('setMusicMeta', (event, { filePath, meta }) => {
setMeta(filePath, meta)
})
+10
View File
@@ -0,0 +1,10 @@
const { mainOn } = require('../../common/ipc')
mainOn('progress', (event, params) => {
// console.log(params)
global.mainWindow && global.mainWindow.setProgressBar(params.status, {
mode: params.mode || 'normal',
})
})
+45
View File
@@ -0,0 +1,45 @@
const request = require('request')
const { mainOn } = require('../../common/ipc')
const tasks = []
mainOn('request', (event, options) => {
// console.log(args)
if (!options) return
let index = fetchData(options, (err, resp) => {
tasks[index] = null
if (err) {
console.log(err)
event.sender.send('response', err.message, null)
return
}
event.sender.send('response', null, resp.body)
})
event.returnValue = index
})
mainOn('cancelRequest', (event, index) => {
if (index == null) return
let r = tasks[index]
if (r == null) return
r.abort()
tasks[index] = null
})
const fetchData = (options, callback) => pushTask(tasks, request(options.url, {
method: options.method,
headers: options.headers,
Origin: options.origin,
}, (err, resp) => {
if (err) return callback(err, null)
callback(null, resp)
}))
const pushTask = (tasks, newTask) => {
for (const [index, task] of tasks.entries()) {
if (task == null) {
return tasks[index].push(newTask)
}
}
}
+13
View File
@@ -0,0 +1,13 @@
const { mainOn } = require('../../common/ipc')
mainOn('restartWindow', (event, name) => {
console.log(name)
switch (name) {
case 'main':
default:
break
}
})
+8
View File
@@ -0,0 +1,8 @@
const { mainHandle } = require('../../common/ipc')
const { dialog } = require('electron')
mainHandle('selectDir', async(event, options) => {
if (!global.mainWindow) throw new Error('mainwindow is undefined')
return dialog.showOpenDialog(global.mainWindow, options)
})
@@ -0,0 +1,8 @@
const { mainOn } = require('../../common/ipc')
mainOn('setIgnoreMouseEvents', (event, isIgnored) => {
if (!global.mainWindow) return
isIgnored
? global.mainWindow.setIgnoreMouseEvents(true, { forward: true })
: global.mainWindow.setIgnoreMouseEvents(false)
})
+7
View File
@@ -0,0 +1,7 @@
const { mainOn } = require('../../common/ipc')
mainOn('setWindowSize', (event, options) => {
if (!global.mainWindow) return
global.mainWindow.setBounds(options)
})
@@ -0,0 +1,8 @@
const { mainHandle } = require('../../common/ipc')
const { dialog } = require('electron')
mainHandle('showSaveDialog', async(event, options) => {
if (!global.mainWindow) throw new Error('mainwindow is undefined')
return dialog.showSaveDialog(global.mainWindow, options)
})
+22
View File
@@ -0,0 +1,22 @@
// const { app } = require('electron')
const { mainOn } = require('../../common/ipc')
mainOn('min', event => {
if (global.mainWindow) {
global.mainWindow.minimize()
}
})
mainOn('max', event => {
if (global.mainWindow) {
global.mainWindow.maximize()
}
})
mainOn('close', (event, params) => {
if (global.mainWindow) {
// console.log('close', params)
if (params && params.isToTray) return global.mainWindow.hide()
// global.mainWindowdow.destroy()
// app.quit()
global.mainWindow.close()
}
})
+17
View File
@@ -0,0 +1,17 @@
// const { app } = require('electron')
const { mainOn } = require('../../common/ipc')
mainOn('changeTray', (event, params) => {
switch (params.action) {
case 'create':
global.lx_event.tray.create()
break
case 'destroy':
global.lx_event.tray.destroy()
break
default:
break
}
})
+17
View File
@@ -0,0 +1,17 @@
module.exports = mainWindow => {
mainWindow.on('close', () => {
mainWindow.setProgressBar(-1)
})
mainWindow.on('closed', () => {
mainWindow = global.mainWindow = null
})
// mainWindow.on('restore', () => {
// mainWindow.webContents.send('restore')
// })
mainWindow.once('ready-to-show', () => {
mainWindow.show()
})
}