import type { ErrorMessageMode } from '@vben/types' export interface ContextOptions { errorFunction: AnyFunction msgFunction: AnyFunction errorModalFunction: AnyFunction noticeFunction: AnyFunction getTokenFunction: () => unknown unauthorizedFunction: (msg?: string) => void timeoutFunction: () => void handleErrorFunction: (message?: string, mode?: ErrorMessageMode) => void apiUrl?: string } export let context: ContextOptions = { getTokenFunction: () => undefined, unauthorizedFunction: () => {}, errorFunction: () => {}, msgFunction: () => {}, noticeFunction: () => {}, errorModalFunction: () => {}, handleErrorFunction: () => {}, timeoutFunction: () => {}, apiUrl: '', } export const initRequest = (params: Partial) => { context = { ...context, ...params } } export const setMsg = (func: AnyFunction) => { context.msgFunction = func } export const setNoice = (func: AnyFunction) => { context.noticeFunction = func }