You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
2.4 KiB
112 lines
2.4 KiB
import { defineStore } from 'pinia'
|
|
import { ref } from 'vue'
|
|
|
|
import { syncSendCmd } from '@/apis/system'
|
|
|
|
export const useSystemStore = defineStore('system', () => {
|
|
const websocketConnected = ref(true)
|
|
const systemUser = ref({
|
|
username: '',
|
|
})
|
|
|
|
const loginForm = ref({
|
|
name: import.meta.env.FT_NODE_ENV !== 'prod' ? 'admin' : '',
|
|
pwd: import.meta.env.FT_NODE_ENV !== 'prod' ? '9973' : '',
|
|
})
|
|
|
|
const languages = [{
|
|
name: '中文',
|
|
value: 'zh-cn',
|
|
}, {
|
|
name: 'English',
|
|
value: 'en',
|
|
}]
|
|
|
|
const menuExpand = true
|
|
const isDebug = import.meta.env.FT_NODE_ENV !== 'prod'
|
|
const streamVisible = false
|
|
const systemList = ref([])
|
|
const loading = ref(false)
|
|
|
|
const updateLoading = (loadVal: boolean) => {
|
|
loading.value = loadVal
|
|
// setTimeout(() => {
|
|
// loading.value = false
|
|
// }, 1500)
|
|
}
|
|
|
|
const updateConnected = (isConnected: boolean) => {
|
|
websocketConnected.value = isConnected
|
|
}
|
|
|
|
/**
|
|
* @function subscribeDisinfectEvent
|
|
* @desc 订阅消毒状态变更事件
|
|
*/
|
|
const subscribeDisinfectEvent = async () => {
|
|
// 发起订阅
|
|
const subParams = {
|
|
className: 'DisinfectionCtrlServiceExt',
|
|
fnName: 'startStateReport',
|
|
}
|
|
syncSendCmd(subParams)
|
|
}
|
|
|
|
/**
|
|
* @function subscribeAddLiquidEvent
|
|
* @desc 加液状态变更事件
|
|
*/
|
|
const subscribeAddLiquidEvent = async () => {
|
|
// 发起订阅
|
|
const subParams = {
|
|
className: 'AddLiquidService',
|
|
fnName: 'startStateReport',
|
|
}
|
|
syncSendCmd(subParams)
|
|
}
|
|
|
|
/**
|
|
* @function subscribeDrainLiquidEvent
|
|
* @desc 排液状态变更事件
|
|
*/
|
|
const subscribeDrainLiquidEvent = async () => {
|
|
// 发起订阅
|
|
const subParams = {
|
|
className: 'DrainLiquidService',
|
|
fnName: 'startStateReport',
|
|
}
|
|
syncSendCmd(subParams)
|
|
}
|
|
|
|
/**
|
|
* @function subscribeSealEvent
|
|
* @desc 密封状态变更事件
|
|
*/
|
|
const subscribeSealEvent = async () => {
|
|
// 执行订阅
|
|
const subParams = {
|
|
className: 'AirLeakDetectTest',
|
|
fnName: 'startStateReport',
|
|
}
|
|
syncSendCmd(subParams)
|
|
}
|
|
|
|
return {
|
|
systemUser,
|
|
loginForm,
|
|
languages,
|
|
menuExpand,
|
|
isDebug,
|
|
streamVisible,
|
|
systemList,
|
|
loading,
|
|
websocketConnected,
|
|
|
|
updateLoading,
|
|
updateConnected,
|
|
subscribeDisinfectEvent,
|
|
subscribeAddLiquidEvent,
|
|
subscribeDrainLiquidEvent,
|
|
subscribeSealEvent,
|
|
}
|
|
})
|