/** 默认错误提示文案 */ const DEFAULT_MSG = "未知错误"; /** 网络异常提示文案 */ const NETWORK_MSG = "网络异常,请检查网络是否开启"; /** 暂存相关变量 */ export interface TempStore { defaultErrMsg: string; networkErrMsg: string; axios?: any; } export const _$Temp: TempStore = { defaultErrMsg: DEFAULT_MSG, networkErrMsg: NETWORK_MSG, }; /** * 设置默认的 axios * @param ax axios 实例 */ export function setDefaultAxios(ax: any) { if (ax) { _$Temp.axios = ax; } } /** * 设置默认的错误提示文案 * @param msg 错误提示文案 */ export function setDefaultErrMsg(msg: string) { if (msg) { _$Temp.defaultErrMsg = msg; } } /** * 设置默认的网络异常提示文案 * @param msg 网络异常提示文案 */ export function setNetworkErrMsg(msg: string) { if (msg) { _$Temp.networkErrMsg = msg; } } /** * 检测网络状态 * @returns 网络是否可用 */ export function checkNetwork(): boolean { if (typeof navigator === "undefined") { return true; } if (navigator.onLine === false) { return false; } const _navigator = navigator as any; const connection = _navigator.connection || _navigator.mozConnection || _navigator.webkitConnection; if (!connection) { return true; } const noNetwork = connection?.type === "none" || connection.downlink === 0 || connection.effectiveType === null; return !noNetwork; } /** * 对象转 FormData 格式 * @param data 对象数据 * @returns FormData 对象 */ export function objToFormData(data: Record): FormData { if (data instanceof FormData) { return data; } const formData = new FormData(); Object.keys(data)?.forEach((key) => { formData.set(key, data[key]); }); return formData; } /** * FormData 转对象 * @param formData FormData 对象 * @returns 普通对象 */ export function formDataToObj(formData: FormData | any): Record { if (!(formData instanceof FormData)) { return formData; } const tempData: Record = {}; for (const [key, value] of formData.entries()) { tempData[key] = value; } return tempData; }