zdg #286
|
@ -280,14 +280,9 @@ function handleAll() {
|
|||
})
|
||||
// 用于监听-状态管理变化-同步所有窗口
|
||||
ipcMain.handle('pinia-state-change', (e, storeName, jsonStr) => {
|
||||
console.log('pinia-state-change-1', storeName, jsonStr)
|
||||
|
||||
for(const curWin of BrowserWindow.getAllWindows()){
|
||||
const id = curWin.webContents.id
|
||||
const bool = id !== e.sender.id && !curWin.isDestroyed()
|
||||
if (id === e.sender.id) {
|
||||
console.log('pinia-state-change-2', 'windows-send', curWin.type)
|
||||
}
|
||||
if (bool) { // 除了消息发送窗口和销毁的窗口 其他都发送
|
||||
curWin.webContents.send('pinia-state-set', storeName, jsonStr)
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ function stateSyncWatch(storeName, newState) {
|
|||
const diffData = findDifferences(oldState, newState)
|
||||
if(!_.keys(diffData).length) return // 没有变化就终止执行
|
||||
// 数据处理: 找出差异
|
||||
console.log('state-change-diffData', diffData)
|
||||
// console.log('state-change-diffData', diffData)
|
||||
try {
|
||||
let pinaValue = {} // store pina状态管理需要的数据格式
|
||||
// 数据转换处理
|
||||
|
@ -116,7 +116,7 @@ function stateSyncInit(wid, store) {
|
|||
function sessionWatch(store) {
|
||||
const unsubscribe = sessionStore.onDidAnyChange((newV, oldV) => {
|
||||
if (newV !== oldV) {
|
||||
console.log('session-change', newV, oldV)
|
||||
// console.log('session-change', newV, oldV)
|
||||
// 通知主线程更新
|
||||
// ipcRenderer?.invoke('pinia-state-change', storeName, jsonStr)
|
||||
}
|
||||
|
@ -129,7 +129,7 @@ function stateChange(store) {
|
|||
const storeName = store.$id
|
||||
ipcRenderer?.on('pinia-state-set', (e, sName, jsonStr) => {
|
||||
if (sName == storeName) { // 更新对应数据
|
||||
console.log('state-set', jsonStr, sName)
|
||||
// console.log('state-set', jsonStr, sName)
|
||||
const curJson = circularSafeStringify(store.$state) // 当前数据
|
||||
const isUp = curJson != jsonStr // 不同的时候才写入,不然会导致触发数据变化监听,导致死循环
|
||||
if (!isUp) return
|
||||
|
|
Loading…
Reference in New Issue