import { fetchEnterpriseInfo } from '@/api/all/login'; interface EnterpriseInfo { id: number; name: string; update_name_quota: number; used_update_name_count: number; sub_account_quota: number; used_sub_account_count: number; } interface EnterpriseState { enterpriseInfo: EnterpriseInfo | null; } export const useEnterpriseStore = defineStore('enterprise', { state: (): EnterpriseState => ({ enterpriseInfo: null, }), actions: { setEnterpriseInfo(enterpriseInfo: EnterpriseInfo) { console.log('setEnterpriseInfo', enterpriseInfo); this.enterpriseInfo = enterpriseInfo; }, setEnterpriseName(name: string) { if (this.enterpriseInfo) { this.enterpriseInfo.name = name; } }, incUsedUpdateNameCount() { if (this.enterpriseInfo) { this.enterpriseInfo.used_update_name_count++; } }, incUsedSubAccountCount() { if (this.enterpriseInfo) { this.enterpriseInfo.used_sub_account_count++; } }, getEnterpriseInfo(): EnterpriseInfo | null { return this.enterpriseInfo; }, async updateEnterpriseInfo() { const res = await fetchEnterpriseInfo(this.enterpriseInfo!.id); const { code, data } = res; if (code === 200) { this.setEnterpriseInfo(data); } }, }, });