* sync collection

* remove lock

* fix: ts
This commit is contained in:
Archer
2025-03-26 00:07:12 +08:00
committed by archer
parent 4871a6980f
commit dd2f7bdcfd

View File

@@ -3,7 +3,6 @@ import { create, devtools, persist, immer } from '@fastgpt/web/common/zustand';
import type { UserUpdateParams } from '@/types/user'; import type { UserUpdateParams } from '@/types/user';
import { useSystemStore } from '@/web/common/system/useSystemStore'; import { useSystemStore } from '@/web/common/system/useSystemStore';
import { getTokenLogin, putUserInfo } from '@/web/support/user/api'; import { getTokenLogin, putUserInfo } from '@/web/support/user/api';
import type { MemberGroupListType } from '@fastgpt/global/support/permission/memberGroup/type';
import type { OrgType } from '@fastgpt/global/support/user/team/org/type'; import type { OrgType } from '@fastgpt/global/support/user/team/org/type';
import type { UserType } from '@fastgpt/global/support/user/type.d'; import type { UserType } from '@fastgpt/global/support/user/type.d';
import type { FeTeamPlanStatusType } from '@fastgpt/global/support/wallet/sub/type'; import type { FeTeamPlanStatusType } from '@fastgpt/global/support/wallet/sub/type';
@@ -26,10 +25,6 @@ type State = {
teamPlanStatus: FeTeamPlanStatusType | null; teamPlanStatus: FeTeamPlanStatusType | null;
initTeamPlanStatus: () => Promise<any>; initTeamPlanStatus: () => Promise<any>;
teamMemberGroups: MemberGroupListType;
myGroups: MemberGroupListType;
loadAndGetGroups: (init?: boolean) => Promise<MemberGroupListType>;
teamOrgs: OrgType[]; teamOrgs: OrgType[];
}; };
@@ -102,25 +97,7 @@ export const useUserStore = create<State>()(
}); });
}, },
teamMemberGroups: [], teamMemberGroups: [],
teamOrgs: [], teamOrgs: []
myGroups: [],
loadAndGetGroups: async (init = false) => {
if (!useSystemStore.getState()?.feConfigs?.isPlus) return [];
const randomRefresh = Math.random() > 0.7;
if (!randomRefresh && !init && get().teamMemberGroups.length)
return Promise.resolve(get().teamMemberGroups);
const res = await getGroupList();
set((state) => {
state.teamMemberGroups = res;
state.myGroups = res.filter((item) =>
item.members.map((i) => String(i.tmbId)).includes(String(state.userInfo?.team?.tmbId))
);
});
return res;
}
})), })),
{ {
name: 'userStore', name: 'userStore',