Skip to content

Commit f454cfc

Browse files
committed
electron@15
1 parent f9ad80d commit f454cfc

File tree

6 files changed

+2398
-1860
lines changed

6 files changed

+2398
-1860
lines changed

main.js

Lines changed: 19 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
/* eslint-disable no-new */
2-
const { ipcRenderer } = require('electron')
3-
const { v4: uuidv4 } = require('uuid')
4-
const gql = require('graphql-tag')
2+
const { momentTime, meta, gql, uuidv4, get, query, invoke, send, on: rawOn } = window.app
53

6-
const moment = require('moment')
7-
8-
const meta = require('./package.json')
4+
const ipc = new EventTarget()
5+
const on = (name, callback) => {
6+
rawOn(name)
7+
ipc.addEventListener(name, ({ detail }) => callback(undefined, ...detail))
8+
}
9+
window.addEventListener('electron-ipc', ({ detail: { name, args } }) => ipc.dispatchEvent(new CustomEvent(name, { detail: args })))
910

1011
const Vue = window.Vue
1112

12-
moment.locale('zh-cn')
13-
1413
const updates = [
1514
['1.0.1', '- 修复macOS一些兼容性问题'],
1615
['1.1.0', '- 显示日志'],
@@ -55,15 +54,6 @@ const updates = [
5554
['1.12.0', '- 展示直播间监听状态,设置直播间监听数上限']
5655
].map(([version, message]) => [version, message.split('\n')]).reverse()
5756

58-
const get = key => ipcRenderer.invoke('state', key)
59-
const query = async (document, variableValues) => {
60-
const result = await ipcRenderer.invoke('query', document, variableValues)
61-
if (!result) {
62-
throw new Error('query failed')
63-
}
64-
return result
65-
}
66-
6757
new Vue({
6858
el: '#main',
6959
data: {
@@ -111,14 +101,14 @@ new Vue({
111101
watch: {
112102
interval(value) {
113103
if (value) {
114-
ipcRenderer.invoke('updateInterval', Number(value))
104+
invoke('updateInterval', Number(value))
115105
}
116106
},
117107
nickname(value) {
118-
ipcRenderer.invoke('updateNickname', value)
108+
invoke('updateNickname', value)
119109
},
120110
wsLimit(limit) {
121-
ipcRenderer.invoke('updateWebSocketLimit', limit)
111+
invoke('updateWebSocketLimit', limit)
122112
},
123113
'state.log'(log) {
124114
this.logs.unshift(log)
@@ -156,19 +146,19 @@ new Vue({
156146
this.danmakuWait = false
157147
}, 1000)
158148

159-
ipcRenderer.send('danmaku', this.danmaku)
149+
send('danmaku', this.danmaku)
160150

161151
this.danmaku = ''
162152
}
163153
},
164154
close() {
165155
if (this.uuid) {
166-
ipcRenderer.invoke('updateUUID', this.uuid)
156+
invoke('updateUUID', this.uuid)
167157
}
168-
ipcRenderer.invoke('close')
158+
invoke('close')
169159
},
170160
restart() {
171-
ipcRenderer.invoke('restart')
161+
invoke('restart')
172162
},
173163
randomUUID() {
174164
this.uuid = uuidv4()
@@ -229,8 +219,8 @@ new Vue({
229219
const blank = Array(300).fill(-100).map((bottom, i) => ({ bottom, i }))
230220
const showing = this.displayDanmaku.danmakuPack.filter((_, i) => this.displayDanmaku.showingPack[i])
231221
showing.flat().forEach(({ name, text, timestamp, bottom, i }) => {
232-
const momentTime = moment(timestamp)
233-
blank[i] = { name, text, absoluteTime: momentTime.local().format(), relativeTime: this.now - timestamp > 1000 * 60 * 60 ? momentTime.calendar() : momentTime.fromNow(), bottom, i }
222+
const { absoluteTime, calendar, fromNow } = momentTime(timestamp)
223+
blank[i] = { name, text, absoluteTime, relativeTime: this.now - timestamp > 1000 * 60 * 60 ? calendar : fromNow, bottom, i }
234224
})
235225
return blank
236226
},
@@ -244,7 +234,7 @@ new Vue({
244234
logs.shift()
245235
this.logs = logs
246236

247-
ipcRenderer.on('stateUpdate', (_events, key, value) => {
237+
on('stateUpdate', (_events, key, value) => {
248238
this.state[key] = value
249239
})
250240

@@ -254,7 +244,7 @@ new Vue({
254244

255245
const interval = () => {
256246
(async () => {
257-
this.uptime = await ipcRenderer.invoke('uptime')
247+
this.uptime = await invoke('uptime')
258248
})()
259249
this.now = Date.now()
260250
return interval
@@ -277,6 +267,6 @@ new Vue({
277267
async mounted() {
278268
document.getElementById('main').style.display = 'block'
279269
await this.$nextTick()
280-
ipcRenderer.invoke('ready')
270+
invoke('ready')
281271
}
282272
})

0 commit comments

Comments
 (0)