import { ChatConverseInfo, fetchConverseInfo } from '../model/converse'; import { fetchUserInfo, UserBaseInfo } from '../model/user'; import { queryClient } from './index'; function buildCacheFactory( scope: string, fetcher: (id: string) => Promise ) { return async (id: string): Promise => { const data = await queryClient.fetchQuery([scope, id], () => fetcher(id)); return data; }; } /** * 获取缓存的用户信息 */ export const getCachedUserInfo = buildCacheFactory( 'user', fetchUserInfo ); export const getCachedConverseInfo = buildCacheFactory( 'converse', fetchConverseInfo );