Compare commits

..

No commits in common. "931ed531ab377eee3c74d88005e9febcb3ede374" and "a6bda302af4d7fe43355a991cac165bfdde0e8e1" have entirely different histories.

5 changed files with 21 additions and 45 deletions

View File

@ -3,7 +3,7 @@
*/
const isNode = typeof require !== 'undefined' // 是否支持node函数
const { ipcRenderer } = isNode?require('electron'):{} // app使用
import { sessionStore } from '@/utils/store'
import { sessionStore } from '@/utils/tool'
// const Remote = isNode?require('@electron/remote'):{} // 远程模块
export function shareStorePlugin({store}) {
store.$subscribe((mutation, state) => { // 自动同步
@ -46,7 +46,7 @@ function stateSync(storeName, key, value, state) {
sessionStore.set(keystr, value)
// 通知主线程更新
ipcRenderer?.invoke('pinia-state-change', storeName, jsonStr)
// console.log('======',keystr, jsonStr )
// console.log('======',keystr, data )
} catch (error) {
console.log('state-change-error', error)
}
@ -105,19 +105,17 @@ const filterByKey = (obj, key, value) => {
let res = { data:{}, keystr:'' }
for (let k in obj) {
if (obj.hasOwnProperty(k)) {
const isEqual = JSON.stringify(obj[k]) === JSON.stringify(value) // 值是否相同
const isEqual = JSON.stringify(obj[k]) === JSON.stringify(value) // 值是否相同
if (k === key && isEqual) {
// 如果匹配,则添加到新对象中
res.data[k] = obj[k];
res.keystr = k;
} else {
if (obj[k] !== null && typeof obj[k] === 'object') {
if (obj[k] !== null && typeof obj[k] === 'object') {
// 如果是对象,则递归处理
const {data, keystr} = filterByKey(obj[k], key, value)
if(!!keystr) {
res.data[k] = data
res.keystr = `${k}.${keystr}`
}
res.data[k] = data
res.keystr = keystr ? `${k}.${keystr}`: key
}
}
}

View File

@ -1,25 +0,0 @@
/**
* @description : 存储对象-本地存储 封装工具(渲染器)
* @author : zdg
* @date : 2024-09-03
*/
const isNode = typeof require !== 'undefined' // 是否支持node函数
const Store = isNode?require('electron-store'):null // 持久化存储
// 暴露sessionStore存储对象
export const sessionStore = Store ? new Store({
name: 'session-store', // 存储文件名
fileExtension: 'ini', // 文件后缀名
encryptionKey: 'BvPLmgCC4DSIG0KkTec5' // 数据加密-防止用户直接改配置
}) : {}
// 暴露localStore存储对象
export const localStore = Store ? new Store({
name: 'local-store', // 存储文件名
fileExtension: 'ini', // 文件后缀名
encryptionKey: '6CyoHQmUaPmLzvVsh' // 数据加密-防止用户直接改配置
}) : {}
export default {
sessionStore, localStore
}

View File

@ -12,8 +12,7 @@ const Remote = isNode?require('@electron/remote'):{}
const { ipcRenderer } = isNode?require('electron'):window.electron || {}
const API = isNode?window.api:{} // preload-api
// import { useToolState } from '@/store/modules/tool' // 获取store状态
// const Store = isNode?require('electron-store'):null // 持久化存储
import store from './store'
const Store = isNode?require('electron-store'):null // 持久化存储
// 常用变量
const BaseUrl = isNode?process.env['ELECTRON_RENDERER_URL']+'/#':''
@ -24,13 +23,18 @@ const isDev = isNode?process.env.NODE_ENV !== 'production':''
export const ipcMain = Remote?.ipcMain || {}
// 暴露sessionStore存储对象
export const sessionStore = store.sessionStore
export const sessionStore = Store ? new Store({
name: 'session-store', // 存储文件名
fileExtension: 'ini', // 文件后缀名
encryptionKey: 'BvPLmgCC4DSIG0KkTec5' // 数据加密-防止用户直接改配置
}) : {}
// 暴露localStore存储对象
export const localStore = store.localStore
// 暴露Store存储对象
export const Store = store
export const localStore = Store ? new Store({
name: 'local-store', // 存储文件名
fileExtension: 'ini', // 文件后缀名
encryptionKey: '6CyoHQmUaPmLzvVsh' // 数据加密-防止用户直接改配置
}) : {}
/**
* 获取静态资源开发和生产环境

View File

@ -122,7 +122,6 @@
:book-id="uploadData.textbookId"
@add-success="initReserv"
></reserv>
<!-- <button @click="ipcMsgSend('tool-sphere:close')">测试</button> -->
</template>
<script setup>
import { Check } from '@element-plus/icons-vue'
@ -145,7 +144,7 @@ import { parseCataByNode, creatPPT, asyncLocalFile } from '@/utils/talkFile'
import FileOperBatch from '@/views/prepare/container/file-oper-batch.vue'
import SetHomework from '@/components/set-homework/index.vue'
import outLink from '@/utils/linkConfig'
import { createWindow, ipcMsgSend } from '@/utils/tool'
import { createWindow, sessionStore } from '@/utils/tool'
import { cloneDeep } from 'lodash'
import { delClasswork } from '@/api/teaching/classwork'
import { getSelfReserv, startClass } from '@/api/classManage'

View File

@ -84,10 +84,10 @@ const btnList = [ // 工具栏按钮列表
onMounted(async() => {
if (!electron) return //
// console.log(sessionStore)
// window.test = sessionStore
// window.test1 = toolStore
getClassInfo() // ex3
resetStatus() // -
setTimeout(() => {
resetStatus() // -
}, 200);
})
// ==== ===