Perf input guide (#1557)
* perf: input guide code * perf: input guide ui * Chat input guide api * Update app chat config store * perf: app chat config field * perf: app context * perf: params * fix: ts * perf: filter private config * perf: filter private config * perf: import workflow * perf: limit max tip amount
This commit is contained in:
@@ -3,6 +3,7 @@ import { useMutation } from '@tanstack/react-query';
|
||||
import type { UseMutationOptions } from '@tanstack/react-query';
|
||||
import { getErrText } from '@fastgpt/global/common/error/utils';
|
||||
import { useTranslation } from 'next-i18next';
|
||||
import { useRequest as ahooksUseRequest } from 'ahooks';
|
||||
|
||||
interface Props extends UseMutationOptions<any, any, any, any> {
|
||||
successToast?: string | null;
|
||||
@@ -39,3 +40,50 @@ export const useRequest = ({ successToast, errorToast, onSuccess, onError, ...pr
|
||||
|
||||
return mutation;
|
||||
};
|
||||
|
||||
type UseRequestFunProps<TData, TParams extends any[]> = Parameters<
|
||||
typeof ahooksUseRequest<TData, TParams>
|
||||
>;
|
||||
export const useRequest2 = <TData, TParams extends any[]>(
|
||||
server: UseRequestFunProps<TData, TParams>[0],
|
||||
options: UseRequestFunProps<TData, TParams>[1] & {
|
||||
errorToast?: string;
|
||||
successToast?: string;
|
||||
} = {},
|
||||
plugin?: UseRequestFunProps<TData, TParams>[2]
|
||||
) => {
|
||||
const { t } = useTranslation();
|
||||
const { errorToast, successToast, ...rest } = options || {};
|
||||
const { toast } = useToast();
|
||||
|
||||
const res = ahooksUseRequest<TData, TParams>(
|
||||
server,
|
||||
{
|
||||
...rest,
|
||||
onError: (err, params) => {
|
||||
rest?.onError?.(err, params);
|
||||
if (errorToast !== undefined) {
|
||||
const errText = t(getErrText(err, errorToast || ''));
|
||||
if (errText) {
|
||||
toast({
|
||||
title: errText,
|
||||
status: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
onSuccess: (res, params) => {
|
||||
rest?.onSuccess?.(res, params);
|
||||
if (successToast) {
|
||||
toast({
|
||||
title: successToast,
|
||||
status: 'success'
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
plugin
|
||||
);
|
||||
|
||||
return res;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user