333 lines
8.5 KiB
JavaScript
333 lines
8.5 KiB
JavaScript
import { rendererOn, rendererSend, rendererInvoke, NAMES, rendererOff } from '@common/ipc'
|
|
import apiSourceInfo from '../utils/music/api-source-info'
|
|
import { apiSource } from '@renderer/core/share'
|
|
import * as hotKeys from '@common/hotKey'
|
|
import { markRaw } from '@renderer/utils/vueTools'
|
|
import { mainWindow as eventsNameMainWindow, winLyric as eventsNameWinLyric } from '@main/events/_name'
|
|
|
|
export const setUserApi = source => {
|
|
return rendererInvoke(NAMES.mainWindow.set_user_api, source).catch(err => {
|
|
console.log(err)
|
|
let api = apiSourceInfo.find(api => !api.disabled)
|
|
if (api) apiSource.value = api.id
|
|
})
|
|
}
|
|
|
|
export const onShowUserApiUpdateAlert = callback => {
|
|
rendererOn(NAMES.mainWindow.user_api_show_update_alert, callback)
|
|
return () => {
|
|
rendererOff(callback)
|
|
}
|
|
}
|
|
|
|
export const setAllowShowUserApiUpdateAlert = (id, enable) => {
|
|
return rendererInvoke(NAMES.mainWindow.user_api_set_allow_update_alert, { id, enable })
|
|
}
|
|
|
|
export const saveMyList = data => {
|
|
rendererSend(NAMES.mainWindow.save_playlist, {
|
|
type: 'myList',
|
|
data: JSON.stringify(data),
|
|
})
|
|
}
|
|
export const saveDownloadList = list => {
|
|
rendererSend(NAMES.mainWindow.save_playlist, {
|
|
type: 'downloadList',
|
|
data: JSON.stringify(list),
|
|
})
|
|
}
|
|
|
|
export const saveSearchHistoryList = list => {
|
|
rendererSend(NAMES.mainWindow.save_data, {
|
|
path: 'searchHistoryList',
|
|
data: list,
|
|
})
|
|
}
|
|
|
|
export const syncEnable = ({ enable, port }) => {
|
|
return rendererInvoke(NAMES.mainWindow.sync_enable, {
|
|
enable,
|
|
port,
|
|
})
|
|
}
|
|
|
|
export const setIgnoreMouseEvents = ignore => {
|
|
rendererSend(NAMES.mainWindow.set_ignore_mouse_events, ignore)
|
|
}
|
|
|
|
export const getEnvParams = () => {
|
|
return rendererInvoke(NAMES.mainWindow.get_env_params)
|
|
}
|
|
|
|
export const clearEnvParamsDeeplink = () => {
|
|
return rendererSend(NAMES.mainWindow.clear_env_params_deeplink)
|
|
}
|
|
|
|
export const onUpdateAvailable = callback => {
|
|
rendererOn(NAMES.mainWindow.update_available, callback)
|
|
return () => {
|
|
rendererOff(callback)
|
|
}
|
|
}
|
|
|
|
export const onUpdateError = callback => {
|
|
rendererOn(NAMES.mainWindow.update_error, callback)
|
|
return () => {
|
|
rendererOff(callback)
|
|
}
|
|
}
|
|
|
|
export const onUpdateProgress = callback => {
|
|
rendererOn(NAMES.mainWindow.update_progress, callback)
|
|
return () => {
|
|
rendererOff(callback)
|
|
}
|
|
}
|
|
|
|
export const onUpdateDownloaded = callback => {
|
|
rendererOn(NAMES.mainWindow.update_downloaded, callback)
|
|
return () => {
|
|
rendererOff(callback)
|
|
}
|
|
}
|
|
|
|
export const onUpdateNotAvailable = callback => {
|
|
rendererOn(NAMES.mainWindow.update_not_available, callback)
|
|
return () => {
|
|
rendererOff(callback)
|
|
}
|
|
}
|
|
|
|
export const onSetConfig = callback => {
|
|
rendererOn(NAMES.mainWindow.set_config, callback)
|
|
return () => {
|
|
rendererOff(callback)
|
|
}
|
|
}
|
|
|
|
// 获取上次关闭时的当前歌曲播放信息
|
|
export const getPlayInfo = () => {
|
|
return rendererInvoke(NAMES.mainWindow.get_data, 'playInfo')
|
|
}
|
|
|
|
// 获取搜索历史列表
|
|
export const getSearchHistoryList = () => {
|
|
return rendererInvoke(NAMES.mainWindow.get_data, 'searchHistoryList')
|
|
}
|
|
|
|
export const onUserApiStatus = callback => {
|
|
rendererOn(NAMES.mainWindow.user_api_status, callback)
|
|
return () => {
|
|
rendererOff(callback)
|
|
}
|
|
}
|
|
|
|
export const getUserApiList = () => {
|
|
return rendererInvoke(NAMES.mainWindow.get_user_api_list)
|
|
}
|
|
|
|
export const userApiRequest = ({ requestKey, data }) => {
|
|
return rendererInvoke(NAMES.mainWindow.request_user_api, {
|
|
requestKey,
|
|
data,
|
|
})
|
|
}
|
|
export const userApiRequestCancel = requestKey => {
|
|
rendererSend(NAMES.mainWindow.request_user_api_cancel, requestKey)
|
|
}
|
|
|
|
export const setDesktopLyricInfo = (type, data, info) => {
|
|
rendererSend(NAMES.mainWindow.set_lyric_info, {
|
|
type,
|
|
data,
|
|
info,
|
|
})
|
|
}
|
|
export const onGetDesktopLyricInfo = callback => {
|
|
rendererOn(NAMES.mainWindow.get_lyric_info, callback)
|
|
return () => {
|
|
rendererOff(callback)
|
|
}
|
|
}
|
|
|
|
export const setTaskBarProgress = (status, mode) => {
|
|
rendererSend(NAMES.mainWindow.progress, {
|
|
status: status < 0 ? status : Math.max(0.01, status),
|
|
mode: mode || 'normal',
|
|
})
|
|
}
|
|
|
|
export const savePlayInfo = ({ time, maxTime, listId, list, index }) => {
|
|
rendererSend(NAMES.mainWindow.save_data, {
|
|
path: 'playInfo',
|
|
data: {
|
|
time,
|
|
maxTime,
|
|
listId,
|
|
list: [],
|
|
index,
|
|
},
|
|
})
|
|
}
|
|
|
|
export const wait = (time, id) => {
|
|
return rendererInvoke(NAMES.mainWindow.wait, { time, id })
|
|
}
|
|
|
|
export const waitCancel = id => {
|
|
return rendererSend(NAMES.mainWindow.wait_cancel, id)
|
|
}
|
|
|
|
// 简体转繁体
|
|
export const langS2T = str => {
|
|
return rendererInvoke(NAMES.mainWindow.lang_s2t, Buffer.from(str).toString('base64'))
|
|
.then(b64 => Buffer.from(b64, 'base64').toString())
|
|
}
|
|
|
|
export const getSystemFonts = () => {
|
|
return rendererInvoke(NAMES.mainWindow.get_system_fonts).catch(() => {
|
|
return []
|
|
})
|
|
}
|
|
|
|
export const refreshSyncCode = () => {
|
|
return rendererInvoke(NAMES.mainWindow.sync_generate_code)
|
|
}
|
|
|
|
export const onSyncStatus = callback => {
|
|
rendererOn(NAMES.mainWindow.sync_status, callback)
|
|
|
|
return () => {
|
|
rendererOff(callback)
|
|
}
|
|
}
|
|
|
|
export const allHotKeys = markRaw({
|
|
local: [
|
|
{
|
|
name: hotKeys.player.toggle_play.name,
|
|
action: hotKeys.player.toggle_play.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.player.prev.name,
|
|
action: hotKeys.player.prev.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.player.next.name,
|
|
action: hotKeys.player.next.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.common.focusSearchInput.name,
|
|
action: hotKeys.common.focusSearchInput.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.common.min.name,
|
|
action: hotKeys.common.min.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.common.close.name,
|
|
action: hotKeys.common.close.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
],
|
|
global: [
|
|
{
|
|
name: hotKeys.common.min_toggle.name,
|
|
action: hotKeys.common.min_toggle.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.common.hide_toggle.name,
|
|
action: hotKeys.common.hide_toggle.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.common.close.name,
|
|
action: hotKeys.common.close.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.player.toggle_play.name,
|
|
action: hotKeys.player.toggle_play.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.player.prev.name,
|
|
action: hotKeys.player.prev.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.player.next.name,
|
|
action: hotKeys.player.next.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.player.volume_up.name,
|
|
action: hotKeys.player.volume_up.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.player.volume_down.name,
|
|
action: hotKeys.player.volume_down.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.player.volume_mute.name,
|
|
action: hotKeys.player.volume_mute.action,
|
|
type: eventsNameMainWindow.name,
|
|
},
|
|
{
|
|
name: hotKeys.desktop_lyric.toggle_visible.name,
|
|
action: hotKeys.desktop_lyric.toggle_visible.action,
|
|
type: eventsNameWinLyric.name,
|
|
},
|
|
{
|
|
name: hotKeys.desktop_lyric.toggle_lock.name,
|
|
action: hotKeys.desktop_lyric.toggle_lock.action,
|
|
type: eventsNameWinLyric.name,
|
|
},
|
|
{
|
|
name: hotKeys.desktop_lyric.toggle_always_top.name,
|
|
action: hotKeys.desktop_lyric.toggle_always_top.action,
|
|
type: eventsNameWinLyric.name,
|
|
},
|
|
],
|
|
})
|
|
|
|
export const hotKeySetEnable = (enable) => {
|
|
return rendererInvoke(NAMES.hotKey.enable, enable)
|
|
}
|
|
|
|
export const hotKeySetConfig = (config) => {
|
|
return rendererInvoke(NAMES.hotKey.set_config, config)
|
|
}
|
|
|
|
export const hotKeyGetStatus = () => {
|
|
return rendererInvoke(NAMES.hotKey.status)
|
|
}
|
|
|
|
export const onTaskbarThumbarClick = callback => {
|
|
rendererOn(NAMES.mainWindow.taskbar_on_thumbar_button_click, callback)
|
|
return () => {
|
|
rendererOff(callback)
|
|
}
|
|
}
|
|
export const setTaskbarThumbnailClip = (clip) => {
|
|
return rendererInvoke(NAMES.mainWindow.taskbar_set_thumbnail_clip, clip)
|
|
}
|
|
export const setTaskbarThumbarButtons = (buttons) => {
|
|
rendererSend(NAMES.mainWindow.taskbar_set_thumbar_buttons, buttons)
|
|
}
|
|
|
|
export const onSystemThemeChange = callback => {
|
|
rendererOn(NAMES.mainWindow.system_theme_change, callback)
|
|
return () => {
|
|
rendererOff(callback)
|
|
}
|
|
}
|