在login的时候把所有写入全局store,
console.log('----------------从数据库获取字典--------------------'); const appStore = useAppStore(); const dataDictionaryServiceProxy = new DataDictionaryServiceProxy(); const detailInput = new PagingDataDictionaryDetailInput(); detailInput.dataDictionaryId = '3a0cd740-f56e-db56-2a4e-00c1e9fb6880'; const obj = (await dataDictionaryServiceProxy.pageDetail(detailInput)); console.log(obj); const employees = new Map(); for (var dic of obj.items) { console.log(dic.code + ':' + dic.displayText); employees.set(dic.code, dic.displayText); } appStore.setDictionary(employees);
取值
export function dataDictGetText(code) { const appStore = useAppStore(); const dict = appStore.getDictionary; console.log(dict); if(dict!=null) return dict.get(code+''); }
pinia 状态管理,在user.ts
interface AppState { //字典数据 dataDictionary: Map<string, string>; } let timeId: TimeoutHandle; export const useAppStore = defineStore({ id: 'app', state: (): AppState => ({ dataDictionary: undefined, }), getters: { getDictionary(): Map<string,string> { return this.dataDictionary || new Map(JSON.parse(localStorage.getItem('app_dict'))); }, actions: { setDictionary(dict): void {
this.dataDictionary = dict;
localStorage.setItem('app_dict', JSON.stringify([...dict]));
},
浏览器刷新按钮,store的状态又变成初始值了 undefined, 上面用了localStorage来保存map
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
2018-08-09 Swagger 路径过滤 -PreSerializeFilters