diff --git a/code/web/task_schedule/src/utils/api/loginRequest.ts b/code/web/task_schedule/src/utils/api/loginRequest.ts new file mode 100644 index 0000000..25a1be1 --- /dev/null +++ b/code/web/task_schedule/src/utils/api/loginRequest.ts @@ -0,0 +1,64 @@ +/* + * @Author: Kane + * @Date: 2023-06-12 14:48:55 + * @LastEditors: Kane + * @FilePath: /task_schedule/src/utils/api/loginRequest.ts + * @Description: + * + * Copyright (c) ${2022} by Kane, All Rights Reserved. + */ +import axios, { type AxiosInstance } from "axios"; + +const loginInstance: AxiosInstance = axios.create( + { + baseURL: "", + timeout: 10000, + } +); + +// 拦截器 + +// 登录用的请求,不需要加上token。 +loginInstance.interceptors.request.use( + /** + * 请求拦截方法,用于对请求参数和内容进行预处理。 + * 因为是登录请求,所以不需要加入token。 + * @param config axios传递的配置对象 + * @returns 返回给axios的配置对象 + */ + ( config ) => + { + return config; + }, + /** + * 请求拦截,当请求发送失败时调用。 + * @param reason axios 传递的对象 + * @returns 返回一个Promise对象,提供给调用者。 + */ + async ( reason ) => + { + return await Promise.reject( reason ); + }); + +// 响应拦截器 +loginInstance.interceptors.response.use( + /** + * 响应成功后调用,用于对响应结果进行预处理 + * @param response axios传递的响应结果 + * @returns 返回预处理后的响应结果,这里返回的结果,会传递给用户用户提供的响应处理结果方法。 + */ + ( response ) => + { + return response; + }, + /** + * 请求调用结果不为2xx时被调用。用于对错误进行预处理。 + * @param error axios传递的错误内容。 + * @returns 返回预处理后的错误信息对象,会传递给用户提供的相应处理方法。 + */ + async ( error ) => + { + return await Promise.reject( error ); + }); + +export { loginInstance as instance }; diff --git a/code/web/task_schedule/src/utils/api/request.ts b/code/web/task_schedule/src/utils/api/request.ts index 9113c06..34af21c 100644 --- a/code/web/task_schedule/src/utils/api/request.ts +++ b/code/web/task_schedule/src/utils/api/request.ts @@ -19,8 +19,15 @@ const service: AxiosInstance = axios.create( // 请求拦截 service.interceptors.request.use( + /** + * 请求拦截器,在此加入token + * @param config 配置对象,在此加入token。 + * @returns 返回修改完的配置对象 + */ ( config ) => { + config.headers.token = "123"; + return config; }, async ( error ) =>