diff --git a/frontend/src/stores/modules/dict.ts b/frontend/src/stores/modules/dict.ts index 57cfd03..09fb546 100644 --- a/frontend/src/stores/modules/dict.ts +++ b/frontend/src/stores/modules/dict.ts @@ -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), }) diff --git a/frontend/src/views/login/components/LoginForm.vue b/frontend/src/views/login/components/LoginForm.vue index 7ed7519..7e4e68a 100644 --- a/frontend/src/views/login/components/LoginForm.vue +++ b/frontend/src/views/login/components/LoginForm.vue @@ -1,146 +1,153 @@ - - diff --git a/frontend/src/views/login/index.vue b/frontend/src/views/login/index.vue index 5114f497..14f4bc8 100644 --- a/frontend/src/views/login/index.vue +++ b/frontend/src/views/login/index.vue @@ -20,6 +20,7 @@