新增桌面歌词

This commit is contained in:
lyswhut
2020-06-11 21:16:59 +08:00
parent 25fc0226aa
commit 2a81d41c2c
107 changed files with 6935 additions and 1543 deletions
+2 -2
View File
@@ -1,9 +1,9 @@
const { mainOn } = require('../../common/ipc')
const { mainOn, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
const { app } = require('electron')
const { name: defaultName } = require('../../../package.json')
mainOn('appName', (event, params) => {
mainOn(ipcMainWindowNames.set_app_name, (event, params) => {
if (params == null) {
app.setName(defaultName)
} else {
+4 -4
View File
@@ -1,8 +1,8 @@
const { mainHandle } = require('../../common/ipc')
const { mainHandle, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
mainHandle('clearCache', async(event, options) => {
if (!global.mainWindow) throw new Error('mainwindow is undefined')
return global.mainWindow.webContents.session.clearCache()
mainHandle(ipcMainWindowNames.clear_cache, async(event, options) => {
if (!global.modals.mainWindow) throw new Error('mainWindow is undefined')
return global.modals.mainWindow.webContents.session.clearCache()
})
+4 -4
View File
@@ -1,7 +1,7 @@
const { mainHandle } = require('../../common/ipc')
const { mainHandle, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
mainHandle('getCacheSize', async(event, options) => {
if (!global.mainWindow) throw new Error('mainwindow is undefined')
return global.mainWindow.webContents.session.getCacheSize()
mainHandle(ipcMainWindowNames.get_cache_size, async(event, options) => {
if (!global.modals.mainWindow) throw new Error('mainWindow is undefined')
return global.modals.mainWindow.webContents.session.getCacheSize()
})
+3 -3
View File
@@ -1,6 +1,6 @@
const { mainHandle } = require('../../common/ipc')
const { mainHandle, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
mainHandle('getEnvParams', async(event, options) => {
return global.envParams
mainHandle(ipcMainWindowNames.get_env_params, async(event, options) => {
return global.envParams.cmdParams
})
+2 -2
View File
@@ -11,8 +11,8 @@ require('./clearCache')
require('./getCacheSize')
require('./setIgnoreMouseEvent')
require('./getEnvParams')
require('./tray')
require('./updateSetting')
require('./setAppSetting')
require('./setLyricInfo')
require('./xm_verify')
+3 -3
View File
@@ -1,6 +1,6 @@
const { inflate } = require('zlib')
const iconv = require('iconv-lite')
const { mainHandle } = require('../../common/ipc')
const { mainHandle, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
const handleInflate = data => new Promise((resolve, reject) => {
inflate(data, (err, result) => {
@@ -38,8 +38,8 @@ const decodeLyric = async(buf, isGetLyricx) => {
return iconv.decode(Buffer.from(output), 'gb18030')
}
mainHandle('kw_decodeLyric', async(event, { lrcBase64, isGetLyricx }) => {
if (!global.mainWindow) throw new Error('mainwindow is undefined')
mainHandle(ipcMainWindowNames.handle_kw_decode_lyric, async(event, { lrcBase64, isGetLyricx }) => {
if (!global.modals.mainWindow) throw new Error('mainWindow is undefined')
const lrc = await decodeLyric(Buffer.from(lrcBase64, 'base64'), isGetLyricx)
return Buffer.from(lrc).toString('base64')
})
+2 -2
View File
@@ -1,6 +1,6 @@
const { mainOn } = require('../../common/ipc')
const { mainOn, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
const { setMeta } = require('../utils/musicMeta')
mainOn('setMusicMeta', (event, { filePath, meta }) => {
mainOn(ipcMainWindowNames.set_music_meta, (event, { filePath, meta }) => {
setMeta(filePath, meta)
})
+3 -3
View File
@@ -1,9 +1,9 @@
const { mainOn } = require('../../common/ipc')
const { mainOn, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
mainOn('progress', (event, params) => {
mainOn(ipcMainWindowNames.progress, (event, params) => {
// console.log(params)
global.mainWindow && global.mainWindow.setProgressBar(params.status, {
global.modals.mainWindow && global.modals.mainWindow.setProgressBar(params.status, {
mode: params.mode || 'normal',
})
})
+3 -3
View File
@@ -1,10 +1,10 @@
const request = require('request')
const { mainOn } = require('../../common/ipc')
const { mainOn, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
const tasks = []
mainOn('request', (event, options) => {
mainOn(ipcMainWindowNames.handle_request, (event, options) => {
// console.log(args)
if (!options) return
let index = fetchData(options, (err, resp) => {
@@ -19,7 +19,7 @@ mainOn('request', (event, options) => {
event.returnValue = index
})
mainOn('cancelRequest', (event, index) => {
mainOn(ipcMainWindowNames.cancel_request, (event, index) => {
if (index == null) return
let r = tasks[index]
if (r == null) return
+2 -2
View File
@@ -1,7 +1,7 @@
const { mainOn } = require('../../common/ipc')
const { mainOn, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
mainOn('restartWindow', (event, name) => {
mainOn(ipcMainWindowNames.restart_window, (event, name) => {
console.log(name)
switch (name) {
case 'main':
+4 -4
View File
@@ -1,8 +1,8 @@
const { mainHandle } = require('../../common/ipc')
const { mainHandle, NAMES: { mainWindow: ipcMainWindowNames } } = 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)
mainHandle(ipcMainWindowNames.select_dir, async(event, options) => {
if (!global.modals.mainWindow) throw new Error('mainWindow is undefined')
return dialog.showOpenDialog(global.modals.mainWindow, options)
})
+7
View File
@@ -0,0 +1,7 @@
const { mainWindow: MAIN_WINDOW_EVENT_NAME } = require('../events/_name')
const { mainOn, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
mainOn(ipcMainWindowNames.set_app_setting, (event, config) => {
if (!config) return
global.lx_event.common.setAppConfig(config, MAIN_WINDOW_EVENT_NAME.name)
})
@@ -1,8 +1,8 @@
const { mainOn } = require('../../common/ipc')
const { mainOn, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
mainOn('setIgnoreMouseEvents', (event, isIgnored) => {
if (!global.mainWindow) return
mainOn(ipcMainWindowNames.set_ignore_mouse_events, (event, isIgnored) => {
if (!global.modals.mainWindow) return
isIgnored
? global.mainWindow.setIgnoreMouseEvents(true, { forward: true })
: global.mainWindow.setIgnoreMouseEvents(false)
? global.modals.mainWindow.setIgnoreMouseEvents(true, { forward: true })
: global.modals.mainWindow.setIgnoreMouseEvents(false)
})
+10
View File
@@ -0,0 +1,10 @@
const { mainOn, mainSend, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
mainOn(ipcMainWindowNames.set_lyric_info, (event, info) => {
if (info.info == null) {
global.lx_event.mainWindow.setLyricInfo(info)
return
}
mainSend(global.modals[info.info.modal], info.info.name, info)
})
+4 -4
View File
@@ -1,7 +1,7 @@
const { mainOn } = require('../../common/ipc')
const { mainOn, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
mainOn('setWindowSize', (event, options) => {
if (!global.mainWindow) return
global.mainWindow.setBounds(options)
mainOn(ipcMainWindowNames.set_window_size, (event, options) => {
if (!global.modals.mainWindow) return
global.modals.mainWindow.setBounds(options)
})
+4 -4
View File
@@ -1,8 +1,8 @@
const { mainHandle } = require('../../common/ipc')
const { mainHandle, NAMES: { mainWindow: ipcMainWindowNames } } = 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)
mainHandle(ipcMainWindowNames.show_save_dialog, async(event, options) => {
if (!global.modals.mainWindow) throw new Error('mainWindow is undefined')
return dialog.showSaveDialog(global.modals.mainWindow, options)
})
+9 -9
View File
@@ -1,18 +1,18 @@
const { app } = require('electron')
const { mainOn } = require('../../common/ipc')
const { mainOn, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
mainOn('min', event => {
if (global.mainWindow) {
global.mainWindow.minimize()
mainOn(ipcMainWindowNames.min, event => {
if (global.modals.mainWindow) {
global.modals.mainWindow.minimize()
}
})
mainOn('max', event => {
if (global.mainWindow) {
global.mainWindow.maximize()
mainOn(ipcMainWindowNames.max, event => {
if (global.modals.mainWindow) {
global.modals.mainWindow.maximize()
}
})
mainOn('close', (event, isForce) => {
mainOn(ipcMainWindowNames.close, (event, isForce) => {
if (isForce) return app.exit(0)
global.isTrafficLightClose = true
if (global.mainWindow) global.mainWindow.close()
if (global.modals.mainWindow) global.modals.mainWindow.close()
})
-12
View File
@@ -1,12 +0,0 @@
// const { app } = require('electron')
const { mainOn } = require('../../common/ipc')
mainOn('changeTray', (event, setting) => {
global.appSetting.tray = setting
if (setting.isToTray) {
global.lx_event.tray.create()
} else {
global.lx_event.tray.destroy()
}
})
-7
View File
@@ -1,7 +0,0 @@
const { mainOn } = require('../../common/ipc')
mainOn('updateAppSetting', (event, setting) => {
if (!setting) return
global.appSetting = setting
})
+4 -2
View File
@@ -1,4 +1,5 @@
const { isWin } = require('../../common/utils')
const { mainSend, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../common/ipc')
global.isQuitting = false
global.isTrafficLightClose = false // 是否点击软件上的关闭按钮关闭
@@ -6,6 +7,7 @@ module.exports = mainWindow => {
mainWindow.on('close', event => {
if (global.isQuitting || !global.appSetting.tray.isToTray || (!isWin && !global.isTrafficLightClose)) {
mainWindow.setProgressBar(-1)
global.lx_event.winLyric.close()
return
}
@@ -15,14 +17,14 @@ module.exports = mainWindow => {
})
mainWindow.on('closed', () => {
mainWindow = global.mainWindow = null
mainWindow = global.modals.mainWindow = null
})
// mainWindow.on('restore', () => {
// mainWindow.webContents.send('restore')
// })
mainWindow.on('focus', () => {
mainWindow.webContents.send('focus')
mainSend(mainWindow, ipcMainWindowNames.focus)
})
mainWindow.once('ready-to-show', () => {
@@ -1,5 +1,5 @@
const { BrowserView } = require('electron')
const { mainHandle } = require('../../../common/ipc')
const { mainHandle, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../../common/ipc')
const { getWindowSizeInfo } = require('../../utils')
let view
@@ -9,16 +9,16 @@ let rejectFn
const closeView = async() => {
if (!view) return
// await view.webContents.session.clearCache()
if (global.mainWindow) global.mainWindow.removeBrowserView(view)
if (global.modals.mainWindow) global.modals.mainWindow.removeBrowserView(view)
await view.webContents.session.clearStorageData()
view.destroy()
view = null
}
mainHandle('xm_verify_open', (event, url) => new Promise((resolve, reject) => {
if (!global.mainWindow) return reject(new Error('mainwindow is undefined'))
mainHandle(ipcMainWindowNames.handle_xm_verify_open, (event, url) => new Promise((resolve, reject) => {
if (!global.modals.mainWindow) return reject(new Error('mainWindow is undefined'))
if (view) {
global.mainWindow.removeBrowserView(view)
global.modals.mainWindow.removeBrowserView(view)
view.destroy()
}
@@ -48,7 +48,7 @@ mainHandle('xm_verify_open', (event, url) => new Promise((resolve, reject) => {
})
})
global.mainWindow.setBrowserView(view)
global.modals.mainWindow.setBrowserView(view)
const windowSizeInfo = getWindowSizeInfo(global.appSetting)
view.setBounds({ x: (windowSizeInfo.width - 380) / 2, y: ((windowSizeInfo.height - 320 + 52) / 2), width: 380, height: 320 })
view.webContents.loadURL(url, {
@@ -57,7 +57,7 @@ mainHandle('xm_verify_open', (event, url) => new Promise((resolve, reject) => {
// view.webContents.openDevTools()
}))
mainHandle('xm_verify_close', async() => {
mainHandle(ipcMainWindowNames.handle_xm_verify_close, async() => {
await closeView()
if (!rejectFn) return
if (!isActioned) rejectFn(new Error('canceled verify'))
@@ -1,5 +1,5 @@
const { BrowserWindow } = require('electron')
const { mainHandle } = require('../../../common/ipc')
const { mainHandle, NAMES: { mainWindow: ipcMainWindowNames } } = require('../../../common/ipc')
const { getWindowSizeInfo } = require('../../utils')
let win
@@ -7,7 +7,7 @@ let win
const closeWin = async() => {
if (!win) return
// await win.webContents.session.clearCache()
// if (global.mainWindow) global.mainWindow.removeBrowserView(win)
// if (global.modals.mainWindow) global.modals.mainWindow.removeBrowserView(win)
if (win.isDestroyed()) {
win = null
return
@@ -17,16 +17,16 @@ const closeWin = async() => {
win = null
}
mainHandle('xm_verify_open', (event, url) => new Promise((resolve, reject) => {
if (!global.mainWindow) return reject(new Error('mainwindow is undefined'))
mainHandle(ipcMainWindowNames.handle_xm_verify_open, (event, url) => new Promise((resolve, reject) => {
if (!global.modals.mainWindow) return reject(new Error('mainWindow is undefined'))
if (win) win.destroy()
let isActioned = false
const mainWindowSizeInfo = global.mainWindow.getBounds()
const mainWindowSizeInfo = global.modals.mainWindow.getBounds()
const windowSizeInfo = getWindowSizeInfo(global.appSetting)
win = new BrowserWindow({
parent: global.mainWindow,
parent: global.modals.mainWindow,
width: 460,
height: 370,
resizable: false,
@@ -72,6 +72,6 @@ mainHandle('xm_verify_open', (event, url) => new Promise((resolve, reject) => {
// win.webContents.openDevTools()
}))
mainHandle('xm_verify_close', async() => {
mainHandle(ipcMainWindowNames.handle_xm_verify_close, async() => {
await closeWin()
})