mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 23:23:55 +08:00
67 lines
1.4 KiB
TypeScript
67 lines
1.4 KiB
TypeScript
import type { PublicConfig } from '@/api/auth'
|
|
import { getPublicConfig } from '@/api/auth'
|
|
import { defineStore } from 'pinia'
|
|
import { ref } from 'vue'
|
|
|
|
// 初始化状态
|
|
const initialConfigState: PublicConfig = {
|
|
enableMobileRegister: false,
|
|
version: '',
|
|
year: '',
|
|
allowUserRegister: false,
|
|
mobileAreaList: [],
|
|
beianIcpNum: '',
|
|
beianGaNum: '',
|
|
sm2PublicKey: '',
|
|
name: import.meta.env.VITE_APP_TITLE,
|
|
}
|
|
|
|
export const useConfigStore = defineStore(
|
|
'config',
|
|
() => {
|
|
// 定义全局配置
|
|
const config = ref<PublicConfig>({ ...initialConfigState })
|
|
|
|
// 设置配置信息
|
|
const setConfig = (val: PublicConfig) => {
|
|
config.value = val
|
|
}
|
|
|
|
// 获取公共配置
|
|
const fetchPublicConfig = async () => {
|
|
try {
|
|
const configData = await getPublicConfig()
|
|
console.log(configData)
|
|
|
|
setConfig(configData)
|
|
return configData
|
|
}
|
|
catch (error) {
|
|
console.error('获取公共配置失败:', error)
|
|
throw error
|
|
}
|
|
}
|
|
|
|
// 重置配置
|
|
const resetConfig = () => {
|
|
config.value = { ...initialConfigState }
|
|
}
|
|
|
|
return {
|
|
config,
|
|
setConfig,
|
|
fetchPublicConfig,
|
|
resetConfig,
|
|
}
|
|
},
|
|
{
|
|
persist: {
|
|
key: 'config',
|
|
serializer: {
|
|
serialize: state => JSON.stringify(state.config),
|
|
deserialize: value => ({ config: JSON.parse(value) }),
|
|
},
|
|
},
|
|
},
|
|
)
|