Files
log-lottery/src/store/serverConfig.ts

68 lines
1.9 KiB
TypeScript

import type { ServerType } from '@/types/storeType'
import { defineStore } from 'pinia'
import { defaultServerHostList } from './data'
export const useServerConfig = defineStore('server', {
state() {
return {
serverConfig: {
serverList: defaultServerHostList,
currentServer: defaultServerHostList[0],
serverStatus: false,
},
}
},
getters: {
// 获取服务器列表
getServerList(state) {
return state.serverConfig.serverList
},
// 获取当前服务器
getCurrentServer(state) {
return state.serverConfig.currentServer
},
// 获取服务器状态
getServerStatus(state) {
return state.serverConfig.serverStatus
},
},
actions: {
// 设置服务器列表地址
updateServerList(userServer: ServerType) {
this.serverConfig.serverList.map((item) => {
if (item.id === userServer.id) {
item.host = userServer.host
}
return item
})
},
// 设置当前服务器
setCurrentServer(userServer: ServerType) {
this.serverConfig.currentServer = userServer
},
// 设置服务器状态
setServerStatus(status: boolean) {
this.serverConfig.serverStatus = status
},
// 重置所有配置
resetDefault() {
this.serverConfig = {
serverList: defaultServerHostList,
currentServer: defaultServerHostList[0],
serverStatus: false,
}
},
},
persist: {
enabled: true,
strategies: [
{
// 如果要存储在localStorage中
storage: localStorage,
key: 'serverConfig',
},
],
},
})