43 lines
828 B
TypeScript
Raw Normal View History

2025-08-27 21:02:29 +08:00
import { defineStore } from "pinia";
import { dicApi } from "@/api/system/dic";
interface DicState {
data: any;
}
export const useDicStore = defineStore({
id: "app-dic",
state: (): DicState => ({
// 字典数据
data: {}
}),
getters: {
getData(): any {
return this.data;
}
},
actions: {
2025-10-14 23:03:50 +08:00
cleanData() {
this.data = {};
2025-10-22 12:20:00 +08:00
this.$reset();
2025-10-14 23:03:50 +08:00
},
2025-08-27 21:02:29 +08:00
setData(data: any) {
this.data = data;
},
async findByPid(params: any): Promise<any> {
if (!params || !params.pid) {
return Promise.resolve();
}
if (!this.data[params.pid]) {
this.data[params.pid] = await dicApi(params);
}
return Promise.resolve(this.data[params.pid]);
},
},
persist: {
enabled: true,
detached: true,
H5Storage: localStorage
},
});