字典缓存
This commit is contained in:
@@ -9,4 +9,6 @@ export const ADMIN_INFO = 'adminInfo'
|
||||
export const STORE_CONFIG = 'storeConfig'
|
||||
|
||||
// 后台标签页
|
||||
export const STORE_TAB_VIEW_CONFIG = 'storeTabViewConfig'
|
||||
export const STORE_TAB_VIEW_CONFIG = 'storeTabViewConfig'
|
||||
// 字典
|
||||
export const DICT_DATA = 'dictData'
|
||||
30
src/stores/dictData.ts
Normal file
30
src/stores/dictData.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { DICT_DATA } from '@/stores/constant/cacheKey'
|
||||
import type { DictData, BasicDictData } from '@/stores/interface/index'
|
||||
import { reactive } from 'vue'
|
||||
|
||||
export const useDictData = defineStore(
|
||||
'dictData',
|
||||
() => {
|
||||
const state: DictData = reactive({
|
||||
basic: [],
|
||||
// 其他接口获取的字典,比如区域
|
||||
})
|
||||
const setBasicData = (data: BasicDictData[]) => {
|
||||
state.basic = data
|
||||
}
|
||||
const getBasicData = (code: string) => {
|
||||
return state.basic.filter(item => item.code === code)[0]?.children || []
|
||||
}
|
||||
return {
|
||||
state,
|
||||
setBasicData,
|
||||
getBasicData
|
||||
}
|
||||
},
|
||||
{
|
||||
persist: {
|
||||
key: DICT_DATA
|
||||
}
|
||||
}
|
||||
)
|
||||
@@ -41,5 +41,18 @@ export interface AdminInfo {
|
||||
last_login_time: string
|
||||
token: string
|
||||
refresh_token: string
|
||||
super:boolean
|
||||
super: boolean
|
||||
}
|
||||
|
||||
export interface DictData {
|
||||
basic: BasicDictData[]
|
||||
}
|
||||
|
||||
export interface BasicDictData {
|
||||
name: string
|
||||
id: string
|
||||
code: string
|
||||
value: null
|
||||
sort: number | null
|
||||
children?: BasicDictData[]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user