LaiTool/src/stores/software.ts
2024-09-04 19:49:20 +08:00

76 lines
2.2 KiB
TypeScript

import { defineStore } from 'pinia'
// 系统相关设置
export const useSoftwareStore = defineStore('software', {
state: () => ({
spin: {
spinning: false,
tip: '加载中...'
},
backTask: {
queryData: {
bookId: undefined,
bookTaskId: undefined,
taskName: undefined,
taskType: undefined,
taskStatus: undefined,
taskErrorMessage: undefined,
}, // 查询传递的数据
taskData: [], // 后台任务数据
},
softWare: {
theme: 'light', // 系统主题,亮或是暗
reverse_display_show: false, // 一键反推界面显示(简单的表格模式还是表格任务模式)
reverse_show_book_striped: false, // 是否显示斑马纹(反推界面)
reverse_data_table_size: 'small' // 反推界面表格大小
},
show_logger: false, // 是否显示日志
componentSize: [], // 组件尺寸(通用的选项)
SoftColor: null // 按钮颜色
}),
getters: {
// 获取一键反推界面显示数据
GetReverseDispalayShow(state) {
return state.softWare.reverse_display_show
}
},
actions: {
// 设置一键反推界面显示数据
SetReverseDispalayShow(value) {
this.softWare.reverse_display_show = value
},
// 设置反推界面时候小说信息显示斑马纹
SetReverseBookStripedShow(value) {
this.softWare.reverse_show_book_striped = value
},
// 修改软件主题
SetSoftware(value) {
this.softWare = Object.assign(this.softWare, value)
},
// 获取组件尺寸(判断当前是不是存在,不存在的话到主线程拿)
async GetComponentSize() {
debugger
if (this.componentSize.length == 0) {
//@ts-ignore
let res = await window.setting.GetComponentSize()
this.componentSize = res.data
}
return this.componentSize
},
//#region 保存到数据库的操作
// 将当前的software数据保存到数据库中
async SaveSoftware() {
// 保存数据
// @ts-ignore
return await window.setting.SaveSoftWareSetting(JSON.parse(JSON.stringify(this.softWare)))
}
//#endregion
}
})