import { defineStore } from "pinia"; import { jsFindByIdApi } from "@/api/base/jsApi"; import { xkkclxFindAllApi, getXkkcDetailByIdApi } 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 { 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 { if (!this.data.xkkcLx) { this.data.xkkcLx = await xkkclxFindAllApi(); } return Promise.resolve(this.data.xkkcLx); }, async getXkkcDetailByIdApi(id: string) : Promise { if (!this.data.xkkc || !this.data.xkkc[id]) { this.data.xkkc = this.data.xkkc || {}; const res = await getXkkcDetailByIdApi(id); console.log(res); } return Promise.resolve(this.data.xkkc[id]); }, }, persist: { enabled: true, detached: true, H5Storage: localStorage }, });