mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-20 18:54:09 +00:00
@@ -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',
|
||||||
|
Reference in New Issue
Block a user