import { BaseQueryFn, FetchArgs, FetchBaseQueryError, FetchBaseQueryMeta } from '@reduxjs/toolkit/query/react' import type { ResponseBase } from '@/types' type TheBaseQuery = BaseQueryFn< string | FetchArgs, unknown, FetchBaseQueryError, // eslint-disable-next-line @typescript-eslint/ban-types {}, FetchBaseQueryMeta > export const wrapBaseQuery: (baseQuery: TheBaseQuery) => TheBaseQuery = baseQuery => async (args, api, extraOptions) => { const result = await baseQuery(args, api, extraOptions) if (result.error) return result const data = result.data as ResponseBase if (data.result != 100) { return { error: { result: data.result, status: 'CUSTOM_ERROR', error: `${data.message || '服务器异常,请稍后重试'}` } } } return { isSuccess: true, data: result.data } }