UNPKG

@neosjs/cli

Version:

Neos(奈欧斯)是一个帮助开发者快速地创建 Vue3 应用并自动配置项目编译的脚手架

47 lines (44 loc) 1.36 kB
import { request, requestAll, type IRequestConfig } from '@neosjs/request'; import { merge } from 'lodash-es'; const controller = new AbortController(); /** * useRequest * @param url <String> * @param config <Object> * @returns Promise */ export const useRequest = async (url: string | IRequestConfig, params?: any, config?: IRequestConfig) => { try { if (!navigator.onLine) { return Promise.reject(new Error('网络异常,请检查网络')); } const { VITE_API_URL } = import.meta.env; const options = merge( { baseURL: VITE_API_URL, // 这里可以配置一些公共的配置 cache: false, // 禁止接口缓存 retry: 2, // 重试两次 headers: { client: 'web', }, withCredentials: true, signal: controller.signal, }, config // 接口调用处传来的配置 ); options.params = params; const { data } = await request(url, options); if (data.code === 0 ) { return data } else { return Promise.reject(data || '请求异常'); } } catch (error: any) { return Promise.reject({ code: error.errCode, message: error?.errMsg || '', }); } }; export const useRequestAll = (iterable: Fn[]) => requestAll(iterable);