45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
import { defineStore } from "pinia";
|
||
import { jsFindByIdApi } from "@/api/base/jsApi";
|
||
import { xkkclxFindAllApi } from "@/api/base/xkApi";
|
||
|
||
interface CommonState {
|
||
data: any;
|
||
}
|
||
|
||
export const useCommonStore = defineStore({
|
||
id: "app-common",
|
||
state: (): CommonState => ({
|
||
// 字典数据
|
||
data: {}
|
||
}),
|
||
getters: {
|
||
getData(): any {
|
||
return this.data;
|
||
}
|
||
},
|
||
actions: {
|
||
setData(data: any) {
|
||
this.data = data;
|
||
},
|
||
// 根据教师ID获取教师信息(带缓存机制)
|
||
async getJsById(params: any): Promise<any> {
|
||
if (!this.data.js || !this.data.js[params.id]) {
|
||
this.data.js = this.data.js || {};
|
||
this.data.js[params.id] = await jsFindByIdApi(params);
|
||
}
|
||
return Promise.resolve(this.data.js[params.id]);
|
||
},
|
||
async getAllXkkcLx() : Promise<any> {
|
||
if (!this.data.xkkcLx) {
|
||
this.data.xkkcLx = await xkkclxFindAllApi();
|
||
}
|
||
return Promise.resolve(this.data.xkkcLx);
|
||
},
|
||
},
|
||
persist: {
|
||
enabled: true,
|
||
detached: true,
|
||
H5Storage: localStorage
|
||
},
|
||
});
|