This commit is contained in:
2024-11-05 11:43:27 +08:00
parent 7f8aeebb1e
commit 64ae879aee
4 changed files with 110 additions and 113 deletions

View File

@@ -1,4 +1,4 @@
import type { Dict } from './../../api/interface/index';
import type { Dict } from './../../api/interface/index'
import { defineStore } from 'pinia'
import piniaPersistConfig from '@/stores/helper/persist'
import { DICT_STORE_KEY } from '@/stores/constant'
@@ -6,37 +6,25 @@ import { DICT_STORE_KEY } from '@/stores/constant'
//import dictData from '@/api/system/dictData'
import { getDictList } from '@/api/user/login.ts'
// 初始值设为空数组
let dictData: Dict[] = [];
async function fetchDictData() {
try {
const response = await getDictList();
dictData = response.data as unknown as Dict[];
console.log('Fetched dictionary data:', dictData);
} catch (error) {
console.error('Failed to fetch dictionary data:', error);
}
}
fetchDictData();
export const useDictStore = defineStore({
id: DICT_STORE_KEY,
state: () => ({
dictData,
}),
getters: {},
actions: {
// 获取字典数据数组,如果为空则返回空数组
getDictData(code: string) {
const dict = this.dictData.find(item => item.code === code )
return dict?.children || [];
id: DICT_STORE_KEY,
state: () => ({
dictData: [],
}),
getters: {},
actions: {
// 获取字典数据数组,如果为空则返回空数组
getDictData(code: string) {
if (!this.dictData.length) {
return []
}
const dict = this.dictData.find(item => item.code === code)
return dict?.children || []
},
// 初始化获取全部字典数据并缓存
async initDictData(initData: Dict[]) {
this.dictData = initData
},
},
// 初始化获取全部字典数据并缓存
async initDictData() {
await fetchDictData();
},
},
persist: piniaPersistConfig(DICT_STORE_KEY),
persist: piniaPersistConfig(DICT_STORE_KEY),
})