diff --git a/app.js b/app.js
index 4190b18..f8cbe89 100644
--- a/app.js
+++ b/app.js
@@ -1,5 +1,7 @@
const { app, BrowserWindow, ipcMain, Tray, Menu, globalShortcut, nativeImage } = require('electron')
const path = require('path')
+const Store = require('electron-store');
+const setJson = require('./electron/set.json')
let mainWin = null
function createWindow() {
@@ -50,6 +52,13 @@ function createWindow() {
win.show()
}
})
+
+ const set = store.get('set')
+ // store.set('set', setJson)
+
+ if (!set) {
+ store.set('set', setJson)
+ }
}
app.whenReady().then(createWindow)
@@ -104,3 +113,21 @@ ipcMain.on('mini-tray', (event) => {
const win = BrowserWindow.fromWebContents(event.sender)
win.hide()
})
+
+// 重启
+ipcMain.on('restart', () => {
+ app.relaunch()
+ app.exit(0)
+})
+
+const store = new Store();
+
+// 定义ipcRenderer监听事件
+ipcMain.on('setStore', (_, key, value) => {
+ store.set(key, value)
+})
+
+ipcMain.on('getStore', (_, key) => {
+ let value = store.get(key)
+ _.returnValue = value || ""
+})
\ No newline at end of file
diff --git a/components.d.ts b/components.d.ts
index 830f9ce..b6817ad 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -7,7 +7,6 @@ export {}
declare module 'vue' {
export interface GlobalComponents {
- AlbumsItem: typeof import('./src/components/common/AlbumsItem.vue')['default']
MPop: typeof import('./src/components/common/MPop.vue')['default']
MusicList: typeof import('./src/components/MusicList.vue')['default']
NAvatar: typeof import('naive-ui')['NAvatar']
@@ -23,8 +22,8 @@ declare module 'vue' {
NMessageProvider: typeof import('naive-ui')['NMessageProvider']
NPopover: typeof import('naive-ui')['NPopover']
NScrollbar: typeof import('naive-ui')['NScrollbar']
- NSelect: typeof import('naive-ui')['NSelect']
NSlider: typeof import('naive-ui')['NSlider']
+ NSwitch: typeof import('naive-ui')['NSwitch']
NTooltip: typeof import('naive-ui')['NTooltip']
PlayBottom: typeof import('./src/components/common/PlayBottom.vue')['default']
PlayListsItem: typeof import('./src/components/common/PlayListsItem.vue')['default']
diff --git a/electron/preload.js b/electron/preload.js
index 531b338..aa27375 100644
--- a/electron/preload.js
+++ b/electron/preload.js
@@ -6,4 +6,20 @@ contextBridge.exposeInMainWorld('electronAPI', {
close: () => ipcRenderer.send('close-window'),
dragStart: (data) => ipcRenderer.send('drag-start', data),
miniTray: () => ipcRenderer.send('mini-tray'),
-})
\ No newline at end of file
+ restart: () => ipcRenderer.send('restart'),
+})
+
+const electronHandler = {
+ ipcRenderer: {
+ setStoreValue: (key, value) => {
+ ipcRenderer.send("setStore", key, value)
+ },
+
+ getStoreValue(key) {
+ const resp = ipcRenderer.sendSync("getStore", key)
+ return resp
+ },
+ }
+}
+
+contextBridge.exposeInMainWorld('electron', electronHandler)
\ No newline at end of file
diff --git a/electron/set.json b/electron/set.json
new file mode 100644
index 0000000..851b12a
--- /dev/null
+++ b/electron/set.json
@@ -0,0 +1,5 @@
+{
+ "version": "0.0.1",
+ "isProxy": false,
+ "author": "alger"
+}
diff --git a/package.json b/package.json
index 5f45987..5398666 100644
--- a/package.json
+++ b/package.json
@@ -19,6 +19,7 @@
"@vueuse/core": "^10.7.1",
"autoprefixer": "^9.8.6",
"axios": "^0.21.1",
+ "electron-store": "^8.1.0",
"lodash": "^4.17.21",
"naive-ui": "^2.34.4",
"postcss": "^7.0.36",
diff --git a/src/App.vue b/src/App.vue
index 9125e82..66ba4c7 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -11,15 +11,20 @@
\ No newline at end of file